insanity_3 (updated 19/12/2012)

  • all the 'edit' button does is take presses from the monome and focus the editor on that object.

    might have to install 10.5 and see if I can recreate the errors.

    i'm pretty certain this is some java error and not user error. the mxj object insanity_grid is pretty much the whole patch so if it broken everything is.

    if you have full max installed could try compiling with the built in mxj editor

    i'll track down phortran in the next day or so and pick his brain on the compiling for specific versions..

    also check for java updates. I had one recently. though they may have stopped for 10.5

  • Thanks again, Stevie. I know I'm in the minority using an old OS, so please don't spend time installing 10.5 just for my sake. After all, I'm still enjoying insanity 2!

  • I don't have max 6 yet so I would just like to double the words of Chris here: Instanity 2 is da bomb. Can't wait for 3.

  • new things currently being added to insanity_3

    transpose buttons

    options for note buttons:
    invert leds
    always on/off leds

    great for making your own crazy keyboard setups more versatile/readable.


  • transpose buttons? i don't really understand. led stuff will come in handy!

  • shift the note buttons on the page + or - an octave.

  • understood. thx.

  • suppose they wouldn't have to be restricted to octaves.

  • I'm having trouble mapping LEDs from traktor to Insanity.
    I'm using loopMIDI to port Midi Out from traktor into Mini In on Insanity3 to control leds. Traktor sends midi signal to loopMIDI (i can see a data indicator in loopMIDI) but Insanity seems to do it's own thing (either momentarily light the led, or toggle it depending on the option)

    I have a very basic mapping, where a LED goes on/off when a track is played/paused on traktor. If I click on play/pause button in traktor with the mouse, the led corresponds to the action (it lights up/turns off accordingly) but when I try to use the monome to control traktor, the LED behaves as stated in the Insanity3 options.

    Any ideas what could be wrong?
    Is it an easy fix?

  • can you give an example of the midi messages tractor sends in sequence?

    can you get a print out from loopMidi? else i can make something in max to do it..

    are you using toggles or momentary? which makes the action in tractor work propery?

  • i've tried both with midi cc and midi notes.
    I'm using momentary (cause utilizing toggle conflicts with traktor, leading to a double button push in order for it to work)

    I got 2 channels on loopMIDI
    a) LoopMIDI Port (sends midi data from Insanity to Traktor)
    b) LEDS (sends midi data from Traktor to Insanity)

    I'm getting proper throughput/data send values (loopMIDI works just fine)
    Also the leds seem to work just fine when i'm controlling Traktor with the mouse (leds are on/off/blink as they should) which means Insanity is GETTING information from Traktor through loopMIDI.

    The problem appears when I try to control traktor with the monome, for example a play/stop button performs the designated function, but the LED will not behave accordingly (it will either light momentarily or toggle, depending on insanity options regardless of what midi I'm sending out from Traktor)

    It would be awesome if there could be an "External Control" option for the leds in Insanity, other than toggle or momentary.

  • yeah, you're right. at the moment the leds are controlled by the stored midi values which get updated by incoming midi AND button presses.

    likely whats happening is insanity is turning it on. traktor is turning it on. then insanity is turning it off on release.

    try making on and off values 127 in insanity. though this will probably break things for traktor

    an external control switch is likely a way to go.

    i've encountered a problem which has lead me to do a LOT of editing in this. so while i'm in there i'll likely change a bunch of stuff.

  • tried with 127 for both on/off and toggle mode appears to be working fine.

    I played a bit and found various issues.

    For example in insanity if my value is 0 for on and 127 for off, (momentary) the led lights when i push it to play the track, but when i push it again to stop the track it "blinks" (this is probably an xtra midi message to the led, don't really know if it's traktor or insanity causing this) By the way Traktor uses 0 for led off and 127 for maximum led intensity.

    The play/stop button in traktor is a toggle, which means even if in Insanity my button option is "momentary" it will behave like a toggle on traktor, but ONLY if the on and off values in insanity are 0 and 127 respectively. If the on value is 1, then the "momentary" will perstist to traktor.

    Another (minor) issue is the midi notes, which seems to be an octave higher (or lower, can't remember) than the actual value

    Dunno if my description was helpful

  • What file extension should I add when saving presets for this app? I am able to save it but not load.

    When clicking load I can't select the preset to open.


  • no extention. just a name.

    any errors in the max window?

    probably needs to be no spaces in the complete filepath too. ie
    c:/music stuff/monome patches/insanity_3/insanitySaves/ would need to be like:

  • @stevieraysean

    thanks for replying,

    figured it out. it was not the extensions or filepath. i was using max 5.1.9, so i wasn't able to use load. now using max 6 and everything seems to work fine.



  • @stevieraysean

    hey, I read your comment on ferbruary 10th where you mention that pages or girddle does not work with the latest serialosc.maxpat, the one that does not require zeroconf.

    if you go to the pages wiki, the instructions has been updated and you can download the
    zeroconf-serialosc.maxpat. it is not an updrade to the serialosc.maxpat, it's an alternative to be able to use pages. this alternative also works with griddle. i have tested a bunch of apps that have been updated to work with new serialosc.maxpat and they all recognize griddle.

    of the apps that i have tested, unfortunately the only app that is not recognizing griddle is Insanity_3. i have no idea why??? but if not used with griddle, Insanity_3 seems to be working fine!


  • Any news about a fix/version that would include "external control" option for the LEDs?

  • @fozzy try this. not tested but should work i think. external on cc-buttons or note-buttons just act as normal momentary switches and leds should only get updated from incoming midi.

    sorry i've been absent a while. moved house. no proper internet for like 20 days..

    @simple.sound will try look into the alternative serialosc.maxpat shortly..

  • @stevieraysean
    Thanx for the prompt reply/solution

    will try it out and report back!

    Unfortunately neither the arrays version of Insanity_3 seems to work. I've tried external control, using either a cc button, or a note button. In the case of note button i also tried the "always off" option. Additionally I played around with on/off values (In Traktor, when controlling LEDs 0 would be off, and 1 upwards on, with varying degrees of brightness).

    MIDI is set up properly, loopMIDI (which sits in between Traktor and Insanity3) seems to receive messages both from Insanity (forwarded to Traktor) and from Traktor (forwarded to Insanity)

    Additionally, I've noticed that in external mode, whenever i press a button (regardless of whether it's note or cc) the Virtual MIDI port from Insanity to Traktor, sends double the amount of data than the Virtual MIDI port from Traktor to Insanity, so probably there's an extra midi message sent from Insanity.

    I really hope my comments were helpful

  • ok, prolly missed something..

  • I am unable to save and load in arrays version.
    i get this at start up:

  • In max runtime 6 my monomes dont show up
    in max runtime 5 they show up but i can not save or load.
    In both versions if i change page select to bottom it is still changed by the top row.

    osx 10.7.5

  • sorry for my absence on this project. currently focussed on my Exams.

    I will look into it soon.

    I have been working on a project that might replace insanity, mash and anything else i've made. details on that will be out in a few weeks.

  • Any updates?

  • haven't had time to work on anything in weeks. getting pretty bogged down at uni. barely have time to read forums anymore.

    haven't forgotten you all though.

    basically what i've been working on is like insanity, but with a completely modular patchable audio/midi environment along side it. the code for the grids is much better. does variable brightness and better handling of led feedback.

    also there will be templates for people to make their own modules for it.

    I really wanna get it done and get it out. just need to find the time. it's about 80% of where i want it for release..

  • mind = blown!
    can't wait to try it out!!!

  • Sounds great! What are you making it in? Max or something else?

  • making it in max. mxj/java is a big part of it.

    heres a screenshot from a while ago.

  • that looks like my dream... will it support multiple monomes and arcs at once?

  • @dadek eventually, multiple monomes is easy. i don't own an arc so might need some assistance making something useful of it..

  • oh man, insanity is amazing! i wonder, would it be possible to implement an option to have certain "off" buttons be a dimly lit LED for the varibrights? For example, when I'm using CC buttons to trigger clips in Ableton, it'd be nice to be able to see where my clips are when they're not playing. Or another example, when using midi notes, it might be nice to have certain notes be dimly lit for navigation? I don't know, is that too crazy?

    edit: just thought of another feature request, since you're not already super busy or anything :) Is there a possibility that the page-change buttons could be configurable similar to the way the rest of the buttons are? So rather than having (on a 128, for example) 16 pages across the top or bottom row, one could choose any button on the Monome to be page1, another for page2, etc. So if you only needed two or three pages, they could be placed wherever, leaving a bunch of free buttons! I can dream... :p

  • Anyone have any issues using the "fine" control in Insanity 2.1? Everything else works a treat, but when holding a button and tapping a button above or below for +/- 1 cc adjustment I just get normal fader increments.

    I tried Insanity3, but either it doesn't work on my system or I don't understand the new GUI because although it seems to connect I can't get faders to work in there at all.

    REGARDLESS -- this(these) app(s) are amazing. Thanks so much @stevieraysean!

  • and for some reason it just started working?


  • interesting..
    It may be something to do with having to recall a saved preset or changing the fine value before it works.

    I was new to using a few things like pattr when it was made..

  • Now it works straightaway most of the time, and when it doesn't I can jumpstart it by scrolling in either the speed or fine boxes with the mouse and they all link. Then I can enter a value directly and have it populate across.

    Still can't seem to get saves to load though...

  • I still use insanity3 daily at home and at work studio on Macs 10.8 and 10.9. I always have to reload my save on launch and toggle pages to get everything going but then never a hitch.
    Are there more specifics on your setup you can share?

  • I'm still using Insanity 2.1 because I can't seem to make sense of I3 at all. Is there a user guide for the different UI? I'm on Windows 7 in Max 6 Runtime.

  • Not that I'm aware of. I'm on Max 6 as well, but have no clue about the Windows.

  • First, check the Max window for errors. like not having java installed..

    to edit you basically just click on the cell you wanna edit and then change the values. If you change to a slider then the slider is as big as the top left and bottom right most selected cells..


    [*] [ ] [ ] [ ]
    [ ] [ ] [ ] [ ]
    [ ] [*] [ ] [ ]

    will make a slider like

    [*] [*] [ ] [ ]
    [*] [*] [ ] [ ]
    [*] [*] [ ] [ ]

    so a 2-column silder..

  • When I open Insanity2.1 I get a huge chunk of "bad arguments set for nth" from the coll object, but otherwise it's all working well. I can trick it to load my saves at open by overwriting the default insanity.json in the folder, so I suppose that works.

    Insanity3 opens file, but I get this error every time I push a button:

    java.lang.ArithmeticException: / by zero
    at page.updateMidi(
    at page.led_row(
    at insanity_grid.ledRefresh(
    at insanity_grid.list(

  • You may need to select grid size. Nog having much free time at the minute but trying to look into it

  • Hello, pardon me if this is a noob question, but just wondering if I need a full max licence to load and save presets? It doesn't seem to be working for me with the runtime.

  • i dont think so.

    should create files in the subfolder insanitySaves

    you can open them with text editor they should look like:

    0 noteButton 0 0 1 1 18 0 1 100 0 0
    0 noteButton 0 1 1 1 49 0 1 110 0 0
    0 noteButton 0 2 1 1 49 0 1 90 0 0
    0 noteButton 0 3 1 1 37 0 1 110 0 2
    0 noteButton 0 4 1 1 37 0 1 90 0 2
    0 noteButton 0 5 1 1 57 0 1 110 0 0 etc......

  • okay. there seems to be some bug with saving sliders at least. hmm

    really just need to get a move on and roll out my new app tentacle.. does everything insanity does and more..

    just, need, more, time.

    two jobs, a newborn and university starting again on monday...

  • I just need a simple way if mapping a drumrack and a few faders. No pages, no nonsense. At the moment I'm using the midi mode of monomeserial, which would be perfect if the lights refreshed properly... but I get dropped lights all the time.

  • Oooooh, Tentacle! Looking forward to it whenever life lets it happen. : )

    @kineticmonkey - Have you tried the earlier versions of insanity? My setup has a bug with 3, but it doesn't bother me much because 2.1 is still so awesome.

  • 2.1 isn't really behaving for me either.

    This happens every time I try to take the monome into a live ableton set - I have an APC for sequencing duties, but I just need something to really simply map to effects and some one shot samples. Every time before I've given up and used either my MidiFighter or a GameCube controller for those duties, but I'm determined to take the monome live!

  • Ok, so my plan is to hack together an edit of my new app tentacle's monome module, which I know is more efficient and has a more robust patch storing system.

    There will likely be features that don't make sense (outputting floating point numbers for example).

    This will use max7 an replace all versions of insanity. Sorry but my life is far to busy to maintain old iterations of software built on old versions of max.

    Once I'm finished with tentacle support for this interim hack with cease and you can all switch to tentacle of you wish. (You will)

  • And I'll actually make some sort of tutorial so you can use it..