object to reset/refresh midi device
Losing a midi device is a major pain in any kind of live situation.
In windows and mac audio software will only see what midi hardware exists when it is first loaded - so if you plug something in after PD was opened it won't be available. It's just some legacy "its always been this way" bs, midi has been around for a very long time. Maybe midi 2.0 takes care of this? Ive had no interest in it
What I do is use a virtual port - in windows loopMidi and on mac digging deep in to the audio/midi settings to check the UAC connection to be on. on both I will rename the virtual ports to something sane like where its meant to go, or come from, or what its meant to do because virtual ports can be misused as they talk bidirectionaly (hardware midi only works in one direction - typically its an Out creating notes, ccs, etc meant to be received to a software programs In)
The magic secret sauce is combining a virtual port with a routing program, on windows Midi-OX because it remembers each instance and their filters, connections - so when I accidentally yank a usb out I can just plug it back in and close/reopen it and the software won't have any problems except maybe a stuck note. on mac midi monitor or midi patchbay it looks like midi monitor refreshes on the fly so you can set it to act as a destination, and then tick the hardware on and off as it shows up (as long as its running before you launch your audio program there's no need to mess with the virtual UAC port either).
This approach could also be done through the shell with python or some automation but it's never been a problem enough for me to look into
ELSE 1.0-0 RC12 with Live Electronics Tutorial Released
Hi, it's been a while, here we go:
RELEASE NOTES:
Hi, it's been almost 8 months without an update and I never took this long!!! So there's a lot of new stuff to cover, because it's not like I've been just sleeping around
The reason for the delay is that I'm trying to pair up with the release cycles of PlugData and we're having trouble syncing up. PlugData 0.9.0 came out recently after a delay of 6 months and we couldn't really sync and pair up then... we had no luck in syncing for a new update now, so now I'm just releasing it up cause enough is enough, and hopefully in the next plugdata release we can sync and offer the same version.
As usual, the development pace is always quite busy and I'm just arbitrarily wrapping things up in the middle of adding more and more things that will just have to wait.
First, I had promised support for double precision. I made changes so we can build for it, but it's not really working yet when I uploaded to deken and tested it. So, next time?
And now for the biggest announcement: - I'm finally and officially releasing a new pack as a submodule, which is a set of abstractions inspired by EuroRack Modules, so I'm thinking of VCV like things but into the Pd paradigm. Some similar stuff has been made for Pd over the years, most notably and famously "Automatonism", but I'm really proud of what I'm offering. I'm not trying to pretend Pd is a modular rack and I'm taking advantage of being in Pd. I'm naming this submodule "Modular EuroRacks Dancing Along" (💩 M.E.R.D.A 💩) and I've been working on it for a year and a half now (amongst many other things I do). PlugData has been offering this for a while now, by the way. Not really fully in sync though.
MERDA modules are polyphonic, thanks to multichannel connections introduced in Pd 0.54! There are 20 modules so far and some are quite high level. I'm offering a PLAITS module based on the Mutable Instruments version. I have a 6-Op Phase Modulation module. A "Gendyn" module which is pretty cool. I'm also including an "extra" module that is not really quite a modular thing at all but fits well called "brane", which was a vanilla patch I first wrote like 15 years ago and is a cool granular live sampler and harmonizer. You'll also find the basics, like oscillators, filters, ADSR envelope and stuff I'm still working on. Lastly, a cool thing is that it has a nice presets system that still needs more work but is doing the job so far.
There are ideas and plans to add hundreds more MERDA modules, let's see when and if I can. People can collaborate and help me and create modules that follow the template by the way
Thanks to Tim Schoen, [play.file~] is now a compiled object instead of an abstraction and it supports MP3, FLAC, WAV, AIF, AAC, OGG & OPUS audio file extensions. A new [sfload] object can import these files into arrays (but still needs lots of more work). There are many other player objects in ELSE that can load and play samples but these don't yet support these new formats (hang in there for the next version update).
Tim also worked on new [pdlink] and [pdlink~] objects, which send control and signal data to/from Pd instances, versions and even forks of Pure Data (it's like [send]/[receive] and [send~]/[receive~], all you need is a symbol, no complicated network or OSC configuration!). And yes, it works via UDP between different computers on the same network. And hell yeah, [pdlink~] has multichannel connections support! By the way, you can also communicate to a [pd~] subprocess. This will be part of ELSE and PlugData of course, and will allow easy communication between PlugData and Pd-Vanilla for instance.
The great pd-lib-build system has been replaced for a 'cmake' build process called 'pd.build' by Pierre Guillot. This was supposed to simplify things. Also, the [sfont~] object was a nightmare to build and with several dependencies that was simply hell to manage, now we have a new and much simpler system and NO DEPENDENCIES AT ALL!!! Some very rare file formats with obscure and seldom sound file extensions may not work though... (and I don't care, most and the 'sane' ones will work). The object now also dumps all preset information with a new message and backwards compatibility broke a bit
I'm now back to offering a modified version of [pdlua] as part of ELSE, which has recently seen major upgrades by Tim to support graphics and signals! This is currently needed in ELSE to provide a new version of [circle] that needed to be rewritten in lua so it'd look the same in PlugData. Ideally I'd hope I could only offer compiled GUI objects, but... things are not ideal
The lua loader works by just loading the ELSE library, no need for anything "else". I'm not providing the actual [pdlua] and [pdluax] objects as they are not necessary, and this is basically the only modification. Since PlugData provides support for externals in lua, if you load ELSE you can make use of stuff made for PlugData with lua without the need to install [pdlua] in Pd-Vanilla.
For next, we're working on a [lua] object that will allow inline scripting and will also work for audio signals (again, wait for the next version)! Also for the next version, I'm saving Ben Wesch's nice 3d oscilloscope made in lua (it'll be called [scope3d~]). There's a lot going on with the lua development, which is very exciting.
As for more actual new objects I'm including, we have [vcf2~] and [damp.osc~]. The first is a complex one pole resonant filter that provides a damping oscillation for a ringing time you can set, the next is an oscillator based on it. There's also the new [velvet~] object, a cool and multichannel velvet noise generator that you can also adjust to morph into white noise.
I wasn't able to add multichannel capabilities to many existing objects in ELSE in this one, just a couple of them ([cosine~] and [pimp~]). Total number of objects that are multichannel aware now are: 92! This is almost a third of the number of audio objects in ELSE. I think that a bit over half might be a reasonably desired target. More multichannel support for existing objects to come in the next releases.
Total number of objects in the ELSE library is now 551!
As for the Live Electronics tutorial, as usual, there are new examples for new objects, and I made a good revision of the advanced filter section, where I added many examples to better explain how [slop~] works, with equivalent [fexpr~] implementations.
Total number of examples in the Live Electronics Tutorial is now 528!
There are more details of course, and breaking changes as usual, but these are the highlights! For a full changelog, check https://github.com/porres/pd-else/releases/tag/v.1.0-rc12 (or below at this post).
As mentioned, unfortunately, ELSE RC12 is not yet fully merged, paired up and 100% synced in PlugData. PlugData is now at version 0.9.1, reaching the 1.0 version soon. Since ELSE is currently so tightly synced to the development of PlugData, the idea is to finally offer a final 1.0 version of ELSE when PlugData 1.0 is out. Hence, it's getting closer than ever Hopefully we will have a 100% synced ELSE/PlugData release when 0.9.2 is out (with a RC 13 maybe?).
Please support me on Patreon https://www.patreon.com/porres
You can follow me on instagram as well if you like... I'm always posting Pd development stuff over there https://www.instagram.com/alexandre.torres.porres/
cheers
ps. Binaries for mac/linux/windows are available via deken. I needed help for raspberry pi
CHANGELOG:
LIBRARY:
Breaking changes:
- [oscope~] renamed to [scope~]
- [plaits~] changed inlet order of modulation inputs and some method/flags name. If a MIDI pitch of 0 or less input is given, it becomes a '0hz'.
- [gbman~] changed signal output range, it is now filtered to remove DC and rescaled to a sane -1 to 1 audio range.
- [dust~] and [dust2~] go now up to the sample rate and become white noise (removed restriction that forced actual impulses, that is, no conscutive non zero values)
- [cmul~] object removed (this was only used in the old conv~ abstraction to try and reduce a bit the terrible CPU load)
- [findfile] object removed (use vanilla's [file which] now that it has been updated in Pd 0.55-0)
- [voices] swapped retrig modes 0 and 1, 'voices' renamed to 'n', now it always changes voice number by default as in [poly] (this was already happening unintentionally as a bug when one voice was already taken). The 'split' mode was removed (just use [route], will you?)
- [voices~] was also affected by changes in [voices] of course, such as 'voices' message being renamed to 'n'.
- [sr~]/[nyquist] changed output loading time to 'init' bang
- [sample~] object was significantly redesigned and lots of stuff changed, new messages and flags, added support for 64-bit audio files (Pd 0.55 in double precision and ELSE compiled for 64 bits is required for this). Info outlet now also outputs values for lenght in ms and bit depth.
- [sfont~] uses now a simpler build system and this might not load very very rare and unusual sound formats.
Enhancements/fixes/other changes:
- builds for double precision is now supposedly supported, by the way, the build system was changed from pd-lib-builder to pd.build by Pierre Guillot.
- [play.file~] is now a compiled object instead of an abstraction thanks to Tim Schoen, and it supports MP3, FLAC, WAV, AIF, AAC, OGG & OPUS file extensions.
- Support for double precision compilation was improved and should be working for all objects (not yet providing binaries and fully tested yet by the way).
- The ELSE binary now loads a modified version of [pdlua], but no [pdlua] and [pdluax] objects are provided.
- added signal to 2nd inlet of [rm~].
- fixed 'glide' message for [mono~].
- fixed [voices] consistency check bug in rightmost outlet and other minor bugs, added flags for 'n', 'steal' and offset.
- [gain~] and [gain2~] changed learn/forget shortcut
- [knob] fixed sending messages to 'empty' when it shouldn't, ignore nan/inf, prevent a tcl/tk error if lower and upper values are the same; added "learn/forget" messages and shortcut for a midi learn mechanism.
- [mpe.in] now outputs port number and you can select which port to listen to.
- Other MIDI in objects now deal with port number encoded to channel as native Pd objects. Objects affected are [midi.learn], [midi.in], [note.in], [ctl.in], [bend.in], [pgm.in], [touch.in] and [ptouch.in].
- [pi]/[e] now takes a value name argument.
- [sr~]/[nyquist~] take clicks now and a value name argument.
- fixed phase modulation issues with [impulse~] and [pimp~].
- [cosine~] fixed sync input.
- added multichannel features to [cosine~] and [pimp~].
- [plaits~] added a new 'transp' message and a functionality to allow MIDI input to supersede signal connections (needed for the 'merda' version [see below]), fixed MIDI velocity.
- [pluck~] added a new functionality to allow MIDI input to supersede signal connections (needed for the 'merda' version [see below]).
- 26 new objects, [velvet~], [vcf2~], [damp.osc~], [sfload], [pdlink] and [pdlink~], plus abstractions from a newly included submodule called "Modular Euro Racks Dancing Along" (M.E.R.D.A)! Warning, this is all just very very experimental still, the object are: [adsr.m~], [brane.m~], [chorus.m~], [delay.m~], [drive.m~], [flanger.m~], [gendyn.m~], [lfo.m~], [phaser.m~], [plaits.m~], [plate.rev.m~], [pluck.m~], [pm6.m~], [presets.m], [rm.m~], [seq8.m~], [sig.m~], [vca.m~], [vcf.m~] and [vco.m~] (6 of these are multichannel aware).
Objects count: total of 551 (307 signal objects [92 of which are MC aware] and 244 control objects)!
- 311 coded objects (203 signal objects / 108 control objects
- 240 abstractions (104 signal objects / 136 control objects)
TUTORIAL:
- New examples and revisions to add the new objects, features and breaking changes in ELSE.
- Added a couple of examples for network communication via FUDI and [pdlink]/[pdlink~]
- Section 36-Filters(Advanced) revised, added more examples and details on how [slop~] works.
- Total number of examples is now 528!
Where does latency come from in Pure Data?
@Pandas As above..... Pd has an input > output delay equal to its block size.
Put something in and it will output 64 samples later.
But the soundcard cannot convert that to analogue instantly... so we add a buffer that gives it time to process the audio before the next block arrives.... MOTU 2-3ms with ASIO... On board soundcard usually 30-80ms.
I see you posted elsewhere on the forum..... https://forum.pdpatchrepo.info/topic/14495/sync-to-external-daw-midi-clock-audio-latency
I don't know those programs and maybe someone else will help.
Sending the audio samples to another program through a port will still not be instantaneous... but should be close unless you are listening to it at the same time.... but even media players will buffer at least 512 samples before they play a stream.
Does QSynth have compensation settings to delay the midi and attempt to match the audio timing?
What is your OS?
As you are communicating with software rather than a DAC you could try reducing the Delay (mSecs) in Pd media settings,,,,,, down to 3, then 2, then 1.. 0 probably not but you never know.... basically until it hangs and then go back to the last setting that worked.
Apply but don't save the settings until you are done.... or Pd might not start or might not let you change them again while it is "stuck" even if you restart it.
There is a fix for that..... I will upload it if that happens..
Running Pd at 96kHz audio rate should I think reduce the 64 sample (Pd internal) block delay.... you could try that too...... I think it should output in half the 48kHz time.
And try this..... it might help....... depends what you are wanting to achieve...... https://forum.pdpatchrepo.info/topic/13125/batch-processing-audio-faster-than-realtime
David.
Having issues with audio preferences and PD freezing up
Hello all,
Running 'Pd-0.52-1-really' on a 2021 M1 Macbook Pro. When I need to change my audio preferences (namely my audio output device) in PD, I can select the output I need, but when I click 'Save All Settings' or 'Apply' the following happens:
- 'Audio off' switches to 'Audio on' in the main PD window (the DSP checkbox does not respond, it remains unchecked)
- PD freezes: clicking OK or cancel in the Audio Settings window yields no response, the window will not close via any means. Similarly, if I have a patch open this will also freeze and cannot be closed. I have found I can close the main PD window, but I cannot quit PD- I have to force quit via the finder.
Upon reopening PD it's a gamble as to whether the audio setting I changed has even been remembered. This is extremely frustrating and is rendering the software very unreliable and hard to use (especially as I use it almost exclusively for audio).
Also, if I skip the process of clicking 'Save All Settings' or 'Apply', and just hit 'OK', the audio settings window closes, but the program still freezes in the same way.
Additionally, I'm trying to open a patch that contains a load bang to start DSP, and this will also freeze the program.
Has anyone else experienced this, and can they suggest any solutions? Thanks!
Raspberry Pi Bluetooth Speaker not showing up in Audio preferences
@eulphean said:
I'm using pure data on a raspberry pi 3+ for a project. I have bluetooth configured properly on it. I can send regular audio to bluetooth speaker connected, but the preferences -> audio in PureData doesn't show the bluetooth speaker. It only shows internal audio card or if I have a USB audio card, that shows too. But no bluetooth device.
How do I configure that? Do I need to use jack or something to route audio to bluetooth for Pd?
My experience with Bluetooth audio in Linux has been:
-
JACK has zero tolerance for the audio driver ever being late -- expect crashes or system lockups if you try to route audio from JACK to Bluetooth. That is, just don't.
-
PulseAudio's support for BT audio is pretty good -- the "regular audio" that you spoke of. Audio production apps typically bypass PulseAudio, in which case BT audio may simply not be supported for them. That is, I expect you'd hit the same problem with SuperCollider, Audacity, Ardour, VCV Rack etc etc etc.
I'm not aware of a solution... That's not to say that there absolutely isn't one, but the Linux audio space is not unified as it is in Mac so audio device support may not be universal.
hjh
Snail... a pure data patch for slow sounds
Hello there, this seemed an interesting patch, so i unzipped it on a folder and tried to open it but got an unusable display and a string of errors on console, something like this (its not all of it);
list fromsymbol
... couldn't create
list tosymbol: unknown function
list tosymbol
... couldn't create
pdcontrol
... couldn't create
else/args
... couldn't create
else/loadbanger -init
... couldn't create
clone 1 0 3 0 (canvas->outlet) connection failed
clone 1 1 8 0 (canvas->list split) connection failed
else/receiver
... couldn't create
else/receiver
... couldn't create
text search $1
... couldn't create
text set $1
... couldn't create
text search $1
... couldn't create
text get $1
... couldn't create
text size $1
... couldn't create
else/args
... couldn't create
else/loadbanger -init
... couldn't create
text delete $1
... couldn't create
text_replace.pd 31 0 6 0 (canvas->select) connection failed
text_replace.pd 31 1 34 0 (canvas->trigger) connection failed
text define $0-guithru
... couldn't create
text size
... couldn't create
text get
... couldn't create
else/loadbanger -init
... couldn't create
else/receiver
... couldn't create
else/dollsym 1
... couldn't create
else/dollsym 2
... couldn't create
text define -k $0-controls
... couldn't create
array: no method for 'set'
else/args
... couldn't create
else/break -
... couldn't create
list fromsymbol: unknown function
list fromsymbol
... couldn't create
list tosymbol: unknown function
list tosymbol
... couldn't create
pdcontrol
... couldn't create
else/args
... couldn't create
else/loadbanger -init
... couldn't create
clone 1 0 3 0 (canvas->outlet) connection failed
clone 1 1 8 0 (canvas->list split) connection failed
else/receiver
... couldn't create
else/receiver
... couldn't create
text search $1
... couldn't create
text set $1
... couldn't create
text search $1
... couldn't create
text get $1
... couldn't create
text size $1
... couldn't create
else/args
... couldn't create
else/loadbanger -init
... couldn't create
text delete $1
... couldn't create
text_replace.pd 31 0 6 0 (canvas->select) connection failed
text_replace.pd 31 1 34 0 (canvas->trigger) connection failed
text define $0-guithru
... couldn't create
text size
... couldn't create
text get
... couldn't create
else/loadbanger -init
... couldn't create
else/receiver
... couldn't create
else/dollsym 1
... couldn't create
else/dollsym 2
... couldn't create
text define -k $0-controls
... couldn't create
array: no method for 'set'
else/click
... couldn't create
else/args
... couldn't create
else/loadbanger -init
... couldn't create
q 8 0 11 0 (canvas->outlet) connection failed
q 8 1 5 0 (canvas->+~) connection failed
q 8 2 12 1 (canvas->canvas) connection failed
else/args
... couldn't create
else/break -
... couldn't create
list fromsymbol: unknown function
list fromsymbol
... couldn't create
list tosymbol: unknown function
list tosymbol
... couldn't create
pdcontrol
... couldn't create
else/args
... couldn't create
else/loadbanger -init
... couldn't create
clone 1 0 3 0 (canvas->outlet) connection failed
clone 1 1 8 0 (canvas->list split) connection failed
else/receiver
... couldn't create
else/receiver
... couldn't create
text search $1
... couldn't create
text set $1
... couldn't create
text search $1
... couldn't create
text get $1
... couldn't create
text size $1
... couldn't create
else/args
... couldn't create
else/loadbanger -init
... couldn't create
text delete $1
... couldn't create
text_replace.pd 31 0 6 0 (canvas->select) connection failed
text_replace.pd 31 1 34 0 (canvas->trigger) connection failed
text define $0-guithru
... couldn't create
text size
... couldn't create
text get
... couldn't create
else/loadbanger -init
... couldn't create
else/receiver
... couldn't create
else/dollsym 1
... couldn't create
else/dollsym 2
... couldn't create
text define -k $0-controls
... couldn't create
array: no method for 'set'
else/click
... couldn't create
text define -k $0-controls
... couldn't create
array: no method for 'set'
else/args
... couldn't create
text define -k $0-controls
... couldn't create
array: no method for 'set'
else/args
... couldn't create
else/loadbanger -init
... couldn't create
else/args
... couldn't create
else/loadbanger -init
... couldn't create
mode 14 0 3 0 (canvas->clip) connection failed
mode 14 1 4 0 (canvas->wrap) connection failed
mode 14 2 6 0 (canvas->abs) connection failed
mode 14 3 15 0 (canvas->moses) connection failed
else/args
... couldn't create
else/break -
... couldn't create
list fromsymbol: unknown function
list fromsymbol
... couldn't create
list tosymbol: unknown function
list tosymbol
... couldn't create
pdcontrol
... couldn't create
else/args
... couldn't create
else/loadbanger -init
... couldn't create
clone 1 0 3 0 (canvas->outlet) connection failed
clone 1 1 8 0 (canvas->list split) connection failed
else/receiver
... couldn't create
else/receiver
... couldn't create
text search $1
... couldn't create
text set $1
... couldn't create
text search $1
... couldn't create
text get $1
... couldn't create
text size $1
... couldn't create
else/args
... couldn't create
else/loadbanger -init
... couldn't create
text delete $1
... couldn't create
text_replace.pd 31 0 6 0 (canvas->select) connection failed
text_replace.pd 31 1 34 0 (canvas->trigger) connection failed
text define $0-guithru
... couldn't create
text size
... couldn't create
text get
... couldn't create
else/loadbanger -init
... couldn't create
else/receiver
... couldn't create
else/dollsym 1
... couldn't create
else/dollsym 2
... couldn't create
text define -k $0-controls
... couldn't create
array: no method for 'set'
else/click
... couldn't create
else/break -
... couldn't create
list fromsymbol: unknown function
list fromsymbol
... couldn't create
list tosymbol: unknown function
list tosymbol
... couldn't create
pdcontrol
... couldn't create
else/args
... couldn't create
else/loadbanger -init
... couldn't create
clone 1 0 3 0 (canvas->outlet) connection failed
clone 1 1 8 0 (canvas->list split) connection failed
else/receiver
... couldn't create
else/receiver
... couldn't create
text search $1
... couldn't create
text set $1
... couldn't create
text search $1
... couldn't create
text get $1
... couldn't create
text size $1
... couldn't create
else/args
... couldn't create
else/loadbanger -init
... couldn't create
text delete $1
... couldn't create
text_replace.pd 31 0 6 0 (canvas->select) connection failed
text_replace.pd 31 1 34 0 (canvas->trigger) connection failed
text define $0-guithru
... couldn't create
text size
... couldn't create
text get
... couldn't create
else/loadbanger -init
... couldn't create
else/receiver
... couldn't create
else/dollsym 1
... couldn't create
else/dollsym 2
... couldn't create
count.pd 15 0 8 0 (canvas->+) connection failed
count.pd 15 1 14 0 (canvas->-) connection failed
else/args
... couldn't create
else/loadbanger -init
... couldn't create
display 60 0 29 0 (canvas->message) connection failed
display 60 1 31 0 (canvas->select) connection failed
display 60 2 32 0 (canvas->message) connection failed
display 60 3 31 0 (canvas->select) connection failed
Any ideas ? cheers
Save and recall midi settings in a project
I FINALLY made it work, it's now as reliable and foolproof as i can patch it!
I spent quite some time to make it clean and well working, so i'm not sure it will save me time in the end, but i'm sure it can save you some, so please use it! Bear in mind you HAVE to modify it to contain your own audio and midi devices. Their names can be found using audiosettings and midisettings objects.
Each patch containing this one, if correctly modified, will create and send to pd the correct message to tell it to put which device on which "slot" of the audio and midi settings menus.
I also made a patch for audiosettings, which sets the audio interface of your choice, with all the appropriate settings, plus another "plan B" setting in case the main audio interface is missing.
Once properly set up, you only have to worry about plugging your audio and midi devices before launching Pd. What a relief in terms of time and stress, especially in live situations!
Sadly it needs Loopmidi or something similar to work, with as much virtual midi devices as the real ones you'll be using: if one or several devices are missing, the virtual ones will replace them in the midi settings, so it doesn't ruin the order of devices. I named them DUMMYIN\ 1 and DUMMYOUT\ 1 to 5 because i don't have more than 5 midi devices plugged at once. you have to create these DUMMY things in loopmidi to get this patch to work.
(I tried with one dummy midi device in and one dummy out, but it doesn't work if two real midi devices are missing in a row: pd apparently won't let you have twice the same device on consecutive slots)
the next steps would be to make it more user friendly, by sending messages to it, so it can be used in several different projects without being edited inside.
The most convenient solution would be to modify Pd source code to make these settings behave differently, by assigning a UNIQUE number to each device, being plugged or not, or accepting messages that contain the order of devices BY THEIR NAME and not a randomly assigned number... then it would be possible to store a simple midi and audiosettings message in each patch.
Thx for reading
#proudofmyself #nobodycaresaboutthisbutyouwhoareherebecauseofthesamepreoblem
Just Another (Drum) Sequencer...SortOf, codename: Virgo
Just Another (Drum) Sequencer...SortOf, codename: Virgo
REQUIRES: zexy, moonlib, tof (as of Pd 0.50.2, all of which are in deken) and hcs (which comes by default with Pd 0.50.2 and is in deken (for extended))
Special Features
- Unique playhead per row; each with their own metro (beat)
- Up to 8 Volume states-per-beat (by clicking multiple times on the bang; where an rms=1 is divide among the states (2 states:0=rms=0(black), 1=rms=1(red); 3 states:rms=[0|0.5|1])
- Design approach: using creation arguments to alias abstractions, so subsequently they are referred to by their creation arguments, ex. in [KITS sample] sample is referred to as [$1]; which is how they are listed below)
(notes: what I learned experimenting with this design approach, I will share as a separate post. Currently, it does not include cut-copy-paste (of regions of the pattern)). I good way to start trying it out is clicking the "R" to get a random kit and a random pattern).
virgo:[virgo/PROJECT KITS PATTERNS]
- PROJECT[KITS PATTERNS]
- $1:[KITS sample]
- GUI
- K: openpanel to load a previously saved *.txt (text object) kit of samples; on loadbang the default.txt kit is loaded
- S: save the current set of samples to the most recently opened *.txt (kit) preset
- SA: saveas a *.txt of the current set of samples
- D: foldererpanel a sample directory to load the first (alphabetically) 16 samples into the 16 slots
- RD: load a random kit from the [text samples] object where the samples where previously loaded via the "SAMPLES" bang on the right
- U: undo; return to the previously opened or saved *.txt kit, so not the previously randomized
- MASTER: master gain
- (recorder~: of the total audio~ out)
- record
- ||: pause; either recording or play;
- play: output is combined with the sequencer output just before MASTER out to [dac~]
- SAMPLES: folderpanel to load a (recursive) directory of samples for generating random kits
- ABSTRACTIONS
- $1: sample
- bang: openpanel to locate and load a sample for a track
- canvas: filename of the opened sample; filenames are indexed in alignment with track indices in the PATTERNS section
- $1: sample
- GUI
- $2:[PATTERNS row]
- GUI
- P: openpanel to load a previously saved *.txt (pattern) preset file; on loadbang the default.txt pattern is loaded; the preset file includes the beat, pattern, and effect settings for the row
- S: save the current pattern to the most recently opened pattern .txt
- SA: save as (self-explanatory)
- states: the number of possible states [2..8] of each beat;
- %: weight; chance of a beat being randomized; not chance of what it will result in; ex. 100% implies all beats are randomized ; random beats result in a value)gain) between 1 and states-1
- PLAY(reset): play the pattern from "start" or on stop reset all playheads to start
- start: which beat to start the playheads on
- length: how many beats to play [+/-32]; if negative the playheads will play in reverse/from right to left
- bpm: beats-per-minute
- rate: to change the rate of play (ie metro times) by the listed factor for all playheads
- R: randomize the total pattern (incl period and beats, but not the effect settings; beats of 1/32 are not included in the possibilities)
- CL: clear, set all beats to "0", i.e. off
- U: undo random; return to the previously opened or saved preset, ie. not the previous random one
- M: mute all tracks; the playheads continue moving but audio does not come out of any track
- ||:pause all playheads; play will resume from that location when un-paused
- per: period; if 0=randomizes the period, >0 sets the period to be used for all beats
- Edit Mode
- Check the [E] to enter edit mode (to cut, copy, or paste selected regions of the pattern)
- Entering edit mode will pause the playing of the pattern
- Play, if doing so beforehand, will resume on leavng edit mode
- The top-left most beat of the pattern grid will be selected when first entering edit mode
- Single-click a beat to select the top-left corner of the region you wish to cut or copy
- Double-click a beat to select the bottom-right corner
- You may not double-click a beat "less than" the single-clicked (top-left) beat and vice-versa
- Click [CL] to clear your selection (i.e. start over)
- The selected region will turn to dark colors
- If only one beat is selected it will be the only one darkened
- Click the operation (bang) you wish to perform, either cut [CU] or copy [CP]
- Then, hold down the CTRL key and click the top-left corner of where you want to paste the region
- The clicked cell will turn white
- And click [P] to paste the region
- Cut and copied regions may both be pasted multiple times
- The difference being, cutting sets the values (gains) for the originating region to "0"
- Click [UN] to undo either the cut, copy, or paste operation
- Undoing cut will return the gains from 0s to their original value
- Check the [E] to enter edit mode (to cut, copy, or paste selected regions of the pattern)
- (effect settings applied to all tracks)
- co: vcf-cutoff
- Q: vcf-q
- del: delay-time
- fb: delay-feedback
- dist: distortion
- reverb
- gn: gain
- ABSTRACTIONS
- $1: [row (idx) b8] (()=a property not an abstraction)
- GUI
- (index): aligns with the track number in the KITS section
- R: randomize the row; same as above, but for the row
- C: clear the row, i.e. set all beats to 0
- U: undo the randomize; return to the originally opened one, ie. not the previous random one
- M: mute the row, so no audio plays, but the playhead continues to play
- S: solo the row
- (beat): unit of the beat(period); implying metro length (as calculated with the various other parameters);1/32,1/16,1/8, etc.
- (pattern): the pattern for the row; single-click on a beat from 0 to 8 times to increment the gain of that beat as a fraction of 1 rms, where resulting rms=value/states; black is rms=0; if all beats for a row =0 (are black) then the switch for that track is turned off; double-click it to decrement it
- (effects-per-row): same as above, but per-row, ex. first column is vcf-cutoff, second is vcf-q, etc.
- ABSTRACTIONS
- $1: b8 (properties:row column)
- 8-state bang: black, red, orange, yellow, green, light-blue, blue, purple; representing a fraction of rms(gain) for the beat
- $1: b8 (properties:row column)
- GUI
- $1: [row (idx) b8] (()=a property not an abstraction)
- GUI
- $1:[KITS sample]
Credits: The included drum samples are from: https://www.musicradar.com/news/sampleradar-494-free-essential-drum-kit-samples
p.s. Though I began working on cut-copy-paste, it began to pose a Huge challenge, so backed off, in order to query the community as to 1) its utility in the current state (w/o that) and 2) just how important including it really is.
p.p.s. Please, report any inconsistencies (between the instructions as listed and what it does) and/or bugs you may find, and I will try to get an update posted as soon as enough of those have collect.
Love and Peace through sharing,
Scott
Externals in Purr-Data
there we go:
tried ./pd_helios.d_ppc and failed
tried ./pd_helios.pd_darwin and failed
tried ./pd_helios/pd_helios.d_ppc and failed
tried ./pd_helios/pd_helios.pd_darwin and failed
tried ./pd_helios/pd_helios-meta.pd and failed
tried ./pd_helios.pd_lua and failed
tried ./pd_helios.pd and failed
tried ./pd_helios.pat and failed
tried ./pd_helios/pd_helios.pd and failed
tried /Library/Pd-l2ork/pd_helios.d_ppc and failed
tried /Library/Pd-l2ork/pd_helios.pd_darwin and failed
tried /Library/Pd-l2ork/pd_helios/pd_helios.d_ppc and failed
tried /Library/Pd-l2ork/pd_helios/pd_helios.pd_darwin and failed
tried /Library/Pd-l2ork/pd_helios/pd_helios-meta.pd and failed
tried /Library/Pd-l2ork/pd_helios.pd_lua and failed
tried /Library/Pd-l2ork/pd_helios.pd and failed
tried /Library/Pd-l2ork/pd_helios.pat and failed
tried /Library/Pd-l2ork/pd_helios/pd_helios.pd and failed
tried /System/Library/Fonts/pd_helios.d_ppc and failed
tried /System/Library/Fonts/pd_helios.pd_darwin and failed
tried /System/Library/Fonts/pd_helios/pd_helios.d_ppc and failed
tried /System/Library/Fonts/pd_helios/pd_helios.pd_darwin and failed
tried /System/Library/Fonts/pd_helios/pd_helios-meta.pd and failed
tried /System/Library/Fonts/pd_helios.pd_lua and failed
tried /System/Library/Fonts/pd_helios.pd and failed
tried /System/Library/Fonts/pd_helios.pat and failed
tried /System/Library/Fonts/pd_helios/pd_helios.pd and failed
tried /Library/Fonts/pd_helios.d_ppc and failed
tried /Library/Fonts/pd_helios.pd_darwin and failed
tried /Library/Fonts/pd_helios/pd_helios.d_ppc and failed
tried /Library/Fonts/pd_helios/pd_helios.pd_darwin and failed
tried /Library/Fonts/pd_helios/pd_helios-meta.pd and failed
tried /Library/Fonts/pd_helios.pd_lua and failed
tried /Library/Fonts/pd_helios.pd and failed
tried /Library/Fonts/pd_helios.pat and failed
tried /Library/Fonts/pd_helios/pd_helios.pd and failed
tried /Users/didipiman/Library/Fonts/pd_helios.d_ppc and failed
tried /Users/didipiman/Library/Fonts/pd_helios.pd_darwin and failed
tried /Users/didipiman/Library/Fonts/pd_helios/pd_helios.d_ppc and failed
tried /Users/didipiman/Library/Fonts/pd_helios/pd_helios.pd_darwin and failed
tried /Users/didipiman/Library/Fonts/pd_helios/pd_helios-meta.pd and failed
tried /Users/didipiman/Library/Fonts/pd_helios.pd_lua and failed
tried /Users/didipiman/Library/Fonts/pd_helios.pd and failed
tried /Users/didipiman/Library/Fonts/pd_helios.pat and failed
tried /Users/didipiman/Library/Fonts/pd_helios/pd_helios.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/cyclone/pd_helios.d_ppc and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/cyclone/pd_helios.pd_darwin and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/cyclone/pd_helios/pd_helios.d_ppc and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/cyclone/pd_helios/pd_helios.pd_darwin and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/cyclone/pd_helios/pd_helios-meta.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/cyclone/pd_helios.pd_lua and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/cyclone/pd_helios.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/cyclone/pd_helios.pat and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/cyclone/pd_helios/pd_helios.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/pd_helios/pd_helios.d_ppc and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/pd_helios/pd_helios.pd_darwin and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/pd_helios/pd_helios/pd_helios.d_ppc and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/pd_helios/pd_helios/pd_helios.pd_darwin and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/pd_helios/pd_helios/pd_helios-meta.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/pd_helios/pd_helios.pd_lua and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/pd_helios/pd_helios.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/pd_helios/pd_helios.pat and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/pd_helios/pd_helios/pd_helios.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/zexy/pd_helios.d_ppc and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/zexy/pd_helios.pd_darwin and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/zexy/pd_helios/pd_helios.d_ppc and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/zexy/pd_helios/pd_helios.pd_darwin and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/zexy/pd_helios/pd_helios-meta.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/zexy/pd_helios.pd_lua and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/zexy/pd_helios.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/zexy/pd_helios.pat and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/zexy/pd_helios/pd_helios.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/creb/pd_helios.d_ppc and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/creb/pd_helios.pd_darwin and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/creb/pd_helios/pd_helios.d_ppc and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/creb/pd_helios/pd_helios.pd_darwin and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/creb/pd_helios/pd_helios-meta.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/creb/pd_helios.pd_lua and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/creb/pd_helios.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/creb/pd_helios.pat and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/creb/pd_helios/pd_helios.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/cxc/pd_helios.d_ppc and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/cxc/pd_helios.pd_darwin and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/cxc/pd_helios/pd_helios.d_ppc and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/cxc/pd_helios/pd_helios.pd_darwin and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/cxc/pd_helios/pd_helios-meta.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/cxc/pd_helios.pd_lua and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/cxc/pd_helios.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/cxc/pd_helios.pat and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/cxc/pd_helios/pd_helios.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/iemlib/pd_helios.d_ppc and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/iemlib/pd_helios.pd_darwin and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/iemlib/pd_helios/pd_helios.d_ppc and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/iemlib/pd_helios/pd_helios.pd_darwin and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/iemlib/pd_helios/pd_helios-meta.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/iemlib/pd_helios.pd_lua and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/iemlib/pd_helios.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/iemlib/pd_helios.pat and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/iemlib/pd_helios/pd_helios.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/list-abs/pd_helios.d_ppc and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/list-abs/pd_helios.pd_darwin and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/list-abs/pd_helios/pd_helios.d_ppc and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/list-abs/pd_helios/pd_helios.pd_darwin and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/list-abs/pd_helios/pd_helios-meta.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/list-abs/pd_helios.pd_lua and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/list-abs/pd_helios.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/list-abs/pd_helios.pat and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/list-abs/pd_helios/pd_helios.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/mapping/pd_helios.d_ppc and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/mapping/pd_helios.pd_darwin and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/mapping/pd_helios/pd_helios.d_ppc and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/mapping/pd_helios/pd_helios.pd_darwin and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/mapping/pd_helios/pd_helios-meta.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/mapping/pd_helios.pd_lua and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/mapping/pd_helios.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/mapping/pd_helios.pat and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/mapping/pd_helios/pd_helios.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/markex/pd_helios.d_ppc and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/markex/pd_helios.pd_darwin and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/markex/pd_helios/pd_helios.d_ppc and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/markex/pd_helios/pd_helios.pd_darwin and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/markex/pd_helios/pd_helios-meta.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/markex/pd_helios.pd_lua and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/markex/pd_helios.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/markex/pd_helios.pat and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/markex/pd_helios/pd_helios.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/maxlib/pd_helios.d_ppc and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/maxlib/pd_helios.pd_darwin and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/maxlib/pd_helios/pd_helios.d_ppc and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/maxlib/pd_helios/pd_helios.pd_darwin and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/maxlib/pd_helios/pd_helios-meta.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/maxlib/pd_helios.pd_lua and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/maxlib/pd_helios.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/maxlib/pd_helios.pat and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/maxlib/pd_helios/pd_helios.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/memento/pd_helios.d_ppc and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/memento/pd_helios.pd_darwin and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/memento/pd_helios/pd_helios.d_ppc and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/memento/pd_helios/pd_helios.pd_darwin and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/memento/pd_helios/pd_helios-meta.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/memento/pd_helios.pd_lua and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/memento/pd_helios.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/memento/pd_helios.pat and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/memento/pd_helios/pd_helios.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/mjlib/pd_helios.d_ppc and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/mjlib/pd_helios.pd_darwin and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/mjlib/pd_helios/pd_helios.d_ppc and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/mjlib/pd_helios/pd_helios.pd_darwin and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/mjlib/pd_helios/pd_helios-meta.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/mjlib/pd_helios.pd_lua and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/mjlib/pd_helios.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/mjlib/pd_helios.pat and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/mjlib/pd_helios/pd_helios.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/motex/pd_helios.d_ppc and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/motex/pd_helios.pd_darwin and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/motex/pd_helios/pd_helios.d_ppc and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/motex/pd_helios/pd_helios.pd_darwin and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/motex/pd_helios/pd_helios-meta.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/motex/pd_helios.pd_lua and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/motex/pd_helios.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/motex/pd_helios.pat and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/motex/pd_helios/pd_helios.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/oscx/pd_helios.d_ppc and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/oscx/pd_helios.pd_darwin and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/oscx/pd_helios/pd_helios.d_ppc and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/oscx/pd_helios/pd_helios.pd_darwin and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/oscx/pd_helios/pd_helios-meta.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/oscx/pd_helios.pd_lua and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/oscx/pd_helios.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/oscx/pd_helios.pat and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/oscx/pd_helios/pd_helios.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/pddp/pd_helios.d_ppc and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/pddp/pd_helios.pd_darwin and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/pddp/pd_helios/pd_helios.d_ppc and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/pddp/pd_helios/pd_helios.pd_darwin and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/pddp/pd_helios/pd_helios-meta.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/pddp/pd_helios.pd_lua and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/pddp/pd_helios.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/pddp/pd_helios.pat and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/pddp/pd_helios/pd_helios.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/pdogg/pd_helios.d_ppc and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/pdogg/pd_helios.pd_darwin and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/pdogg/pd_helios/pd_helios.d_ppc and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/pdogg/pd_helios/pd_helios.pd_darwin and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/pdogg/pd_helios/pd_helios-meta.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/pdogg/pd_helios.pd_lua and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/pdogg/pd_helios.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/pdogg/pd_helios.pat and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/pdogg/pd_helios/pd_helios.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/pixeltango/pd_helios.d_ppc and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/pixeltango/pd_helios.pd_darwin and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/pixeltango/pd_helios/pd_helios.d_ppc and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/pixeltango/pd_helios/pd_helios.pd_darwin and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/pixeltango/pd_helios/pd_helios-meta.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/pixeltango/pd_helios.pd_lua and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/pixeltango/pd_helios.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/pixeltango/pd_helios.pat and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/pixeltango/pd_helios/pd_helios.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/rradical/pd_helios.d_ppc and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/rradical/pd_helios.pd_darwin and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/rradical/pd_helios/pd_helios.d_ppc and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/rradical/pd_helios/pd_helios.pd_darwin and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/rradical/pd_helios/pd_helios-meta.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/rradical/pd_helios.pd_lua and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/rradical/pd_helios.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/rradical/pd_helios.pat and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/rradical/pd_helios/pd_helios.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/sigpack/pd_helios.d_ppc and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/sigpack/pd_helios.pd_darwin and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/sigpack/pd_helios/pd_helios.d_ppc and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/sigpack/pd_helios/pd_helios.pd_darwin and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/sigpack/pd_helios/pd_helios-meta.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/sigpack/pd_helios.pd_lua and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/sigpack/pd_helios.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/sigpack/pd_helios.pat and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/sigpack/pd_helios/pd_helios.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/smlib/pd_helios.d_ppc and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/smlib/pd_helios.pd_darwin and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/smlib/pd_helios/pd_helios.d_ppc and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/smlib/pd_helios/pd_helios.pd_darwin and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/smlib/pd_helios/pd_helios-meta.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/smlib/pd_helios.pd_lua and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/smlib/pd_helios.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/smlib/pd_helios.pat and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/smlib/pd_helios/pd_helios.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/unauthorized/pd_helios.d_ppc and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/unauthorized/pd_helios.pd_darwin and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/unauthorized/pd_helios/pd_helios.d_ppc and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/unauthorized/pd_helios/pd_helios.pd_darwin and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/unauthorized/pd_helios/pd_helios-meta.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/unauthorized/pd_helios.pd_lua and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/unauthorized/pd_helios.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/unauthorized/pd_helios.pat and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/unauthorized/pd_helios/pd_helios.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/pan/pd_helios.d_ppc and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/pan/pd_helios.pd_darwin and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/pan/pd_helios/pd_helios.d_ppc and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/pan/pd_helios/pd_helios.pd_darwin and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/pan/pd_helios/pd_helios-meta.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/pan/pd_helios.pd_lua and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/pan/pd_helios.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/pan/pd_helios.pat and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/pan/pd_helios/pd_helios.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/hcs/pd_helios.d_ppc and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/hcs/pd_helios.pd_darwin and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/hcs/pd_helios/pd_helios.d_ppc and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/hcs/pd_helios/pd_helios.pd_darwin and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/hcs/pd_helios/pd_helios-meta.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/hcs/pd_helios.pd_lua and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/hcs/pd_helios.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/hcs/pd_helios.pat and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/hcs/pd_helios/pd_helios.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/jmmmp/pd_helios.d_ppc and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/jmmmp/pd_helios.pd_darwin and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/jmmmp/pd_helios/pd_helios.d_ppc and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/jmmmp/pd_helios/pd_helios.pd_darwin and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/jmmmp/pd_helios/pd_helios-meta.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/jmmmp/pd_helios.pd_lua and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/jmmmp/pd_helios.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/jmmmp/pd_helios.pat and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/jmmmp/pd_helios/pd_helios.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/ext13/pd_helios.d_ppc and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/ext13/pd_helios.pd_darwin and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/ext13/pd_helios/pd_helios.d_ppc and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/ext13/pd_helios/pd_helios.pd_darwin and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/ext13/pd_helios/pd_helios-meta.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/ext13/pd_helios.pd_lua and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/ext13/pd_helios.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/ext13/pd_helios.pat and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/ext13/pd_helios/pd_helios.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/ggee/pd_helios.d_ppc and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/ggee/pd_helios.pd_darwin and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/ggee/pd_helios/pd_helios.d_ppc and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/ggee/pd_helios/pd_helios.pd_darwin and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/ggee/pd_helios/pd_helios-meta.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/ggee/pd_helios.pd_lua and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/ggee/pd_helios.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/ggee/pd_helios.pat and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/ggee/pd_helios/pd_helios.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/ekext/pd_helios.d_ppc and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/ekext/pd_helios.pd_darwin and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/ekext/pd_helios/pd_helios.d_ppc and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/ekext/pd_helios/pd_helios.pd_darwin and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/ekext/pd_helios/pd_helios-meta.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/ekext/pd_helios.pd_lua and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/ekext/pd_helios.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/ekext/pd_helios.pat and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/ekext/pd_helios/pd_helios.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/disis/pd_helios.d_ppc and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/disis/pd_helios.pd_darwin and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/disis/pd_helios/pd_helios.d_ppc and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/disis/pd_helios/pd_helios.pd_darwin and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/disis/pd_helios/pd_helios-meta.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/disis/pd_helios.pd_lua and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/disis/pd_helios.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/disis/pd_helios.pat and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/disis/pd_helios/pd_helios.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/lyonpotpourri/pd_helios.d_ppc and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/lyonpotpourri/pd_helios.pd_darwin and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/lyonpotpourri/pd_helios/pd_helios.d_ppc and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/lyonpotpourri/pd_helios/pd_helios.pd_darwin and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/lyonpotpourri/pd_helios/pd_helios-meta.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/lyonpotpourri/pd_helios.pd_lua and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/lyonpotpourri/pd_helios.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/lyonpotpourri/pd_helios.pat and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/lyonpotpourri/pd_helios/pd_helios.pd and failed
tried /Users/didipiman/Library/Pd-l2ork/pd_helios.d_ppc and failed
tried /Users/didipiman/Library/Pd-l2ork/pd_helios.pd_darwin and failed
tried /Users/didipiman/Library/Pd-l2ork/pd_helios/pd_helios.d_ppc and failed
tried /Users/didipiman/Library/Pd-l2ork/pd_helios/pd_helios.pd_darwin and failed
tried /Users/didipiman/Library/Pd-l2ork/pd_helios/pd_helios-meta.pd and failed
tried /Users/didipiman/Library/Pd-l2ork/pd_helios.pd_lua and failed
tried /Users/didipiman/Library/Pd-l2ork/pd_helios.pd and failed
tried /Users/didipiman/Library/Pd-l2ork/pd_helios.pat and failed
tried /Users/didipiman/Library/Pd-l2ork/pd_helios/pd_helios.pd and failed
tried /Library/Pd-l2ork/pd_helios.d_ppc and failed
tried /Library/Pd-l2ork/pd_helios.pd_darwin and failed
tried /Library/Pd-l2ork/pd_helios/pd_helios.d_ppc and failed
tried /Library/Pd-l2ork/pd_helios/pd_helios.pd_darwin and failed
tried /Library/Pd-l2ork/pd_helios/pd_helios-meta.pd and failed
tried /Library/Pd-l2ork/pd_helios.pd_lua and failed
tried /Library/Pd-l2ork/pd_helios.pd and failed
tried /Library/Pd-l2ork/pd_helios.pat and failed
tried /Library/Pd-l2ork/pd_helios/pd_helios.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/pd_helios.d_ppc and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/pd_helios.pd_darwin and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/pd_helios/pd_helios.d_ppc and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/pd_helios/pd_helios.pd_darwin and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/pd_helios/pd_helios-meta.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/pd_helios.pd_lua and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/pd_helios.pd and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/pd_helios.pat and failed
tried /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/pd_helios/pd_helios.pd and failed
pd_helios: can't load library```
Save and recall midi settings in a project
Thank you @whale-av ! i did this little patch where you have to enter the names of your midi devices, in the order you want them in the midi settings. I have to test it on other configurations to see if it works properly. I'm unhappy with the pipe objects but that was seemingly the best option to avoid double triggering, or missing info in the pack ffff... route object don't seem to bang its outputs from right to left.
I also struggle to install mediasettings, and i currently have to open the midi-settings-help patch to get pd to acknowledge midi-settings object. Sorry for the noobism!
hope this will help others someday, if this does work reliably it's a big step forward for me, to be able to use pd in live configurations with many midi devices. In case of a bug/crash it's gonna save some time and stress !
PS you might also wanna adjust the [ 4 6 ( message at the end of the instruction sent to pd. i don't know what i t means but i noticed it was there every time i printed midi settings, so i put it. if anyone knows...