Everyone who has been following the discussion on “open source perceptions” (see this topic) might have seen that there are several ideas about developing an open source protocol router that can be used in conjunction with projects made by the rapidly evolving Open Source Hardware community.
This is the place where we collect information about the (Serial to OSC) multifunctional router application, which will be developed by the monome community. We need your input, so please share your thoughts and ideas to help us realize this community driven project. Please add your name to the list at the bottom if you would like to help out with the project.
This application would be a real nice addition to currently available software and “hardware drivers”. With all recent open hardware developments it would save contributors lots of time not having to write a custom driver/application every time. Think about applications such as monomeSerial, stribeSerial, arduinomeSerial, serial-pyio, [bon]ome (RGB Arduinome) and all derivatives that are currently in development.
Discussion about this subject are currently going on in the forum thread: http://post.monome.org/comments.php?DiscussionID=2297
(Configuration options depending on the underlying protocol & features of the physical device)
I don't think that this approach is necessary - and I consider it rather complicated. Have a look at: http://in.das-werkstatt.com/rooker/diplarbeit/flow_chart_v0.1.pdf Input/Output possibilities are well definied "in itself" and are translated by combining elements to so called "semantic widgets".
This should be handled by a good logging engine that can handle different loglevels and multiple output possibilities (console, file, ...). e.g. in serial-pyio we're using Python's standard logging which does just that: http://www.onlamp.com/pub/a/python/2005/06/02/logging.html
What programming language should be used, what is the most portable / flexible for our purpose?
This could become a bloody mess, but we'll have to face it anyway. The following block only represents ^Rooker's opinion (until touched by someone else): <currently just for Python>
I registered here as I like the idea which is similar to what I wrote some time ago in sequencer.de forum, here: http://www.sequencer.de/synthesizer/viewtopic.php?f=47&t=37685 , which is unfortunately in German. But you might try Google translations for the beginning. The idea is to have a “Plug'n'Control” standard for hardware midi controllers for any kind of TARGETS which can deal with midi input event sets. It is building up a system which can process and map in real-time multiple inputs to multiple outputs. Both inputs and outputs can not only be single midi events but more generally any midi event sets which the midi protocol link/channel capacity can handle. The goal is to have a modular software system which can be controlled and extended by the user community rather than by Novation, Mackie, Ableton, NI or any other hardware or software developer company. This modular software system could be categorized into two areas:
Well, if you read my German posts in the given link above you should get the idea a little better I hope.
The name should be short, cool, unique and google-safe (non ambiguous).
junXion - data routing app for OSX: http://www.steim.org/steim/junxion_v3.html
Serial-PYIO: monome wiki - Sourceforge page
OSC monitor & utils: http://post.monome.org/comments.php?DiscussionID=1153
GlovePie - programmable input emulator: http://carl.kenner.googlepages.com/glovepie
iStuff - A Physical User Interface Toolkit for Ubiquitous Computing: http://hci.stanford.edu/research/istuff/ballagas2003a.pdf
Firmata - Generic protocol for communicating with microcontrollers from software on a host computerArduino Playground page on Firmata
mapd - long sleeping graphical widget interface
we can seperate discussions/questions by using code blocks, in this case "code html".
Q: What do you mean by "keypress" under "XML protocol mapping config files" ? melka A: read/simulate pressing a button on a computer keyboard. ^Rooker