monome: community
news
events
applications
projects
hardware
arduinome
help
trade
ioflow
movie
open
not signed in (sign in / register)
Vanilla 1.1.10 is a product of Lussumo. More Information: Documentation, Community Support.
-
- CommentAuthorjosh
- CommentTimeJan 14th 2009 edited
hey,
i've been working on an application that gives me an adaptable midi control aplication for ableton live (or any other daw). my approach was to create a midi controller app with a flexible layout. i want to add or remove faders/buttons when i use it for diffrent things.
monocontrol:
at the leftern side is a navigation bar that lets you skip through 8 diffrent views. in every view you can create faders, pushbuttons, togglebuttons, notebuttons ond a crossfader (in my layout, there is the same crossfader in every view to have it accesible all the time). at the moment you'd have to do this in the code, but i'm thinking about letting the app read an xml file which holds the controller layout, oder probably even write somethin like an editor..
if its configured right, ableton should report all controll changes to monocontrol which adjusts the leds on the monome.
Look at a Video at http://www.vimeo.com/2820491
as additional features i thought about adding a flexible stepsequencer or the option to assign a speed to the faders.. what would you find useful in this context?
cheers, josh
PS: Here's the download with source.
http://hitmakerz.de/Josh/MonoControl0.2.zip
Should work on win, mac and linux but is only testet on mac. you'll need mmj to see your correct midi ins and outs on mac. (http://www.humatic.de/htools/mmj.htm)
//
// Current releas: http://hitmakerz.de/Josh/monocontrol_05.zip
// -
-
CommentAuthoredison
- CommentTimeJan 14th 2009 edited
yo....
this is really sick man!
id love to rock some of this....
but i think an editor is in order....
it would be amazing to be able to tailor layouts to songs.....
keep us posted!!!
oh and ps......
that beat is sick -
-
-
CommentAuthormaersk (dovemouse)
- CommentTimeJan 14th 2009 edited
This looks awesome! Bit like mapd. It might be nice to add a scroll up and down feature so that if you want more than 8 views you can. Or if you have a big set, just an extra scroll up and down maybe in the top right corner.
Gonna give it a go now.
Good work!
edit: and its written in processing. double cool! -
-
- CommentAuthorjosh
- CommentTimeJan 14th 2009 edited
Hey..
Got the XML import/export working.. having the same control (like the crossfader) on multiple views is still a problem.. sometime it gets updated and sometimes not. but i think it wont be too hard to fix.
Think i'm going to work on the editor now. Writing XML to set up a controller layout sucks. I thought of a system like clicking on a "Add Fader"-button an then pressing two buttons on the monome to create a fader. Same with "Create PushButton Matrix" etc..
too bad i should be learning for a pretty hard "theory of computation" exam...
If someone wants to give the XML version a try:
http://hitmakerz.de/Josh/MonoControl0.2_XML.zip -
- CommentAuthormicktravis
- CommentTimeJan 15th 2009
I'm a little lost. Do I use monomeserial? What's the prefix? If not, how does it talk to Live? -
- CommentAuthorjosh
- CommentTimeJan 15th 2009 edited
oh, yea, monomeserial has to be running, prefix is 40h, i think i'm going to change the prefix in future versions.
as i wanted it to be as flexible as possible its all just plain midi. for every control element you can specify channel and ccValue.
you need two inter application midi devices. one for input, one for output.
for example, you selected "iac bus 1" as your output and "iac bus 2" as your input in monocontrol, then you got to enable remote input for iac1 and remote output for iac2 in live. if you have noteButtons in your layout, you got to set up track in and out in the same way.
hope this helps, josh -
-
CommentAuthormaersk (dovemouse)
- CommentTimeJan 15th 2009 edited
any chance we can have a look at the source code?
this looks like it could go places!
edit: just saw the link. duh! -
-
- CommentAuthorjosh
- CommentTimeJan 15th 2009
source is included, but be aware, theres absolutely no comments in it.. i'm planning on changing this.. -
- CommentAuthorjosh
- CommentTimeJan 19th 2009 edited
I have a new version ready!
Features:
- easily create, delete, edit(change cc or midi channel) faders, crossfaders, toggle, push and notebuttons (single or as matrix) at runtime.
- faders and crossfaders can have any length. a crossfader with the length of 2 could for example serve as a switch between two tracks in ableton live.
- feedback from the app you control is displayed by the leds, e.g. fader movement
- saving and loading layouts created like this as xml docs
- i decided to not disable layering control objects because i thougt at some point it might be useful.
Heres a screenshot:
http://hitmakerz.de/Josh/monocontrol.tiff
And here's the download:
http://hitmakerz.de/Josh/monoControl_04.zip
I did comment parts of the code. If someone really is interested, let me know and i'll hurry up commenting all of it.
Video coming soon..
Cheers, Josh -
- CommentAuthoralexsg
- CommentTimeJan 20th 2009
this looks extremely useful for controlling live! thanks! -
-
CommentAuthoredison
- CommentTimeJan 20th 2009
yo....so i got this running...
im pretty stoked on the whole idea...
but im stuck....
i cant get the notes to be different......
as in, i create a note button....
i assign that to a function.......
i create another note button...
but cant change the note, to assign it to something else....
if there are two note buttons, they always play the same note no matter what......
i tried the same for push buttons......
same thing...
it kept registering as 1/1 for control messages
so no matter how many buttons you create, they are always the same message......
cant figure it out.....
hopefully this isnt something horribly easy....
lemme konw hoss! -
-
-
CommentAuthorEimhin
- CommentTimeJan 20th 2009
I can get this app to send midi, but the Monome LED's are all garbled from the start. I don't get any led response. I'm on windows XP sp2, and I have the MIDI yoke ports set up proper. -
-
-
CommentAuthoredison
- CommentTimeJan 20th 2009
@ eimhin....
the app loads with a bunch of faders and a crossfade to start...
you have to delete them if you want to start fresh, and then save an xml file so you can open it later.....
i found you just name the template, add .xml at the end then hit save...
to load it...you just type the name of the preset in, and hit load.....
hope that helps homie!
peaces... -
-
- CommentAuthorjosh
- CommentTimeJan 20th 2009
Sorry for that edison, i kind of forgot the "auto-increment" for cc feature. for pushbuttons, it should work if you edit the cc value after you created them. this will be fixed soon. -
- CommentAuthorjosh
- CommentTimeJan 20th 2009 edited
ok, fixed the cc problem. when creating a controller, monoControl searches automatically for an unused cc/channel.
get the new version here: http://hitmakerz.de/Josh/monoControl_041.zip
@eimhin: sorry, i never tested it on windows machines. you should select a diffrent in and out device, then in ableton live, set monoControls input to Lives output for track and remote control. And monoControls output to Lives input for track and remote. if you map a controller now, you shoud get visual feedback and should be able to control the parameter in live.
If monocontrol loads, a testlayout gets loaded with a djing-like setup (crossfader, 3 faders left and right for eq, buttons in the middel).
The setup needed is pretty much that one:
http://wiki.monome.org/view/Tutorial40hAndAbletonLiveXp except you dont have to turn on sync
if you want a blank layout to start, put this file in monoControl/data:
http://hitmakerz.de/Josh/empty.xml
then type empty.xml in the load layout field and hit enter. you could rename it to test.xml to get it loaded every time you open monocontrol. -
-
CommentAuthoredison
- CommentTimeJan 20th 2009
thanks!
ill try this tonight! -
-
- CommentAuthorjiparis
- CommentTimeJan 21st 2009
this is just the kind of app i've waiting for!! . Thank you josh.
A few ideas:
- custom values for on/off cc messages on buttons.
- new button type: autoincrement (adds 1 on each pressing)
- on demand layout loading, based on midi messages. this will allow to change presets for diferent songs.
is there any way to get feedback about clip status? i've only managed to get it on clips with "follow action" active, and for others only during the first loop.
thanks!
jose -
- CommentAuthorjosh
- CommentTimeJan 21st 2009
hm, your ideas sound good. think this is going to be implemented soon.
the buttons really are in some kind of pre alpha version stage... the clip status doesnt work because live sends value 1 on the assigned cc if a loop finished. if it was set that only a 0 would turn the led off, it should work fine. there also still are some problems with noteButtons.. some note/cc confusion.. and the channels turned out to be a little trickey too, as i found out that i need to register diffrent midi input objects for diffrent channels...
another idea i had was a 2d fader. like a touchpad, controling two ccs at the same time.. -
- CommentAuthorjiparis
- CommentTimeJan 21st 2009
the touchpad is a great idea!
another issue i've found is some collision between button release events and cc in midi messages. Depending on the ordering they occur, it may be confusing.
Another idea: a "tempo" button, that lights for a few milliseconds when it receives synchronization mesages. A "tap tempo" button also could be useful. -
- CommentAuthorjosh
- CommentTimeJan 22nd 2009
new video:
http://www.vimeo.com/2923669
the video shows more or less how controller layouts are created. perhaps its a bit booring as i started completely unprepared.
and new version:
http://hitmakerz.de/Josh/monocontrol_042.zip
improovements:
- midi channels work properly you can get notefeedback for diffrent instruments on diffrent channels
- the app tells you what cc the next control object you create will have
- a notebutton matrix is created from ne notevalue you enter upwards regardless if buttons with this value already exist.
- some smaller bugfixes -
-
CommentAuthorEimhin
- CommentTimeJan 22nd 2009
is the prefix still /40h? -
-
- CommentAuthorjosh
- CommentTimeJan 22nd 2009
no, its /monocontrol now.. sorry -
-
CommentAuthormaersk (dovemouse)
- CommentTimeJan 22nd 2009
aha wondering what was up with that. Thanks. -
-
-
CommentAuthorEimhin
- CommentTimeJan 22nd 2009 edited
are the host and listen ports set to 8000 and 8080? I can input just fine, but no LED feedback. I even have it controlling Live's parameters like it should. Hmmm, I guess it's just a windows thing. I'm also using a 128. Is anyone running it on windows without fail? -
-
- CommentAuthorjosh
- CommentTimeJan 22nd 2009
yea, ports are the standart ones.. do you get midi in from live? when you change a controller you assigned in live, the darker blue block in the upper left should blink if you it gets something. as far is i know, the rwmidi library which is the one i used works fine with windows..
to get feedback on notes, you need to create an extra track that sends the data out to your inter app midi.
hope it'll work out.. -
-
CommentAuthorEimhin
- CommentTimeJan 23rd 2009 edited
ahhhh, I didn't know about the extra track in live sending midi back to monocontrol! I'll try that out. Is that explained in the video?
edit: hmmmm, led's seem to be lighting up on the right half of my 128, and not where I am actually pressing. -
-
- CommentAuthorjosh
- CommentTimeJan 23rd 2009
hmm. the track is only for notes. faders or cc buttons should work without any other setup than selecting the right ins and outs..
monocontrol sends frame commands via osc, perhaps the coordinate system of the 128 is a diffrent?! -
- CommentAuthorjiparis
- CommentTimeJan 23rd 2009
I also have problems in getting midi events from ableton in this new version. I inserted some printlns in the code and it seems that the method controllerChangeReceived is never called. a bug in rwmidi plug mechanism?
I'll try to debug the application in eclipse this afternoon to see what's happening. -
- CommentAuthorjiparis
- CommentTimeJan 24th 2009
Finally I found the cause: You MUST reload the layout after you change the midi input device. can this be changed in future?
I've made some code changes and added an AbletonTrack control object, that it's very useful for me. It represents a column of clips, hence its creation in MonoControl is very similar to the Fader object. The main difference is that in AbletonTrack objects each button correspond to a different CC.
It works well with "standard" clips and it blinks on follow actions.
I had to make minor changes to ViewManager, ControlObject and MonoControl classes, but without breaking the compatibility.
I found extremely simple to add new control types to MonoControl. Perhaps we can collect here a bunch of controls for MonoControl.
Thank you, Josh, for sharing. -
- CommentAuthorjosh
- CommentTimeJan 24th 2009 edited
yeah, i thought the problem might occur with changing the input. think the easiest way to fix it is to automatically reload the layout when changing the input device.. the problem is that control-obects are "plugged" into the input if they are created.. if you change the input, a new input object is created so the "plugs" dont work anymore. i'll have a look at it tomorrow.
what does the ableton track do exactly? its like a single rowed button matrix isnt it? i like the blinking, thinking off adding this as a standart feature so you dont have to implement it inside the control object class.
im really glad it was easy to add something.. maybe it'd be a good idea to make this even easyer.. like with a "plugin" system that automatically loads up all the types creates buttons for them etc... seems like lots of work though.
Cheers, josh
edit: would the ableton track still be nessesary if there were better editing possibilitys for ccvalues and stuff? its not that i dont like them, i just wanted to keep it as simple as possible. that you can arrange what you need out of some simple components.. -
- CommentAuthorjiparis
- CommentTimeJan 24th 2009
yes, the ableton track object is like a column of CC buttons, in which each button has its own cc code. The trick is that it manages all the codes for each clip from ableton (0-stop,1-loop,126-follow,127-on), some of them affects to all buttons at the same time (0: stop all clips), and only one of then can be blinking. -
- CommentAuthorjosh
- CommentTimeJan 24th 2009
today i spent some time reading about abletons midi remote scripts. i think it would be kind of cool to have e.g. a drumrack component that automatically assignes to the pads visible in the drum rack like a normal padKontrol etc does. this doesnt seem too hard to acheive... so i thought about creating more ableton live specific control objects.. faders that assign themselves to the selected instrument/effect in live, automatic mixer faders..
i didnt find the one thing i originally looked for. i want to be able to switch the focus on effect from my midi controller. like skipping through the diffrent effects on a track... how cool would it be to have the top row of buttons to select up to 7 effects in a track and then have the faders assigned to the effect...
hm. i got to learn some computational theory stuff now, so all this got to wait until tomorrow... -
- CommentAuthorjiparis
- CommentTimeJan 24th 2009
I think it could be a good idea to think in monome as a general purpose control surface for Live.
It may not be hard to develop a bunch of monocontrol objects that talk to ableton using its Midi or OSC protocol.
You can find more information in those Live APIs here:
http://www.assembla.com/wiki/show/live-api/API_Midi_Protocol
and here:
http://trac2.assembla.com/live-api/browser/trunk/src/LiveOSC
There are examples in max/msp. -
-
CommentAuthorJP
- CommentTimeJan 27th 2009
Are there any step by step guides for setting this up?
I'm an hour into playing around with it and as of yet I can't seem to get the java app even recognizing my 128. I was expecting to be able to choose fadre press one button then one higher up and they would light up or have some sort of feedback. -
-
- CommentAuthorjosh
- CommentTimeJan 27th 2009
hm. that should be how it works. in fact setting i up really is as simple as:
1. start monocontrol and monomeSerial in OSC mode, enter prefix "/monocontrol"
2. choose your midi in and out in monocontrol (atm its important to choose in and out before creating or loading a layout, ill try to get it fixed soon)
3. choose in and out in live as described here: http://wiki.monome.org/view/Tutorial40hAndAbletonLiveXp
for ins and outs, turn on "track" and "remote"
4. create a layout by clicking for example on the add fader button and following the instructions in the status line of monocontrol. then you map the fader via midi learn and if everything works correctly it should get feedback from live.
as i only own a 40h i coudnt test it with other units. it uses the /frame command to update the display so if it works on a 128, it only works on one half. but i'll try to get it working on 128 and 256 using the full display too, but at the moment i got some serious exams in the next weeks so my time to work on this is kind of limited. -
-
CommentAuthorJP
- CommentTimeJan 27th 2009
"choose your midi in and out in monocontrol (atm its important to choose in and out before creating or loading a layout, ill try to get it fixed soon)"
When I got to this point, I have 2 Sun midi options in and 1 option out. None of my IAC's show up. I'm guessing that's my issue.
It looks like a potentially great app.
I've started using the monome almost exclusively as a midi input for ableton, picking and choosing the things I want to trigger on a per song basis. I see the potential with this app being setting up a rudimentary base template, but more than anything it's the ability to add faders, and incremental buttons etc, so I can do more than just "press" "release".
Good luck with the exams, they of course should take your focus. :-) -
-
-
CommentAuthorJP
- CommentTimeJan 27th 2009
"hey JP go RTFM !!!"
"you'll need mmj to see your correct midi ins and outs on mac. (http://www.humatic.de/htools/mmj.htm)"
Dowp.
:-)
I'll try again tonight. -
-
- CommentAuthorjosh
- CommentTimeJan 28th 2009
Think for the next release i'm going to add a small text file with all the information needed.. glad you found out what the problem was. :) -
- CommentAuthoralexsg
- CommentTimeJan 29th 2009
is anyone else having probems saving their layout? i keep having to create and recreate them. where is a file supposed to be saved, in the data folder?
when i was using v0.4 i could name a layout but that still wouldnt save it. now in v0.42 i cant even name it, so im a bit baffled really... -
- CommentAuthorjosh
- CommentTimeJan 30th 2009 edited
hm. do you use the jiparis version or the one i uploaded. didnt test jiparis, but tested the original one and it worked finefor me... type in the name in the save layout box and hit enter.. this should create an xml file in your data directory.
edit: jiparis' version works fine for me too...