MonoChrome VST/AU (new version: Feb-14-08)

  • new MonoChrome VST/AU has been uploaded
    new versions:

    PLEASE NOTE: MOLAR DOES EVERYTHING MONOCHROME DOES (AFAIK, Molar is the 'replacement'). Monochrome is very old.. but if you just have MIDI needs, here it is..

    http://xferrecords.com/monochrome/MonoChrome-OSX.zip
    (contains _40h, _128, _256 AU/VST + config files)

    http://xferrecords.com/monochrome/MonoChromePC.zip
    (contains _40h, _128, _256 VST + config files)

    Feb 14 changes:
    New build Feb 14:

    -updated to be parallel to changes molar, note PITCH col. does nothing in MonoChrome currently

    -added pref for TIMER, number of samples per Monome packet. Also note I do appear to get better performance on the Monome LED's if I set CPU->Plug In Buffer size in Live to 32. It always works regardless, just more dropouts when running at fast tempos if this buffersize is huge.

    - added window collapse button, it might have issues expanding size on OSX in some hosts, it seemd OK in live but it wasn't in Live PC and I had to change things slightly, so the next OSX version will be slightly updated here.


    Previous Changes:
    -fixed suspending problem with GUI closed
    -now displays current pattern when PAT is held down (top row, flashing). Patterns in this top row will (well, should) draw solid if they have active sequences.
    -must press in the top row to change patterns with PAT now, this is to avoid accidental pattern changes if trying to change instances.
    -fixed steps not disabling on EDIT
    -made 4x4 erase currently playing step if you press off of the 4x4 grid
    -4x4 follows pages (i.e. seqlen > 16 )

    prior 'recent' changes:
    -fixed some multiple instance problems

    -example patches of 64 steps
    -row "start step" column of green numbers on left, which nudges rows late. See the presets (seq 2 rows / seq 4 rows) as examples of using this to "link rows together".
    -collapse now collapses adjacent rows which are ascending in row offset
    -expand! collapse function now expands a pattern, if your target press is a pad on a "1" (monophonic) row.


    docs path simplified, same revision docs:
    http://www.xferrecords.com/monochrome/

  • whoaaaaaaa. big update. thanks steve_duda!

  • I think I saw my 256 on the front page! The shell of it at least ;)
    I can't wait to test this Monochrome VST on the 256...
    Thanks Steve for making this for the community free of charge. You da man.

  • steve_duda - you are 100% awesome.

    If I were gay, I'd... well, nevermind. ;)

  • When I click on a pad in the 40h version, the pad number changes at the top, but it doesn't change the stepsequencer to reflect what is actually assigned to that pad(edit: unless I hit play in live then click on the pads in monochrome). Rather, it shows the last one I edited. Am I doing something wrong?

    Also, pressing a pad on the actual 40h doesn't display that pad at the top to edit.

    I haven't messed with the repeats yet. Still trying to wrap my brain around exactly how that works. Seems like a great feature, though!

    Finally a dumb question, but the AU version doesn't give me the preset drop down. I rarely use AUs so it might be that I just don't know what I'm doing with it...

    Otherwise, man this rocks!

  • Thanks guys..

    uploaded a new one (rc12)

    -row press-mode option (along right edge) for monophonic row behavior (displays "1")
    -fixed a bug with the SEQ OFF button
    -displayed Seq. now follows button presses again (and in stopped host)

  • Wow, that was fast!

    As if it hasn't been said enough, you rock!

  • I haven't got my 256 yet, but I've got a few questions about how this works, if you don't mind:

    1) Am I going to be able to configure this to run multiple parts on my Virus TI? The TI setup is finicky; in Live you set one track with the TI instrument and then use multiple tracks with their output set to feed the instrument track for your various parts. I'm assuming I can't configure monochrome to output to separate tracks, but I could configure it to output different MIDI channels for each sequencer row, thus doing multi-part the old school, non-Virus way, yes? Sorry if my question isn't clear, I haven't been able to look at Monochrome yet.

    2) Is there any way to configure what buttons work for which function within Monochrome, or in conjuction with MonomeSerial, or what have you? What I'm getting at, is, let's say I want some of Monochrome's functionality for the top half of my 256, but I want the bottom half to send other MIDI messages so that I can assign them to other functions via Live's MIDI learn. Or is the entire 256 dedicated to Monochrome, and the arrangement of functions fixed, when Monochrome is open?

    Thx guys.

    (PS: this is totally irrelevant and basically noise but I found it so funny I couldn't resist sharing. I'm so preoccupied with fantasizing about how awesome my 256 is going to be that I dreamed about it last night. In my dream, the monome guys were there, but they looked like Wham!, except with neon blazers and headbands. I was all, "Why are they dressed like Wham!?" even in my dream.)

  • > 1) Am I going to be able to configure this to run multiple parts on my Virus

    You'll need to send to all channels and use range restriction and perhaps re-transposing (both achieved with the 'pitch' MIDIeffect in Ableton Live).

    > 2) Is there any way to configure what buttons work for which function

    yes.

    The 256 uses 2 MIDI channels by default (as there are only 128 midi notes) which might need testing, I'm sure I'll be updating the 256 version of the plugin once mine arrives!

  • So I hate to always be pointing out problems... but I'm having another problem.

    All of a sudden my lower right pad is not working with monochrome. As a sequence step or as a toggle to go through patterns. Nothing. AU and VST.

    I re-downloaded and got the same thing. I downloaded from the resource page (rc11), but it tried to come through as Lucifer. It even looks like Lucifer, but does not function. Am I in the twilight zone, or what?

    Oh, and the pad works fine on the test patch and with mlr.

    Thanks in advance, Steve.

  • Is no one else experiencing the same lower right button weirdness? I even changed my cable orientation and the new lower right (formerly upper right) pad still has the same issue...

  • re: Lucifer, sorry I had a macro bug (so much for automating the uploading process). At least it was a plug I wrote :)

    re: lower-right button, this is intended. It should engage on release, provided that you didn't push a button while it was held.

    Reason being is it's a pattern change shortcut (hold lower-right, press a button in the top row).

    New version uploaded, same URL's:

    CHANGES RC13:
    - 256 build currently uses ports 9000 and 9080 (as I have a 40h also)

    - 11 *lowest-row* functions now in development:

    if you HOLD one of these lowest-row buttons and RELEASE it without pressing another pad, it will function as it used to (just engaging on release instead of on push)

    if you HOLD one of these buttons and PUSH ANOTHER PAD, the low-pad function will take place, and the 'normal' operation will not happen:

    LOWEST ROW FUNCTIONS:
    from lowest-*right* pad, moving *left*, we have:

    DESCRIPTION || BUTTON TO PUSH TO TRIGGER FUNCTION
    ______________________________________________________________________________________________________________________________________________
    Pattern (pattern change, the current lower-right button function) || top-row (Pattern 1 thru X SIZE)
    Solo (solo's pressed row) || Any (solo's that row)
    Mute (mutes pressed row) || Any (mutes that row)
    Swing (assign swing percentage) || top-row
    Len (assign sequence length 1-16) || top-row
    Mult (entire monome draws/assigns the last-pressed seq.repeats) || Any
    Edit (entire monome draws/assigns the last-pressed seq. steps) || Any
    Select/Copy/Paste (so you can duplicate sequences mouse-free) || Any (select/copy), then press another (paste). First other-button push is always copy.
    ______________________________________________________________________________________________________________________________________________
    +(below are 256 only for now)
    ______________________________________________________________________________________________________________________________________________
    Collapse (takes all active seqs in a row, and condenses to leftmost pad)|| Any (collapses that row)
    Seq. Nudge (left-right, same as shift-alt-click on Seq) || Any (left half of row = shift left)
    Velocity Nudge (+/- 5% on all steps) || Any Button


    So for instance on my 256 I have a label below the lowest row which reads:

    VELO Collapse Copy Edit Mult Len Swing Mute Solo Pat

    ... with "pat" in the lower-right corner.

  • I understand how the lower right pad is supposed to function, but it wouldn't engage on release, and wouldn't allow me to pull up the other sequences. Regardless, it works fine now on rc13, so no worries.

    I did notice that I had to use ports 9000 and 9080 for the 40h build, as well.

    Could you further explain how to use the length, mult, and edit functions? I also don't understand the row press-mode option for monophonic row behavior. Sorry, my brain is very simple...

    Thanks!

  • Has anyone on XP gotten the 256 version to work using the 256 router patch? I can get the 256 to interact with mlr using the /mlr prefix, and I tried the same thing with monochrome 256 using the /256 prefix, but there's it's not responding to any button presses.

    Any ideas?

  • > Could you further explain how to use the length, mult, and edit functions?

    They're shortcuts to avoid using the mouse.

    "Length" is press (x,y) 12-16.
    hold this and press a button in the TOP row.
    The stepsequencer length for the (visible i.e. last selected) seq is now X.

    "Edit" is press 10-16.
    hold this and the LED's now draw the (visible/last selected) sequence.
    presses to all other buttons will edit this visible sequence.
    let go to exit.

    note: if you make no edits (second presses), 10-16 is now toggled as 'normal'.

    "Mult" is press 11-16.
    hold this button.
    The LED's now display the steps like in edit mode, and flash to indicate mults for every step.
    presses set the amount of mult (repeats, same as shift clicking on Sequencer).


    > I also don't understand the row press-mode option for monophonic row behavior. Sorry, my brain is very simple...

    "--" boxes along right, if you raise this to read "1", only one sequence will be lit in a given row. E.g. if you press one, and one is already lit, the old one will be shut off. This makes it easy to have a row of "pattern variations" for instance on a hihat, and switch between them, without having two play accidentally.

    >Any ideas?

    ports 9000 9080 (as mentioned above) is my only thought.. I'll recompile soon back at 8000 8080 and post here.

    -Steve

  • I also haven't gottten the 256 to work on a PC either. Seems the 256patch is only working for Max apps. Any help would be appreciated.
    I just figured out how to use the 40h with Monochrome VST earlier this week and it ROCKS!! But I can't seem to run 64Step or MLR and Monochrome VST at the same time on two 40h...really frustrating cause that would be my ideal setup right now. Anybody been able to run multiple apps inside and outside Max? I can run two different prefix apps inside Max no problem. Is there a Beta or even alpha of monomeserial to start working with?

  • >I also haven't gottten the 256 to work on a PC either. Seems the 256patch > is only working for Max apps. Any help would be appreciated.

    TBH I haven't tried the 256 on my PC yet, it *should* work as the code changes are crossplatform. I'm waiting for the MonomeSerial on PC..

    it seems my last build flags on PC were set same as 256 on OSX (ports 9000 9080). I'll recompile soon, I've got the code a bit torn apart for some DSP junk I'm adding for my own needs.

    > Anybody been able to run multiple apps inside and outside Max?

    I have not with max, though a similar principle to what I've made work:

    256 to MonoChrome_256
    40h to MonoChrome_40h

    to do that, I run two separate instances of MonomeSerial application (which is necessary for two sets of OSC ports, e.g. 8000/8080 and 9000/9080). I had to compile the MonomeSerial app twice, each "ignoring" the other device (as there is no device-disable in the app).

    I'm not sure if Max allows you to establish two pairs of OSC ports however, which should be needed. I'm not sure if you can run two copies of Max at once which would be the only alternative to two pairs of ports.

    I think Monomeserial/256 is nearing beta stages for Win, but thats probably best kept in another thread.

  • > ports 9000 9080 (as mentioned above) is my only thought.. I'll recompile soon back at 8000 8080 and post here.

    yeah, that was it. I'm using kid-sputnik's beta monomeserial for XP and it's working with the 9000 9080 ports. this is pretty amazing!

    one bug (if you want to call it that) I noticed is that if the host is stopped, changing patterns results in a clear monome (the selected pattern rebuilds itself when you hit play).

  • I also got it working last night with the new Beta Monomeseial XP! YAAA
    One thing I noticed and wasn't expecting was there are two runs of 128 notes top and bottom half. Is it possible to have it during sequencing stretch the entire height? so the bottom is the bass notes and top be the leads? I just dont understand Live enough to figure this out I've been using Reaper as my VST Host and I'm not sure it has that sorta MIDI rangling people talk about Live doing. Please someone step help me set this up my email is kmkennedy at the google mail.
    Thanks for Monochrome its one of my favorite apps right now!

  • Glad you guys like it.

    MonoChrome256 has two sets of 128 notes because there are only 128 MIDI notes, and you have 256 pads :) The lower notes send on channel 2, this is more-or-less ignored by Ableton Live. You can use the AudioUnit version if you're on OSX, which sends midi via the last IAC bus in your system, thereby you can have 2 MIDI tracks in Live, one listening to Ch.1 (top half of 256), and one to Ch.2 (bottom half of 256).

    new build! (same URLs as usual)

    I've added a config file which allows for the IP, ports, and OSC prefix to be user-settable. There is a separate config file for the 40h and 256 versions of MonoChrome.

    This config file must go with the .dll(PC) or in Library:Audio:Plug-Ins:VST (OSX).

    Not well tested but I did manage to get the 256 on OSX/MonomeSerial talking both ways to MonoChrome VST running on my windows machine.

  • here are a few MonoChrome tutorial videos.

    http://www.youtube.com/v/a0h1daFfzq8
    (part 1, rambling narrative / getting started)

    http://www.youtube.com/watch?v=9Kv69pVVtGY
    (part 2, more narrative and self-indulgent beat fiesta)

    shorter tutorial:
    http://www.youtube.com/watch?v=0CNXQmb2j5E

  • Wow, That tutorial really helps get my head wrapped around some of the features I haven't even utilized. Now I assume you can start layering pads or basslines at the bottom half of the 256? I will have to try out these steps tonight.
    Thanks for the inspiration..

  • duuuuude. these vids are dope. i couldn't figure out how to get this plug going at all, i'm dumb. this helps heaps. keep this thing going, it's insane!

  • justt my 256 today. Iam trying to get the monochrome set up right with live. do i need the monome seriall? what the set up in live preference?iam so new and very simple mind as well .. if someone can give me a simple how to set up. I saw the video on youtube, but that didt help, i got the sound out of monome but still no light on it and I cant a ssign anything from monochrome vst. When i download the file there is component as well .. where shoud i put that ? on vst file as well... sorry for my english as well. let me know
    thanks

  • Thanks, guys
    glad the videos help!

    ade,


    Installation/Configuration:

    -make sure the VST is in (MAC HD):Library:Audio:Plug-Ins:VST and not a user VST directory.
    -make sure the MonoChrome256.cfg is also in the above location.
    -make sure the ports in MonoChrome256.cfg = ports in MonomeSerial (8000 8080)

    Live Prefs:
    -there are no settings in live's preferences other than:
    CPU -> Plugin BufferSize to 32 (suggested, not important in Live 6.0.10+)

    ...and if you use the AU version:
    MIDI-> Enable the last IAC Bus in your system as a "track" input (at least)

    MonoChrome AU:
    The component is quite similar to the VST (except IAC for MIDI out instead of VSTEvents out). Some people use Logic Audio etc. I favor the VST in Live, as the AU doesn't have sample-accurate MIDI output like VSTEvents allows for.

    VST MIDI Routing:
    If you have added the VST, MonoChrome will appear as an "Input Channel" (lower rectangle in MIDI FROM) after you have selected the *TRACK* with MonoChrome as the "Input Source" (upper rectangle in MIDI FROM).

    Lastly make sure your Live is playing (play button).

    Hope this helps,
    Steve

  • Hi Steve, I've seen your 256 videos today and I was wondering if you could port the 'collapse' function back to the 40h.
    Thanks.

  • ditto on the collapse for 40h. me want, me want.

  • I got everything working properly now ..with vst i switch from the preference of live. From AU to VST. When I did that from the input box still no monochrome sign just IAC in and out ...is that right ?
    thanks again

  • Wow. Thank you.

  • mine still not showing a monochrome input.

  • Ade,

    >with vst i switch from the preference of live. From AU to VST. When I did >that from the input box still no monochrome sign just IAC in and out ...is >that right ?

    I'm not sure what you are asking.

    AU = No MIDI *within* Live .. so it sends to the IAC bus instead.

    VST= MIDI routes *within* Live, 6.0.10 recommended for sample accuracy.
    In order to see "MonoChrome" as a source, you must **first** select MonoChrome's track (e.g. 2-MIDI) as the "MIDI Input" (top rectangle).
    ________________________________________
    SubUnit -

    >I was wondering if you could port the 'collapse' function back to the 40h.

    Yes, short-term issue, it actually should work if you wake up and discover an extra pad on the lowest row of your 40h. Seriously though- it was the 9th function I added so just bad luck there on the near-term.

    My solution to this problem is to give every lowest-row-function a user-definable location. This way 40h users can choose the 8 functions they want, and all users can customize the lowest-row functions. You'll notice I added this to the config file if you open it in a text editor, but it says "not yet implemented". Well, I implemented this last night. Gonna test it a bit and uploaded a new version, will post here once it is uploaded.

    Best,
    Steve

  • ok got the monochrome now on my midi track 2 looks good , but another problem now is no sounds... before there were sounds. in live pref should i change it ?
    thanks

  • > that how it looks like tell which one i did wrong .

    I don't understand (if that is how it looks, what is the problem?)

    Here is a picture for VST routing. Hope it helps!

    659 x 341 - 50K
  • > but another problem now is no sounds... before there were sounds.

    Monochrome does not make sounds. It sends MIDI to another track, therefore sound works like any MIDI works external MIDI keyboard etc).

    Add an instrument to the destination MIDI track and make sure "Monitor" is set to "IN".

    -Steve

  • i did exactly like the pictures and from what you told me ..but no sound still.

  • I'm not too familiar with Live, but once I figured out how to send the midi data from the VST to the impulse track it worked flawlessly. I don't really understand how the individual rows get sent to each drum pad - is it something that's just implemented in Live?

    I ask because most of my stuff is in FL Studio. When I open monochrome there I can choose a midi output port and send it to anything that takes midi in, but the internal plugins (like FPC, their drum sampler) uses an internal protocol rather than midi, and I don't seem to be able to control individual pads.

    Is there a way to indicate which row gets sent where?

    Great work, by the way. Between this and monomoserialXP coming out of beta, yesterday felt like a national holiday.

  • New build rc15 posted (same download location, see top of thread)!

    Ade,

    Try the new version. I might have made an error building the OSX_40h_VST, sorry!

    The new version has the ability to user-define the location of all lowest-row special functions (edit MonoChromexxx.cfg in a text editor to change). So 40h users should be able to collapse (I probably shoulda tested that.. edit: it works, I just didn't fill in the 40h config so I just re-reuploaded, collapse is lower-left on 40h by default)

    > I don't really understand how the individual rows get sent to each drum pad - is it something that's just implemented in Live?
    >Is there a way to indicate which row gets sent where?

    No, I decided to make the default notemapping match Impulse, as there seems to be a concentration of Live/Monome users as far as VST usage goes, not to mention me :)

    You can change the MIDI note output for any pad (by selecting the pad so it is showing, then changing the NOTE OUT value). hold alt(option) while changing the NOTE out value to assign the same NOTE out for the entire row.

    You're correct about FL, thats a shortcoming in the app IMO. I recall someone made a plugin which will route MIDI to a "physical" port (I know Console VST can, but I think theres a free one as well), so if you really wanted to, you could route MonoChrome->MIDI plug->MIDI Yoke->FL Midi Input. (though this process would lose sample accuracy).

  • It should have been a national holiday, so I could stay home and play with my 256!

  • yessssss ... now its working ... BIG thanks for steve.. iam so happy now... the speacial fucntion should work as well right for mac os and the collapse should be on lower left as well?

  • > BIG thanks for steve.. iam so happy now

    Great, you're welcome, and glad it's working!

    > speacial fucntion should work as well right for mac os and the collapse should be on lower left as well?

    Yes, but it requires the config file.
    the MonoChromeXXX.cfg file must be in:
    (Mac HD)::Library:Audio:Plug-Ins:VST

    it must be this directory location (exact letters except the hard disk name).
    Also make sure you have the *new* version (in case you grabbed it fast).
    ____________________________
    You can check/verify that MonoChrome is finding this file by editing [40h] in the config to something else (e.g. [mcr]). Then it should not commuincate with the 40h, until MonomeSerial is set to the same prefix (/mcr).

    With the latest config file, yes, collapse is lowest-left (0).

    In the The .cfg file it says:
    ...
    [999] nudge (999)
    [999] veloscale (999)
    [0] Collapse (0)
    [1] Copy/Paste (1)
    ...

    the "[999]" means this function is not assigned.
    the "[0]" means this function is at x=0 (leftmost pad)
    so for assigning a lowest-row function, on 40h you would choose between [0]...[7]

    -Steve

  • Thanks, Steve. I've been putting off figuring out Live, so maybe this is a good opportunity. And I agree - I'd thought of the flstudio/midi yoke thing but figured the latency would make it rough.

  • Thanks, Steve. I've been putting off figuring out Live, so maybe this is a good opportunity. And I agree - I'd thought of the flstudio/midi yoke thing but figured the latency would make it rough.

  • the function in my monome its a bit strange, in my vst library the it should be MonoChromeXXX.cfg or Monochrome256.cfg I have attached a picture of my 256.cfg configuration... let me know what you think

  • Hi Steve, thank you so much for having implemented this user-definable location for every lowest-row-function on the 40h. It makes life much easier!
    While using the 'collapse' function with SEQ-4x16, I have noticed a strange behaviour when I try to collapse the second row of each sequence : it collapses into the first button which then doesn't play the full sequence anymore but only the first step. It becomes even more erratic when collapsing the lowest row, where random steps disappear. I hope my explanation are not to cryptic. Am I doing anything wrong?
    Anyway thanks again for this great app!

  • Hang on, couldn't I just run FL Studio as a vst plugin in Live? At the very least I should be able to set up a bunch of samplers, each with a different drum sound, and I should be able to see them in Live. I think. So easy to speculate when I'm in a hotel room 1000 miles from my gear.

  • OK, I've watched, I've read, I've got excited, but I cant get Monochrome to see any 40h presses (I've got a kit that works with all other apps.)
    Mac OSX 10.4.10, Live 6.0.10, monomeserial 0.17 (set to 40h), latest OSX version of monochrome, pasted into (Mac HD)::Library:Audio:Plug-Ins:VST with the cfg file. Routing in live as described and pictured.
    Opening MS/Live/MC or Live/MC/MS but to no avail.
    I'm sure I'm missing something straight forward, anyone help?
    I've also tried the classic "restart."
    Thanks ahead.
    K.

  • PS. Also tried with Live running and alt-selecting Normal for LED Seq.

  • Got this working last night (had forgotten to copy the .cfg) and its great! I'm finding a few bugs though or at least I think they are bugs. The bottom row functions seem to doubled up with the seq. When I try using these functions for editing steps or mutes etc the leds don't seem to revert back the seq view. I'm using this on the 40h. Has anyone else experience these problems. Fantastic package though, looks amazing on the 256.

  • Ade,

    If things are still "strange", let me see the config (it didn't attach) + maybe explain what strange means.

    I did notice Mute and Solo flashing (LED) are inverted on the last release, will reupload later today.

    subunit23,

    not a bug per se, the collapse isn't as sohpisticated as you'd hope (yet). In the future I'll make the collapse check the next row down as well (if notenumber out matches)

    Kelvin,

    thanks for the detailed report. Try shift-clicking a pad on the MonoChrome_40h.vst GUI while Live is playing. (This is the mouse-equivalent of pressing a button, when MonoChrome is in SEQ).

    It should start flashing that pad on the GUI and the 40h (flash off once a bar). Does the 40h LED flash?

    Either way, examine the contents of the MonoChrome40h.cfg (prefix, IP address, and ports) compared to the settings in MonomeSerial.

    Its possible its just not seeing the config - make sure that your host is on "(Mac HD)" as I actually look to the drive name that has the host running. So to be accurate - the config needs to be in "(Host HD):Library:Audio:Plug-Ins:VST".

    Arp1618,

    The lowest-row buttons should always return to a normal view when released. Perhaps theres bugs related the user-assigning in the config. I wouldn't mind seeing your assignments in the cfg file.

    But beyond any unknown bugs, the only "issue" I know of (and its by design, not sure it's a good one) is that if you utilise a lowest-row function but don't press a second button while it is held, this lowest-row will activate (as it is still also a sequence step).

    Thanks everyone for the nice words!
    -Steve