-
tilllt
Hey People,
for my live setup - we are using a macbook anyway so its ok to have PD running - i am routing the Behringer FCB1010 Footpedal to various things. I was following the mailinglist on the FCP1010 for a while but these custom eproms people there are using still looked kind of unflexible to me - not to speak about the internal programming feature of the foot pedal, which is a (complicated) joke.
So i decided to make a PD patch which can route:
- Signals to multiple Midi-Outs
- Expression Pedals to any Parameter
- Use footswitches as either on-off toggles, one-shot trigger or patch changer
i left the FCB1010 in default programm, sending its output exclusively to PD, transforming the data to which i want to and then use internal Midi Routing via IAC (on the mac) to send it to software or routing it to other midi out, a Line6 Pocketpod in my case.
Its my first patch so it is kind of horrible probably (but working for my purpose), so i wanted to ask for suggestions what i could optimize.
maybe if some of you can spare a minute to check it out, that would be great.
btw. i receive midi with my M-audio FW410 from the FCB1010, sending it to Live internally and Line6 Pocketpod connected via USB.
ciao,
t -
tilllt
hello,
i couldnt find anything here about it so i guess i have to ask ... is there an existing patch to synchronize two pd / gem (running on different computers, connected by ethernet) to playback a synchronized videos (for a two channel video installation)? If not, theoretically how can this be done? When i was getting into GEM some years ago, there was also a limitation for the length of the video that could be loaded (because it was loaded into the RAM entirely) AND the video player could not playback sound. do these limitations still exist? or does maybe anyone know a solution for this with other software that is specifically made for this purpose? Timecode synced DVD players are not an option - too expensive to rent.
cheers,
till -
tilllt
Hello,
please excuse my stupidity both in programming and generally in understanding PD. i've been trying to figure a way to convert a frame number (received with OSC) to a timecode but the code i tried to adapt from a matlab script by Malcolm A. MacIver that i found here http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectId=1116&objectType=File
involves some for...loop and i dont know how to do the same in PD... can anyone explain, please?
i guess the field part of the smpte timcode (and other bits of information) are usually not needed, for most people HH:MM:SS:FF Information will be ok... maybe with an adjustable framerate between 30 (ntsc) and 25 (pal)greetings,
tillfunction smpte = dec2smpte(init, framecount, field) % convert the smpte time from the total elapsed frames and field as an integer % to the new smpte time first_field=init(9); weight=[1080000 108000 18000 1800 300 30 10 1]; ns=[]; remain=framecount; for i=1:8 ns(i)=floor(remain/weight(i)); remain=remain- (ns(i)*weight(i)); end if strcmp(first_field,':') second_field='.'; else second_field=':'; end if field==1 field_flag=first_field; else field_flag=second_field; end smpte=[ ... num2str(ns(1)) num2str(ns(2)) ':' ... num2str(ns(3)) num2str(ns(4)) ':' ... num2str(ns(5)) num2str(ns(6)) field_flag ... num2str(ns(7)) num2str(ns(8))];
different approach here
function itc (int "framecount", float "rate", bool "ms") { rate=default(rate,25) ms = default(ms, false) drop = (rate==29.97)? true : false rate2 = (drop==true)? 30 : rate hours=floor((framecount/rate)/3600)%60 mins=floor((framecount/rate)/60.0)%60 secs=floor(framecount/rate)%60 milli=floor(1000*framecount/rate)%6000%1000 fmilli=framecount/rate - floor(framecount/rate) #frames=floor(fmilli*rate2) frames=framecount%int(rate) dframes = (drop==false)? frames : (secs==0)&&(mins%10!=0)? floor(fmilli*rate2) + 2 : frames return (ms==false)? (string(hours,"%02.0f")+":"+string(mins,"%02.0f")+":"+string(secs,"%02.0f")+":"+string(frames,"%02.0f")) : \ (string(hours,"%02.0f")+":"+string(mins,"%02.0f")+":"+string(secs,"%02.0f")+":"+string(milli,"%03.0f")) }
-
tilllt
Hi,
i am completely new to PD but before i really get into it i need to do some basic research...
i am looking into the possibility of performing a live score for my diploma movie (~60min) . we did some experiments hooking up the (SMPTE) timecode out of an analog betaSP VTR to a "motu midi timepiece" converting it to mtc and then going into max / msp of my friends powerbook. this approach is easy, failsafe and it works but as i am not a student anymore it is practically impossible to access a betacam player for this purpose - so i'd rather use a software-only solution, which could be distributed on more than one computer, if necessary, though.
when i tried to load my 60 min movie with pix_film (or pix_movie whatever it is called) PD crashed immediately, i bet it is trying to load the whole movie into RAM, which is not possible, even with the "small" DV compressed version. we would even prefer a DVCPro HD compressed movie which would be much bigger than the DV version. i was looking for a movie player which can be controlled by OSC but didnt find anything. in a "perfect" projection environment i would like to project the movie using an HD video projector.
the other question is, that unlike most video projections for media arts, i need to have the whole setup perfectly in sync, as i would play at least 2 tracks (rather 4) of direct location sound along the movie, which has to stay in lip-sync for 60 minutes.
furthermore, i was looking into a scoring interface like OTL to have a graphical score for the movie, controlling certain dramatical parameters automatically.
can anyone give an me advise if the idea for a setup like this is theoretically possible to realize or should i quickly forget about it ?
thanks in advance,
till -
tilllt
Excellent, thank you so much.
What i am imagining is a modular midi patching setup, where people can provide their own device abstractions and connect them with the input devices of their choice. Obviously this needs some transforming modules as well, i.e. CC routing from one midi channel to another, midi note conversion, macro player would be nice...
also if i look at my behringer fx2000 it seems kind of complicated to construct a gui, as sometimes CC values control a hz parameter (i.e. for auto panning) sometimes a ms value (reverb) sometimes ON/OFF Parameters etc.
might be a good learning project at least, even if it is only to find out that it is too complicated to achieve.
-
tilllt
Is there a way to recall strings including spaces with the [my.hero] abstraction? Instinctively i tried to wrap a longer string in single / double quotes but that doesnt work. I would like to load a descriptive text for presets, which would be kind of messed up if i wrote it without spaces or underlines instead of spaces...?
-
tilllt
thanks for sharing the idea with state saving.
I tried to get into that to make a more modular version of my FCB1010 Floorboard patch but i am kind of lost with the [param] external. I am not sure if it is a limitation of the external itself or if i am doing something wrong. i was thinking it might be a good idea to make abstractions for the devices i have, defining their "tweakable" parameters as [param] files and load them into my patch.
The problem is, [param] neither allows namespaces, nor subdirectories for storing the data... it saves the stuff in the same directory as the root patch, naming them after the root patch. which does not work for me. imagine you define 5 external midi devices with all the parameters, all the files all called the same etc.
so my question: are there other options for state saving / routing / restoring, which might be more suited to this specific task, which means, either subdirectories for parameter saving, or definable names for the saved states etc?
Here is an example of how i would define one of the tweakable parameters for the Line6 PocketPod, each one in one File, so this could be "pp_params_001.param"
/PocketPodParameters_Name symbol Tweak; /PocketPodParameters_MidiCC float 1; /PocketPodParameters_ParamLimitHi float 127; /PocketPodParameters_ParamLimitLo float 0; /PocketPodParameters_Notes symbol 0=Blend/Blend, 1=Split/ Blend, 2=Blend/Split, 3=Split/Split;
I think with the [save.me] abstraction this is not possible, haven't checked out SSSAD - or what else might be worth looking at for what i want to do?
cheers,
t. -
tilllt
Hey Ralf,
on my macbook pro / lion 10.7.4 and PD Extended 0.42.5 your patch opens fine - in much less than 3 minutes. I just wanted to check it out quickly and open some samples but failed already... where is the open sample dialog?? - i guess a little manual / how to would be nice.
cheers, t.
-
tilllt
Well, i even have a Quicktime Java Player that a friend programmed me that is sending its frame numbers via OSC. The question would be how to keep the other computer in sync. i guess it is not possible to just set the other video to the same frame number at least if you want to have syncronization frame accurate... rather one computer sending out a "SYNC" pulse and the others advancing the video along that. This still doesnt solve the problem of how to play audio along, also in sync. Anyways, i was wondering if somebody already dealt with this problem because my PD knowledge is not enough to make a patch like that anyway.
-
tilllt
the registry patch doesnt work, at least on my system,
xp sp2 -
tilllt
hey sunji,
very good idea, i think i will try to make a quicktime with 5 (or 3) channel audio, 4 (2) tracks of on location sound and one smpte timecode track - can PD decode this? ... still i think it would be good to have a failsafe setup, so maybe one computer should play only the movie and the corresponding sound and another should deal with all the pd stuff. so if pd crashes it would still be possible to watch the movie. this would involve extra audio hardware inputs for the PD machine plus possible latency problems etc. but of course it would be desirable to have control over effects and possible mashups in PD using the original sound as the source...
And: i am currently working in windows, i have a dual-boot ubuntu on the machine but all my editing tools are windows only so i have to check what similar solutions to Jack exist in windows.Thanks so far, i will report whats happening with the project.
till