On Sat, Nov 20, 2010 at 04:03:44PM -0800, Dale March wrote: > Hello, > I am trying to use midish to automate some lights in a show based on MTC > of music playing from a hard disk recorder. > I normally use a behringer BCF-2000 control surface to control Q light > Controller (running also on Linux) to manually control the lighting. > For a show we are doing I would like to automate this somewhat. > > I am using midish.tar.gz development as recommended on the web site > compiled on Ubuntu 10.01. > > If I connect QLC via midi to the BCF directly sliders knobs and buttons > work as expected. > If I map them thru midish as below. all values keep trying to return to > 0. > If I move a slider up, it will make its way back down to 0. I suspect that > is because they are being treated as notes and last only one beat with the > feed back loop on position causing them to jerk there way down. hmm... afaik, the bcf-2000 is not sending notes. I suspect there's a loop in the midi "circuit". Is the light controller sending feedback or acting as a ``midi thru box''? > How do I make the controls stick? > > dmarch@Aspire1:~/Show$ rmidish > send EOF character (control-D) to quit > [0000:00]> inew qlc {0 0} # the qlc program (dnew 0 "midi thru" rw is in > midishrc) > [0000:00]> onew qlc {0 0} > [0000:00]> inew board {1 0} # the behringer board (dnew 1 "usb-midi" rw in > midishrc) > [0000:00]> onew board {1 0} > [0000:00]> fnew filter1 > [0000:00]> fmap {any {1 0}} {any {0 0}} > [0000:00]> fmap {any {0 0}} {any {1 0}} > [0000:00]> tnew lights2 > [0000:00]> > [0000:00]> r > [0000:00]> 0: sensing enabled > 3 31:01 s > [0000:00]> save "lights2" > > If you have any recommendations on how I might do this, or software that > might be more suitable for this task, I would appreciate any comments. I would do it almost the same way, but with a single filter rule, ex: fnew filter1 fmap {any 1} {any 0} tnew lights2 r At this point, any events from the control surface (ie dev 1) get their device number changed to 0, ie they are routed to the light controller. Resulting events (with dev number 0) are recorded on the track. When the track is played back events are sent to their respective device, so all events go to the light controller. Since, no events with device number 1 are recorded, during playback no events will be sent to the control surface, so motorized faders won't move. If you wan't faders to move, you have to duplicate events: fmap {any 1} {any 1} this is somewhat hackish, sorry there's no ``monitoring'' rules in midish yet. I'd avoid this if it's not necessary. You said, you're using MTC, but with above setup midish will use the system clock, which might be out of sync with the recorder. To synch midish to the recorder, you have to specify the MTC source device, eg: dnew 2 "<recorder midi port>" ro dmtcrx 2 At this stage ``r'' and ``p'' will start waiting for the MTC start signal from the recorder, then midish will use the recorder's clock. Ah, last point, I'd open the light controller in write only mode, to avoid recording any events received from it. If for any reason you have to keep read-write mode, you can also filter out events from it: fmap {any 0} {none} -- AlexandreReceived on Sun, 21 Nov 2010 13:22:53 +0100
This archive was generated by hypermail 2.1.8 : Wed Nov 08 2017 - 16:32:22 CET