PD-2-ThoughtMap (a patch and its children as a plantuml-usecase) (Linux Shell Script/Package) (v0.1.1 update below)
Background:
The project I have been working on, for over a year now, began to be more complex than I was able to visualize.
As such, I was required to build something which would allow me to "see" it in its entirety.
NOT the audio stream, passing from one object to another, nor the variables, nor sends.
But rather, I needed to see my objects, i.e. subpatches and abstractions themselves. And how they were embedded within one another. I needed to see the "programmatic-flow" from one sub-object to the next.
Which is how this came about. Examples:
simple example
1.poly.synth
Preface:
Miller's bi-recursive/toroidal loop function, i.e. going "../" up and/or going down "/x/y/z.pd" the embedded object-tree has (thus far eluded me. So the patch for now only recurses down the tree.
Purpose:
By setting up a "Send-To" link to ".pd" filetypes (within Linux), one is able to right-click and send any ".pd" file to the pd2thoughtmap shell script and after a brief time (depending on the complexity of the patch). the "defaultbrowser" will open with a plantuml (http:///www.plantuml.com) usecase diagram showing the "object-flow" from one nested object to the next (clipping branches which have no embedded abstractions).
My hope has been the benefit I have/can gain from this tool, will also benefit the pd community and folks in being able to better "see" what they have done. And how to better organize their patches to suit their vision, the need of the project, or just plain Efficiency.
Instructions:
1-Download the pd2thoughtmap.zip file: pd2thoughtmapv0.1.zip
2-Unzip the file into the /root/pd-externals directory;
3-Right-click on a ".pd" file and go to ~"Configure Send-To" or the equivalent for your linux system;
4-Symlink from the /root/pd-externals/pd2thoughtmap/pd2thoughtmap shell script to the Send-To folder for ".pd" files
5-Right-click on a .pd file and "Send-To pd2thoughtmap";
6-After a pause, your default browser will open with the thoughtmap in a tab. (If your browser is already open it will just open another tab).
note: file processing is managed in the /tmp/pd2thoughtmap folder so unloaded at shutdown.
May this tool expedite your auditory "vision" and make it easier for you to comprehend.
Peace, Love, and Music through us all,
Scott
Footnotes:
It recurses down (the directory-tree finding descendants) just fine but will not go up (find predecessors/ancestors).
It will not recurse abstractions if the filenames have more than one period (i.e. the one in the ".pd" suffix).
It Excludes native pd abstractions/classes, ex. [adc~], etc., if they are 1) on the res/objectlist.txt, 2) a ".pd_linux" file in the pure data paths, i.e. "/root/pd-externals/", "/usr/lib/pd/extra/", or "/usr/lib/puredata/". or 3) manually entered into the "res/exclude.txt" file (in the case where one abstraction is repeated many times and you want to ignore it).
If using the command line, there are four total parameters available (to be used all together): $1=the absolute path to the file, $2={0|1|2,3} to indicate if you want "abs and subpatches", "abs only", "subpatches only", or all pd object types, ex. messages, floatatoms, etc; and $3=the height of the image in pixels, and $4=the width of the image in pixels.
If you want me to debug something, please, attach the outputted .png and the /tmp/pd2plantuml/log.txt to your post.
If you find it outputting things that should have been excluded, you can try to eliminate them by adding the object name to the exclude.txt file. This inconsistency is derived from my complete knowledge of the pd file structure. Perhaps I will address it in the future.
I need to work on the original patch for a while, so will update this patch over time and get back with you when I can.
Tally-Ho! And Joy!
-S
Pd quits when opening Midi settings
Which version of Pd and on which operating system?
Can't say for sure what's up, one long-standing issue with Mac and Windows PD is that PD has never had a proper software midi interface between the app and the system. What it does have is a hack-in that will connect PD midi to - at maximum - the first nine ports on the system's midi port list and nowhere else. ATM only ALSA MIDI on linux has anything close to a fully interfaced PD midi to system buss.
To get full access to the max available midi porting on Mac/Win you have to start with all midi ports on the system deactivated. You then have to use 3d party midi patching software such as Midi Patchbay on Mac (don't use IAC leave it deactivated) or an equivalent Windows program to create nine virtual midi ports to occupy those first eight slots on the system list. Start PD and connect it to the nine virtual ports. Activate all the other midi ports/devices that you need on the system, then use the patching software to do the actually midi routing to external software and devices.
If the above sounds ridiculous -- it is! Supposedly this is actually being worked on (finally) but it requires a major rewrite of badly botched coding. Most of the Pd coders don't really "get" midi and the few that do haven't been very active since they contributed the ALSA code. Take it from someone who has written multiple midi synth editors with Pd-- there's a reason I prefer PureData on linux.
libpd on mac: clarification requested on expected behavior of cpp sample
Hi! I am running Pd-0.47-1-64bit on Mac OS 10.11.6 and libpd 0.9.2. I am trying to work with the samples/cpp/pdtest. Here's the github repo. I currently have an app that takes video and spits out a 2D array of color values for regions of interest to file. I have a pd patch that then loads those into a table and plays the corresponding pitch. I need the two (patch, c++ app) to coordinate the IPC.
I compiled the cpp code in the samples directory however, when running pdtest executable there is no patch opened. Is this by design? I was not able to find a pd-vanilla to build from source so took the most recent (pd-0.47-1-64bit.mac.tar.gz). Does libpd need to have the pd built after libpd? If so, can anyone please point me to a src file?
Here is a truncated output from running the compiled pdtest. Could someone tell me if this is what is expected?
Thank you for your help.
BEGIN Patch Test
Patch: "pd/test.pd" $0: 1003 valid: 1
Patch: "pd/test.pd" $0: 0 valid: 0
Patch: "pd/test.pd" $0: 1005 valid: 1
PD: PATCH OPENED: 1003
print: 0
PD: PATCH OPENED: 1005
print: 0
FINISH Patch Test
BEGIN Message Test
FINISH Message Test
BEGIN MIDI Test
FINISH MIDI Test
BEGIN Array Test
array1 len: 10
array1 0.0857145 0.328572 0.500001 0.57143 0.514287 0.47143 0.357144 0.285715 0.057143 0
array1 0 1 2 3 4 5 6 7 8 9
array1 10 10 10 10 10 10 10 10 10 10
FINISH Array Test
BEGIN PD Test
FINISH PD Test
Processing PD
PD: bang
PD: 100
PD: symbol test string
PD: bang
PD: 100
PD: symbol test string
PD: 1.23 a symbol
PD dollar zero: 1.23 a symbol
PD: 1.23 sent from a List object
PD: msg 1.23 sent from a List object
PD: 1.23 sent from a streamed list
PD MIDI: notein 2 60 64
PD MIDI: ctlin 2 0 64
PD MIDI: pgm 2 101
PD MIDI: midiin 1 239
PD: symbol test
PD: START MSG TEST
CPP: bang toCPP
CPP: float toCPP: 100
CPP: symbol toCPP: kaaa
CPP: list toCPP: 100 2.3 test 1 2 3 ffsfff
CPP: message toCPP: kaa 1 2.3 test ffs
PD: MSG TEST FINISH
PD: START MIDI TEST
PD: MIDI TEST FINISHED
PD: START ARRAY TEST
PD array1: 10
PD array1: 10
PD array1: 10
PD array1: 10
PD array1: 10
PD array1: 10
PD array1: 10
PD array1: 10
PD array1: 10
PD array1: 10
PD: FINISH ARRAY TEST
PD: test_abs: Hello World!
CPP MIDI: note on: 0 0 127
CPP MIDI: note on: 0 0 127
CPP MIDI: note on: 0 60 64
CPP MIDI: control change: 0 64 100
CPP MIDI: program change: 0 99
CPP MIDI: pitch bend: 0 2000
CPP MIDI: aftertouch: 0 100
CPP MIDI: poly aftertouch: 0 64 100
CPP MIDI: midi byte: 0 239
CPP: float env: 75.5457
CPP: float env: 87.9506
CPP: float env: 93.5842
...
CPP: float env: 88.5503
CPP: float env: 87.7612
print: 1
CPP MIDI: note on: 0 0 0
CPP MIDI: note on: 0 1 127
CPP: float env: 86.8932
...
CPP: float env: 41.2584
CPP: float env: 0
print: 2
CPP MIDI: note on: 0 1 0
CPP MIDI: note on: 0 2 127
...
print: 20
CPP MIDI: note on: 0 19 0
CPP MIDI: note on: 0 20 127
Ewolverine 4 U
New version 7 (currently testing)
- added automatic loosening of minimum fitness limit for the case that a population of sounds gets stuck in a local maximum in the fitness landscape (really nerdy jabbering, but trust me, it's useful ^^)
- added automatic "jumping" out of local maximums after a certain number of fruitless climbing-trials
EWOLVERINE v.7 by Henry Dalcke.pd
plans:
• bugfix: prevent a newly audible sound from being selected after manually stopping the target drive
• simulated annealing in target drive mode: span "temperature" value onto fitnesslandscape and decrease step length (modwheel) and probability value in the splice-pattern-generator the closer the fitness gets to optimal fitness value
• interactive mode: automatic narrowing of the range of generated parameter values around a mean value that's derived from the repeated selection of similar values of individual parameters throughout the generations (increases the number of similar sounds per generation that are located around a certain coordinate in parameter space; increases the likelihood of the generation of the desired sound in a smaller amount of time)
• stop-condition for automatic stopping of target drive
• make default settings for modwheel-position, splice-pattern-generator's probability, anti-stuck and allowed minimum fitness value in target drive adjustable from GUI
• adjustable MIDI output message blocker (useful for instruments with a fixed MIDI implementation, for instance: If you want to breed a bass drum in a drum synth with multiple instruments, you may not want to ruin the parameter adjustments of the snare drum meanwhile you're selecting for good bass drums)
• storage for self-created splicer patterns (maybe in connection to the MIDI output message blocker)
• low-value-weighted probability for the generation of MIDI-CC-values in new populations; switchable per MIDI-CC either manually or randomly (increases the probability for the generation of short attack and decay values in synth's envelopes)
• bigger populations for each sound-set: 4 more random sounds per set (A/B) to select from
• discontinuous MIDI messaging interrupted by assignment switching CC events (special build for FM-Heaven) - low priority
• possibility to interpolate between new random population's sounds to smoothly re-direct the modwheel-morphing path while morphing
• selection-history recorder that one can use to re-load the selected sounds of each past generation
• a visualizer that generates a "tree of life" from directions (keys C,D,E,F) and steplengths (modwheel) of formerly selected individuals and their respective distances to their parent sounds
.MOV/.MP4 glitcher
Hi,
I have built a pd abstraction that glitches .MOV/.MP4 files. This is the result of a long process that involved the study and understanding of the way .MOV files work and their atom structure. Having learned a lot while developping my jpeg and mp3 glitchers, I have been willing to transpose this knowledge to the video realm. To make a long story short, my abstraction locates the mdat atom of the file, reads its length and glitches it in a user-controlable way, while leaving the rest of the filestructure untouched, allowing various degrees of glitchiness with very few unreadable files.
Of course, the bigger the files, he longer the processing time. I have able to glitch a 250 meg MP4 (40 minutes of video) in a bout 1 minute on a macbook pro running under OS 10.10 with the latest stable version of PD extended. On slower computers, processing may take up to 5/6 minutes. Also note that results will vary according to the codec used for compression. I have been able to get good results with H264, but they should all work. As usual with glitch, results will also vary according to the player you use. I personnaly prefer VLC . Some files may appear broken on some players and play just fine on others... Usually, if a file breaks in the process, just tweak the settings a bit to get less glitched file, it should work eventually. This is particulary thrue with small files.
Here's a bunch of stills I took from one processed video:
Here's the pd extend abstraction:
mp4glitcher.pd
It's a graph on parent abstraction, so the idea is to open it like an object in a blank canvas.
And here's the standalone version for mac:
https://1drv.ms/u/s!AjNgShvVLV0XikkivHwWok_tpbYQ
Your comments are welcome!
Newb can't use GEM
Hi, thought I'd post here even thought the thread is old before starting a new topic because my problem is exactly that as described here, though none of the suggestions have help and no one seems to have my exact error console output, which is as follows:
WARNING: Font family 'Courier' not found, using default (DejaVu Sans Mono)
tried ./gem.l_i386 and failed
tried /usr/lib/pd/extra/Gem/gem.l_i386 and failed
tried /usr/lib/puredata/extra/gem.l_i386 and failed
tried /home/digithree/pd-externals/gem.l_i386 and failed
tried /usr/local/lib/pd-externals/gem.l_i386 and failed
tried /usr/lib/puredata/extra/gem.l_i386 and failed
tried /usr/lib/pd/extra/gem.l_i386 and failed
tried ./gem.pd_linux and failed
tried /usr/lib/pd/extra/Gem/gem.pd_linux and failed
tried /usr/lib/puredata/extra/gem.pd_linux and failed
tried /home/digithree/pd-externals/gem.pd_linux and failed
tried /usr/local/lib/pd-externals/gem.pd_linux and failed
tried /usr/lib/puredata/extra/gem.pd_linux and failed
tried /usr/lib/pd/extra/gem.pd_linux and failed
tried ./gem/gem.l_i386 and failed
tried /usr/lib/pd/extra/Gem/gem/gem.l_i386 and failed
tried /usr/lib/puredata/extra/gem/gem.l_i386 and failed
tried /home/digithree/pd-externals/gem/gem.l_i386 and failed
tried /usr/local/lib/pd-externals/gem/gem.l_i386 and failed
tried /usr/lib/puredata/extra/gem/gem.l_i386 and failed
tried /usr/lib/pd/extra/gem/gem.l_i386 and failed
tried ./gem/gem.pd_linux and failed
tried /usr/lib/pd/extra/Gem/gem/gem.pd_linux and failed
tried /usr/lib/puredata/extra/gem/gem.pd_linux and failed
tried /home/digithree/pd-externals/gem/gem.pd_linux and failed
tried /usr/local/lib/pd-externals/gem/gem.pd_linux and failed
tried /usr/lib/puredata/extra/gem/gem.pd_linux and failed
tried /usr/lib/pd/extra/gem/gem.pd_linux and failed
gem: can't load library
input channels = 2, output channels = 2
audio buffer set to 25
opened input device name hw:0
configuring sound input...
Sample width set to 2 bytes
configuring sound output...
Sample width set to 2 bytes
tried but couldn't sync A/D/A
So I've added the word "gem" (with no quotes) to the Startup list, and the external library locations (whose paths can be seen in the above output) yet it doesn't work.
Any ideas? I've verified that both pd and gem are installed and at the lastest version. I'm using Ubuntu 11.10
Thanks
Beatmaker Abstract
http://www.2shared.com/photo/mA24_LPF/820_am_July_26th_13_window_con.html
I conceptualized this the other day. The main reason I wanted to make this is because I'm a little tired of complicated ableton live. I wanted to just be able to right click parameters and tell them to follow midi tracks.
The big feature in this abstract is a "Midi CC Module Window" That contains an unlimited (or potentially very large)number of Midi CC Envelope Modules. In each Midi CC Envelope Module are Midi CC Envelope Clips. These clips hold a waveform that is plotted on a tempo divided graph. The waveform is played in a loop and synced to the tempo according to how long the loop is. Only one clip can be playing per module. If a parameter is right clicked, you can choose "Follow Midi CC Envelope Module 1" and the parameter will then be following the envelope that is looping in "Midi CC Envelope Module 1".
Midi note clips function in the same way. Every instrument will be able to select one Midi Notes Module. If you right clicked "Instrument Module 2" in the "Instrument Module Window" and selected "Midi input from Midi Notes Module 1", then the notes coming out of "Midi Notes Module 1" would be playing through the single virtual instrument you placed in "Instrument Module 2".
If you want the sound to come out of your speakers, then navigate to the "Bus" window. Select "Instrument Module 2" with a drop-down check off menu by right-clicking "Inputs". While still in the "Bus" window look at the "Output" window and check the box that says "Audio Output". Now the sound is coming through your speakers. Check off more Instrument Modules or Audio Track Modules to get more sound coming through the same bus.
Turn the "Aux" on to put all audio through effects.
Work in "Bounce" by selecting inputs like "Input Module 3" by right clicking and checking off Input Modules. Then press record and stop. Copy and paste your clip to an Audio Track Module, the "Sampler" or a Side Chain Audio Track Module.
Work in "Master Bounce" to produce audio clips by recording whatever is coming through the system for everyone to hear.
Chop and screw your audio in the sampler with highlight and right click processing effects. Glue your sample together and put it in an Audio Track Module or a Side Chain Audio Track Module.
Use the "Threshold Setter" to perform long linear modulation. Right click any parameter and select "Adjust to Threshold". The parameter will then adjust its minimum and maximum values over the length of time described in the "Threshold Setter".
The "Execution Engine" is used to make sure all changes happen in sync with the music.
IE>If you selected a subdivision of 2, and a length of 2, then it would take four quarter beats(starting from the next quarter beat) for the change to take place. So if you're somewhere in the a (1e+a) then you will have to wait for 2, 3, 4, 5, to pass and your change would happen on 6.
IE>If you selected a subdivision of 1 and a length of 3, you would have to wait 12 beats starting on the next quater beat.
IE>If you selected a subdivision of 8 and a length of 3, you would have to wait one and a half quarter beats starting on the next 8th note.
http://www.pdpatchrepo.info/hurleur/820_am,_July_26th_13_window_conception.png
Bad lib path? on Gentoo,cant run Androidome/MLR tutorial due to libs.
Hi all,
posted this to the list, but no answer -- no discussion! decided to repost here.
I added pd-overlay from layman, and have installed the following:
[ebuild R ] puredata-base/pd-extended-0.42.5 USE="adaptive alsa
bassemu boids bsaylor creb cxc cyclone earplug ekext ext13 flashserver
flatspace flib freeverb gem2pdp ggee hcs hid iem16 iem_adaptfilt
iem_ambi iem_bin_ambi iem_delay iem_matrix iem_roomsim iem_spec2
iem_tab iemgui iemlib iemmatrix iemxmlrpc jasch_lib loaders mapping
markex maxlib mjlib moocow moonlib motex mrpeach oscx pan pdcontainer
pddp pdogg pdp pdp_opengl pidip pmpd postlude sigpack smlib tof toxy
unauthorized vanilla vbap windowing zexy -debug -fftw -jack
-portaudio" 0 kB [1]
Why the article at gentoo wiki tells me to remove oscx&zexy flags from build? I didn't listened to it though.
With a few tricks, a working alsa/timidity++/puredata chain was set up
and running, to reference for other newcomers:
pdextended -alsa -alsamidi -stderr -verbose -d (config at pastebin:
http://pastebin.com/8p0rcd41 )
The following files were installed to my system: (filelist with paths:
http://pastebin.com/F9yymAPH )
Now, wanted to install Androidome's script,
http://androidome.googlecode.com/files/AndroidomeRouter.pd
Multiple errors came about missing functions (like mrpeach/udpsend),
and in the UI they were outlined in red.
Also the debug log shown that search under multiple paths (none
included /usr/lib/pdextended/extra/mrpeach)
was failed for that functions.
Looks like http://www.mail-archive.com/pd-dev@iem.at/msg04901.html,
but checks more paths.
udpreceive 8080
... couldn't create
tried /usr/local/lib/pd-externals/sprintf.l_ia64 and failed
tried /usr/lib/pd-extended/extra/sprintf.l_ia64 and failed
tried /usr/local/lib/pd-externals/sprintf.pd_linux and failed
tried /usr/lib/pd-extended/extra/sprintf.pd_linux and failed
tried /usr/local/lib/pd-externals/sprintf/sprintf.l_ia64 and failed
tried /usr/lib/pd-extended/extra/sprintf/sprintf.l_ia64 and failed
tried /usr/local/lib/pd-externals/sprintf/sprintf.pd_linux and failed
tried /usr/lib/pd-extended/extra/sprintf/sprintf.pd_linux and failed
tried /usr/local/lib/pd-externals/sprintf.pd and failed
tried /usr/lib/pd-extended/extra/sprintf.pd and failed
tried /usr/local/lib/pd-externals/sprintf.pat and failed
tried /usr/lib/pd-extended/extra/sprintf.pat and failed
sprintf connect %s 8080
... couldn't create
tried /usr/local/lib/pd-externals/mrpeach.l_ia64 and failed
tried /usr/lib/pd-extended/extra/mrpeach.l_ia64 and failed
tried /usr/local/lib/pd-externals/mrpeach.pd_linux and failed
tried /usr/lib/pd-extended/extra/mrpeach.pd_linux and failed
tried /usr/local/lib/pd-externals/mrpeach/mrpeach.l_ia64 and failed
tried /usr/lib/pd-extended/extra/mrpeach/mrpeach.l_ia64 and failed
tried /usr/local/lib/pd-externals/mrpeach/mrpeach.pd_linux and failed
tried /usr/lib/pd-extended/extra/mrpeach/mrpeach.pd_linux and failed
error: [import]: can't load library in 'mrpeach'
... you might be able to track this down from the Find menu.
Which declare's should be added to ~/.pdextended to allow search in
/usr/lib/pdextended/extra/mrpeach and other directories?
Also it seems that
http://docs.monome.org/doku.php?id=dev:pd:simple_mlr uses an old
version of OSC (guess I name the things correctly and dont call fish an aardvark api), function names in code are like dumpOSC instead of packOSC; how to run the script at the link above with 0.42.5, can anyone tell here? (will also bug monome's list).
http://www.pdpatchrepo.info/hurleur/2010-12-28-171813_473x410_scrot.png
Bad lib path? on Gentoo,cant run Androidome/MLR tutorial due to libs.
Hi all,
posted this to the list, but no answer -- no discussion! decided to repost here.
I added pd-overlay from layman, and have installed the following:
[ebuild R ] puredata-base/pd-extended-0.42.5 USE="adaptive alsa
bassemu boids bsaylor creb cxc cyclone earplug ekext ext13 flashserver
flatspace flib freeverb gem2pdp ggee hcs hid iem16 iem_adaptfilt
iem_ambi iem_bin_ambi iem_delay iem_matrix iem_roomsim iem_spec2
iem_tab iemgui iemlib iemmatrix iemxmlrpc jasch_lib loaders mapping
markex maxlib mjlib moocow moonlib motex mrpeach oscx pan pdcontainer
pddp pdogg pdp pdp_opengl pidip pmpd postlude sigpack smlib tof toxy
unauthorized vanilla vbap windowing zexy -debug -fftw -jack
-portaudio" 0 kB [1]
Why the article at gentoo wiki tells me to remove oscx&zexy flags from build? I didn't listened to it though.
With a few tricks, a working alsa/timidity++/puredata chain was set up
and running, to reference for other newcomers:
pdextended -alsa -alsamidi -stderr -verbose -d (config at pastebin:
http://pastebin.com/8p0rcd41 )
The following files were installed to my system: (filelist with paths:
http://pastebin.com/F9yymAPH )
Now, wanted to install Androidome's script,
http://androidome.googlecode.com/files/AndroidomeRouter.pd
Multiple errors came about missing functions (like mrpeach/udpsend),
and in the UI they were outlined in red.
Also the debug log shown that search under multiple paths (none
included /usr/lib/pdextended/extra/mrpeach)
was failed for that functions.
Looks like http://www.mail-archive.com/pd-dev@iem.at/msg04901.html,
but checks more paths.
udpreceive 8080
... couldn't create
tried /usr/local/lib/pd-externals/sprintf.l_ia64 and failed
tried /usr/lib/pd-extended/extra/sprintf.l_ia64 and failed
tried /usr/local/lib/pd-externals/sprintf.pd_linux and failed
tried /usr/lib/pd-extended/extra/sprintf.pd_linux and failed
tried /usr/local/lib/pd-externals/sprintf/sprintf.l_ia64 and failed
tried /usr/lib/pd-extended/extra/sprintf/sprintf.l_ia64 and failed
tried /usr/local/lib/pd-externals/sprintf/sprintf.pd_linux and failed
tried /usr/lib/pd-extended/extra/sprintf/sprintf.pd_linux and failed
tried /usr/local/lib/pd-externals/sprintf.pd and failed
tried /usr/lib/pd-extended/extra/sprintf.pd and failed
tried /usr/local/lib/pd-externals/sprintf.pat and failed
tried /usr/lib/pd-extended/extra/sprintf.pat and failed
sprintf connect %s 8080
... couldn't create
tried /usr/local/lib/pd-externals/mrpeach.l_ia64 and failed
tried /usr/lib/pd-extended/extra/mrpeach.l_ia64 and failed
tried /usr/local/lib/pd-externals/mrpeach.pd_linux and failed
tried /usr/lib/pd-extended/extra/mrpeach.pd_linux and failed
tried /usr/local/lib/pd-externals/mrpeach/mrpeach.l_ia64 and failed
tried /usr/lib/pd-extended/extra/mrpeach/mrpeach.l_ia64 and failed
tried /usr/local/lib/pd-externals/mrpeach/mrpeach.pd_linux and failed
tried /usr/lib/pd-extended/extra/mrpeach/mrpeach.pd_linux and failed
error: [import]: can't load library in 'mrpeach'
... you might be able to track this down from the Find menu.
Which declare's should be added to ~/.pdextended to allow search in
/usr/lib/pdextended/extra/mrpeach and other directories?
Also it seems that
http://docs.monome.org/doku.php?id=dev:pd:simple_mlr uses an old
version of OSC (guess I name the things correctly and dont call fish an aardvark api), function names in code are like dumpOSC instead of packOSC; how to run the script at the link above with 0.42.5, can anyone tell here? (will also bug monome's list).
http://www.pdpatchrepo.info/hurleur/2010-12-28-171813_473x410_scrot.png
Traktor (will work with others)Coge Midi clock Sync with OSC
This is a cross platform alternative for synchronizing two(or more) different computers to one Midi Clock.
Since one will have coge this will be between a Mac OSX and windows running traktor that produces midi clock.
For windows Midi Yoke (tested in XP) to wrap Midi clock to Pure Data extended (tested with v 0.41.4) from there the clock will be sent has an OSC message to one or all network computer(s). On the listening side there will be one other Pure Data patch converting a specific OSC message to Midi clock. Then coge can catch this midi clock just by clicking "Midi clk".
This is nothing special but it took me almost 3 weeks to accomplish it. Given that i knew nothing about pure data at the time, this site was very helpful. All examples were gathered from here.
Also note that this is not the best way.
There are Midi cables for this.
There are usb to midi converters, for those who don't have midi ports. Also external sound boards quite good with several inputs and outputs.
I have experienced a +/- 3 Beats float of BPM count on coge but always around the correct number, over time this seems to float less.
This still lacks testing.
Anyway.
You'll need Pure data extended on every machine.
You'll need Midi Yoke on Windows.
You can use Yac Driver on Mac OSX for midi wrap.
Don't know for linux, sorry. (read somewhere something about jack)
On pure data you'll need to define the midi device input or output which ever is the case.
On windows it's easy on any pure data windows you can set midi devices, choose midi Yoke (the channel number should be the same in the receiver input and sender output).
On OSX it's on the main window, under preferences.
If using this with quartz composer one can skip the pure data on the OSC server side (which is the one that listens). If adding more functions to this keep in mind that quartz composer does not understands 0 arguments messages. (I think this should be a bug)
You are advised to change the IP on the pure data patch to which ever is your destination. You can use 0.0.0.0 to broadcast. Don't use wireless, it's a 0 security communication protocol.
Hope to save someone's time. GL