Re: $3 MCP MIDI controller

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, 18 Apr 2015, Johannes Kroll wrote:

On Fri, 17 Apr 2015 22:19:09 -0700 (PDT)
Len Ovens <len@xxxxxxxxxxxxx> wrote:

On Fri, 17 Apr 2015, Johannes Kroll wrote:

On Wed, 15 Apr 2015 22:10:40 -0700 (PDT)
Len Ovens <len@xxxxxxxxxxxxx> wrote:

Take a second keyboard from the dollar store (mine is USB) add a driver
and it can control the DAW.
http://www.ovenwerks.net/hardware/index.html

I get 5 channel strips and enough keys left to emulate al the rest of the
mackie controller keys with one or two left over.

That's a nice hack. Is the code available somewhere?

There is now a link at the bottom of the above page. It is my first ever software release and there are things missing... no configure script (which would take a lot longer to run than make does in this case) so make sure you have the include file for libjack installed :)

This (as above) a hack in many ways. The user needs to find out which event file (device) to point at and put that in the command line. This will change depending on if the device is plugged before or after boot. Comments and hints are welcome.


documentation as well. I also fear that my crude attempts at realtimeness
are less than they should be. I have not seen any xruns show up, but I
don't have any memlocks for the variables I use for the faders, cc and
LEDs. If you think about it, this is not a lot of memory, 3 LEDs, 16
Faders/pitchbend max, and 127 cc max though I think I allow for 50 because
two keys are used for each cc and the keyboard has just over 100 keys :)

AFAIK, Jack automatically locks the memory of Jack clients, so you
don't need to worry about that. As for realtimeness, you shouldn't do
anything in the jack callbacks that blocks or takes an unknown/large
amount of time. So, no heap memory allocations
(new/delete/malloc/free), no printf(), no reading or writing to files
or sockets. If you need to do blocking stuff, you can write messages to
a jack_ringbuffer, then read and process the messages from another
thread (probably your main thread).

Mostly I think I am ok. I do read/write the same memory locations in both the call back and main() Most processing is very quick.

--
Len Ovens
www.ovenwerks.net

_______________________________________________
Linux-audio-user mailing list
Linux-audio-user@xxxxxxxxxxxxxxxxxxxx
http://lists.linuxaudio.org/listinfo/linux-audio-user




[Index of Archives]     [Linux Sound]     [ALSA Users]     [Pulse Audio]     [ALSA Devel]     [Sox Users]     [Linux Media]     [Kernel]     [Photo Sharing]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux