I have developed for LMMS for a few months now, not as long as the other developers. I'm sure they will have input as well, but I feel like responding to you in the meantime.
My understanding is you want to make a hardware sequencer. The hardware isn't actually a sequencer, but is only a control box that sends commands to a host computer? Is that correct?
I'm also guessing you will make the device act as a standard USB HID device is that correct? Doing so will save alot of money on hardware as well as help development. Linux has a driver, usbhid, that has an "easy to use" userland library, so no kernel hacking required.
About using LMMS as a library. In the current state, this is not possible. I spoke to Toby about this in the past. We are too closely tied to QT to fully realize an independent "lmmslib". We are doing architecture changes currently, but that still won't solve your endeavor.
Now, it sounds like LMMS has all the features you need, but only lacks the input/output you require? For example, a song can actually be a "set" or "show", the different patterns are actually different Beat+BassLines, etc.. But, you don't have means of fetching or setting the BassLine. Or, there is no way to create a new Instrument Track, etc...
Basically I can think of two different ways to solve this. This is where Toby and Javier will probably have something to say. First way (the lazy way): we can put the usbhid userland driver code straight into LMMS. This is good, especially if you plan on manufacturing and selling these control boards (I might even buy one). Of course, this bloats up the code and there isn't a solution for windows users.
The second method I can think of is LMMS could actually support an API that allows remote control. This API can be accessed through IPC (sockets, FIFO files, doesn't matter to me). The benefit of this is it doesn't tie your code straight into ours. Secondly, it could allow developers to make other useful scripts that can control LMMS's parameters. Maybe this could be the foundation of a "General Plugin" interface? There are all sorts of nifty possibilities here. The downside: Someone has to design this API, worst, someone has to implement it and we are already very busy.
Anyways, those are my ideas, let me hear what you think, and do not take anything I said as a definitive answer.
My name is Raffaele and i'm studying control engieering at the TorVergata UNiversity of Rome.
I like music so much that i would like to buy a sequencer, but it's so expensive :s
So i would like to make an external sequencer wich one could turn regulator and press button, like a real sequencer.
Then signals are sent to lmms via usb (or something other port) and they change current sound parameter
(current sound that is also selectable by sequencer self). So one could use lmms' beatbox like if he has ten hands and mice...
Electronic cost could be lower then 100EUR (instead of 700EUR for Korg electribe), but to create circuits first i should study how lmms is
So: is there any guide that explain lmms concepts libraries and sources?
Obiously if i could create both electronics and programming then i will share with all community my progresses and also ideas, and discuss on them.
Let me know,
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
LMMS-devel mailing list