New app: Mark Eats Sequencer (Updated 2014-11-09)

  • So this is my first monome app that I've been working on for a little while...
    My aim is to create a 'go to' MIDI step sequencer with a focus on jamming and performing with loops as soon as you've made them. It operates in two basic modes – the first lets you add/remove notes across the entire grid and edit their length and velocity. The second mode lets you switch pages, patterns, scrub etc.

    More videos:

    - 8 channels
    - Up to 16 patterns per channel
    - Adjust note length and velocity
    - Scale generator
    - Transpose
    - Play forward, reverse, random or slice
    - MLR-style looping and scrubbing
    - SP-1200-style swing
    - Tilt to MIDI
    - MIDI clock sync
    - Cut, copy and paste patterns
    - Automation
    - Save and load songs
    - Supports all monomes

    Start by connecting to the monome in the app's Preferences. Check the User Guide in the help menu for more info.

    Vote on and submit feature suggestions:

    Download and more info here!

    v1.0 Build 16 Beta (2014-11-09). Requires SerialOSC and OSX 10.7+

  • This is seriously awesome.

    Not sure why, but can't seem to get the midi sync'ed in Ableton.
    Did I set up this up right?

  • i'm really excited to try this out... will report back this week with any thoughts. thanks for sharing this!!!

  • @naanod that looks correct, what's happening when u have these settings?

  • Downloaded it... will be jamming it tonight (fingers X'd for technical issues)...!
    Will report later on



  • Works fine with an arduinome 64, cool appz

  • doh ! 10.6.8 here....

  • this looks very promising! can't wait to play with it. sadly, it crashes when I open it...

    monome 128 (2009 or so i think)
    serialosc installed (monome test 3 working)

    osx crash report output:

  • @l00p thanks for the detailed bug report! I've made one small change and updated the same link with a new build. Can you download that and try again to see if it's fixed?

    This probably applies to everyone on 10.7

  • well, thank you for sharing your work, and fixing bugs so quickly :)
    indeed, no more crashing on opening.

    now exploring it.. haven't been that excited about a monome app since a long time.

    (I love how the manual is a pain in the ass to read and I basically have to figure it out by myself, something I love to do anyway but am too lazy to sometimes :D)

    edit: pdf seems somehow unreadable in skim, perfectly fine in acrobat though!

  • cool, wish all bugs were that easy to fix!

    yeah right now the 'user guide' is more just a reference card for what button does what. maybe i should add more of a step-by-step getting started page to the front, there is quite a lot to explain.

  • @chapelier sorry, i'm afraid there are too many developer improvements in 10.7 to make it worth releasing for older versions of OSX.

  • oh wait, weirdness.. I was refering to a lot of missing and moved letters when opening the pdf in skim.. I thought it was overdesign :p but seems to be just fine in another pdf viewer.. my apologies!

  • Potential Ableton Push killer for me. Really feeling the musicality in it and I love that you chose the SP1200 swing. That said,.. dying to get the midi sync working.

    The monome responds to LIve's play, stop, and record buttons, but the output is inconsistent. I attached a screen of what I typically get with a simple 4/4.

    (Note that in the Mark Eats window, the bpm is greyed out at 119.99 instead of 120, I tried setting Live to 119.99 as well but it didn't make a difference. In fact, changing Lives bpm to any amount doesn't seem to change the greyed out value at all, so I assume it doesn't matter?)

    Using the most recent build you uploaded.

    THANKS x 1,000.

  • Amazing work! Simple layout and very musical, just what I needed, had some great fun already combining different sequences with the smart pattern idea, using mlr style on different tracks.
    Really excited about this app!!

    Works great so far, only had a freeze when I changed individual step lenght while running.
    Sync is working and changing bpm in Live does change bpm in your app fine here.
    The only thing I miss is a sequencer restart (in conjunction with Live) when I double click "stop" in Live to 1.1.1., but that seems to be a common "problem" with many apps.

    Thanks for sharing!

    monome 128 walnut (2007 I think)
    osx 10.8.4
    Live 9.0.4
    latest serialosc

  • @naanod glad you're enjoying it!

    Regarding the sync... To be frank, MIDI clock sync isn't the most reliable thing in the world and will never be 100% perfect. That said, it should be 'good enough' when you're not changing the BPM. It sounds like you have things setup correctly and you should expect to see the BPM jitter by ±0.01. If you try syncing Live to a MIDI clock you'll see it does similar.

    When you change the BPM in Live you should see the Sequencer app catch up a moment later and settle to the new BPM (the greyed out value will change).

    Now when I look at your screenshot it looks like the BPM is actually running steady, but your notes are 'off grid'. To fix this, start recording in live and watch how far off the notes are. Open up Preferences and adjust the MIDI Clock Sync Delay until they are coming in correctly. Great right? Only catch is that as soon as you stop and restart the transport you'll be back out of sync and need to adjust it again. I feel like there should be a better way of doing this but right now I don't have the answer (any Ableton / MIDI experts?). Don't forget you can also sync to the Sequencer's clock which can be easier to get setup.

    EDIT 2: OK I changed the text above 'cause some of it wasn't really correct.

  • @karaokaze yes correct! I made a few small modifications to vvopensource so I'll be putting that fork up on github soon. I'm also using a fork of the excellent WesternMusicElements for generating scales:

  • @mism great, would love to see/hear what you come up with :)
    If you do manage to find a way to reproduce the freeze please let me know. I'm seeing a few seemingly random lockups here too that are going to need some digging to track down...

    Do I understand your suggestion correctly: When Live sends the 'song position 0' message you would expect every page within Sequencer to set the next note to play to be the first one of the current loop? So when you then press play again in Live, each loop in Sequencer that isn't paused will start wherever the loop start marker is set to.

    If so I think that's definitely something I could look into.

  • @markeats
    Regarding the freeze issue I remember that I changed individual step lengh, not the step length at the top which is the overall I think, to 1/8 and 1/4 and then your app froze while synced to running Live. I´ll check and see if it does it again.

    Yeah, when Live sends "song position 0", it would be great if your app resets back to the same song postition as Live does when I double click "stop", right now it continues from the position where it stopped. This would be very useful/needed when using other tracks beside your app in Live and is the usual behaviour when I use other (vst) sequencers. Most monome apps don´t do that, except molar vst, as far as I know, which is a pitty and makes some apps a bit difficult and often useless to use in a daily recording enviroment.... for me personally. If you would be able to correct/change this that would be awesome!!!

    @naanod regarding the sync and the changing bpm issue, I also have a bit jitter of the bpm value, but that is just normal. I also set my sync delay to a minus value, according to the overall latency in Live midi preferences which depends on your buffer size settings. I know phortran suggests this when using pages, so I suspect this to be similar when using "marks sequencer".

  • I'm having a lot of fun with this too, fantastic app!

    also, great insights about the framework used indeed. did some ios coding for a project myself, definitely going to check out those classes :)

  • oh man, this looks SCHWEEEEEET! i'm on this like donky kong. will report back with a geeky review! Thanks for sharing!

  • I love your website, as well, by the way. did you make it yourself or hire someone? Given that you've made a max patch, chances are I'm going to assume you made it :P

    regardless, cool site!

  • I forgot to mention before but some of you found it anyway – there is a page here where you can vote on longer term features (short term plan is getting it stable):

    And I added a page to the apps wiki today too.

    @mism cool yeah i'll definitely try and get that change in the next build, makes total sense. By the way, the step setting at the top only effects scrubbing, not the length of the actual notes.

    @misk thanks! yep, it's an old site but one i made. look forward to hearing your thoughts on the app.

  • sexual chocolate.....great app!!

  • @markeats
    Thanks markeats, would be very, very nice if you were able to implement the sequencer restart!

    Here are some (small) suggestions and bugs:

    Page 1 should display (midi channel) 1 not 0, page 2 should be channel 2, etc. in the app window.
    Changing pages on the monome does not change pages in app window which would be useful.

    Scales always shows the default ionian (major) and not last one changed, which would be useful too. A global scale/note change option would be very nice/useful (I added this to the vote site you mentioned) ;)

    Edit mode:
    Double pressing is really difficult (for me?) and often removes a note and sometimes returns to sequencer mode by accident, pressing the same/removed note position again does not have the possibly changed velocity and note length settings that might have been made. maybe a long press of the pad, instead a double press for velo and length would be better.
    Double pressing the notes shows the note velocity/note length sliders on some pads at down left instead of upper left as supposed (probably a 128 issue).
    Note length is displayed by pads on monome after editing, which is not useful on my (non variable brightness) monome as it is more confusing than helpful.

    Transpose via monome would be nice!

    Exciting app mark, thanks!!!

  • @fluxsta if i make a proper site for this, that will be the user quote ;)

    @mism thanks for this kind of feedback – it's really great to hear back on these small but important details. A couple of replies to some specific things:

    Note velocity/length sliders appear at the bottom if the note is in the top half of the grid, and at the top if it's in the bottom half. This way the note itself doesn't shift while editing.

    Regarding double pressing: yeah I debated this a lot. There are some issues with long-presses... Firstly, it means that notes wouldn't be added or removed when you press, but when you release. I think this makes it feel unresponsive. Also just waiting for X amount of time to trigger a long-press feels unresponsive too. I do understand the frustration if you accidentally remove a note with the current setup though. Maybe this needs to be a user preference.

    I think everything else you mention I'll put on my to do list!

  • Look forward to that quote @markeats ;-)

    Any word on a step by step pdf at all? feel sure I'm not maximising this to its full potential?

  • Great!!

    Regarding the double pressing in edit mode, yeah it is frustrating when it happens and it does happen very often and that is a workflow breaker, if you know what I mean.

    I am a bit afraid, that I probably wouldn´t use edit mode at all and that would be a shame for such a great app.
    I thought about the option to press a free pad first following the specific note for editing.
    I just checked the pad assignments of the top row and I personally wouldn´t care to sacrifice the bpm +/- pads for that as I personally do not need them at all. I don´t know how much other user´s would need to have permanent access to the bpm pads on the monome, but I feel that it would be fine to leave them in the app window itself. I personally do not know any app where a bpm change is possible on the monome, so I´d guess that probably noboby would miss/need it, but that is just my 2 cents. ;)

    Sorry, to be such a pain in the ass regarding the edit mode thing, but I think this is really important. ;))

    Once again, thanks for sharing and making this great app possible!!!

  • @fluxsta planning on adding a page that explains the desktop UI soon at least.

    @mism i will have a think about making a 'long press option' available. I'm not sure I follow your other suggestion – wouldn't that mean to edit a note you would: long press to enter Play mode, press a key on the top row which would take you back to Sequencer mode, then select the note you want to edit. Sounds very cumbersome.

  • Look forward to update on the UI. Thanks

  • ...aahhh, sorry my mistake it was just too late yesterday, how could I not notice I was on the wrong page lol.
    Yeah, a "long press option" is definately worse a try, I think it would work well.

    The "pattern on other page" is the only thing I am still scratching my head a bit, but pdf is on the way.

    Looking forward to a new version!

  • switching patterns on other pages is only available on the 128 – it lets you advance the patterns on all pages except the current one. A bit like Live's launch scene functionality.

  • yo...
    ran this last night...
    great app!
    its really fun...
    i was running it into live9 without sync...
    on my 256 osx 10.7
    i had MLR style on... and i got a few weird things...
    if i was trying to skip around in the loop it was stuck on resizing...
    couldn't always recreate it...
    but, just thought i'd holler..
    awesome work yo... !
    one thing i'd love to see, is maybe have the top right button always be the switch screens button...
    its sometimes hard to flip back and forth with the double press...
    could just be my old worn out buttons though...

  • Hi all, it had occurred to me that I think most people are turning on 'MLR style' but there are actually some big advantages to not using it :) Here's a simple demo:

    So basically by leaving it off you have to create loops on the row above, but most importantly this means you can still scrub and play sounds outside of the loop. Then when the playhead reaches the loop it will re-enter it and loop as before. It opens up quite a lot of possibilities!

    @edison glad you're enjoying it! Would like to hear some more about this bug – what do you mean by 'stuck on resizing'? Do you mean the whole app froze? Or the playback didn't respond as it should?

  • New version up now! Here's the changes:

    + You can now switch modes by holding down a button (default) or with the previous double press method (available in preferences) – good shout from @mism on this
    + Added indicator if timing is running behind (a red dot will appear next to the BPM)
    - Loop position resets when clicking stop a second time or if syncing to an external MIDI clock and receiving 'Song Position Pointer 0'
    - Scale generator remembers the last used scale type and tonic note
    - Reduced buffer time to 10ms
    - Patterns and pitches are numbered from 1 instead of 0
    - MIDI channels are correctly numbered from 1 instead of 0
    - If a loop has been set, we now correctly remain in it on first play after startup
    - Hopefully fixed most random freezes
    - Improvements in CPU usage when syncing to external clock
    - New icon design
    - Added a 'quick start' page and an explanation of the desktop interface to the User Guide

  • Hey Mark, that was an unexpected fast update! Awesome!

    Thanks for considering my suggestions.

    - Loop position resets when clicking stop a second time or if syncing to an external MIDI clock works great, so important to me (and hopefully others), thanks!

    - Scale generator remembers the last used scale type and tonic note works.

    - Patterns and pitches are numbered from 1 instead of 0 works.

    - MIDI channels are correctly numbered from 1 instead of 0 works.

    - The longer press/hold down of a button in edit mode for note length and velocity changes works nice, don´t you think?
    One thing that confuses me though is that the long press is also for the pad responsible for changing between sequencer mode and edit mode pages (upper right) and I guess that this pad for switching between pages cannot be excluded from this behaviour, meaning >> long press for changing velocity/note length and normal/double press for switching between edit mode and sequencer mode, if you know wwhat I mean. I have no idea if this is possible from the developer point of view.

    - One thing that would be very helpful/useful, is that the edited pad in edit mode is flashing/blinking when edited. In some situations it is difficult to remember which pad you are actually editing.

    - Another thing, or problem I already mentioned is the visual state of note length on the pad of the note on the sequencer page and edit page after and during the editing (especially after longer note length values), as this is a total mess on my non variable brightness monome to deal with massive (note lenght) lights on, not knowing which pads are the actual notes, especially/mainly if you edited/changed the note length on several notes.

    I´ve been notified by email, that you are working on the Transpose pattern feature! Nice!!

    ...oh and I don´t want to be outrageous, sorry, just a reminder lol, global scale feature would be great ;)

    Even though I can hardly wait to use your app intensely once it is perfect, ... please no rush!!

    Have a nice weekend!!

  • I have two options on the go for transposing at the moment, not sure which will make the release:

    This first is a simple centre point that you press either side of to shift the pitch.

    The other is an interface where you use two fingers to pull in sliders from either the left edge or the right. It's a little trickier to get your head around at first but gives you double the range in pitch.

    @mism :

    - I'm probably going to play around with the mode switching some more in the next build. But right now it needs to be a long press because you can trigger it on any space on the grid, not just the top right.

    - Blinking for selected: maybe one day but seems pretty minor since it's already clear on the varibright and you can always just move the slider and see which note responds on other monomes.

    - I'm not so sure about hiding note length, that seems like an odd thing to do as you want to be able to see what is lining up with what.

    cheers for the feedback!

  • - I´d prefer the second suggestion for transposing. I like to check extreme pitch settings.

    - Damn, I hate vari brightness monome lol. I guess I have to live without blinking pads. Yes, I can just move the slider, but this means additional checking and is not as straight forward as it would be if I see the edited pad straight away. I guess i´ll have to get me a new monome one day ;)

    - Regarding the note lenght... sigh :), I think it is enough to to hear which notes are how long and for the advantages of having a clear look which notes are playing this definately overweighs for me, but maybe this is (again) more another non vari brightness issue. Using it the way it is right now, I often run into guessing things and making mistakes, because I just cannot see any notes no more, which is not an ideal performance situation, if you know what I mean.
    I wish others would share my point of view, so I hope some users come back from summer vacation and check this amazing app of yours!

    Mark, many thanks again, looking forward to further updates.

  • I dig the new icon. Keep in Dock worthy.

    Still trying to figure out my sync. I did try going the other route having Live sync to Mark Eats, but it didn't get any better. I'm was thinking it might have something to do with my audio interface (Saffire Pro 24 DSP), but that is probably just me looking for an excuse to buy a new one.

    Anywho? Does this look normal?

  • @nanood
    As said, a bit jitter is normal so no worry on this, looks fine ∞}

  • @markeats couldn't get the size thing to happen again... Call it a fluke!! Thanks

    @naanod that's standard issue for anything syncing with ableton.... It just has terrible clock... You're probably better off using ableton as the master though... As it HATES following anything.....

  • Just to chime in on the sync stuff, here's a video that shows my setup syncing ableton to the app:

    Note the MIDI clock sync delay.

  • @markeats could you post the app version for 10.6.8.....i'm so obsolete!!

  • sorry as I mention above it's not possible – a lot of the code relies on features introduced in 10.7

    10.9 will be out soon, time for an upgrade :)

  • New version up! Here's the changes:

    + Transpose patterns in realtime from desktop interface or a row on 256 monomes
    + You can now set the default MIDI note velocity
    - Clicking the sequencer play button while already playing resets the play position
    - When acting as a clock source, 'Song Position Pointer 0' is now sent at the correct time
    - Editing patterns appears more responsive
    - Removed option to double press to switch modes
    - Added page animtions to the desktop interface
    - You now click an active page tab to edit it's label (edit label button has been removed)
    - If you enter Play Mode via the top right button and keep holding it then you will no longer trigger returning to Sequencer Mode when you release
    - When MLR-style is enabled the loop now responds on button down (this isn't exactly true to MLR but makes it more responsive)
    - Reverted some changes to BPM handling to fix a nasty memory leak
    - Fixed bug when switching from a 16 width monome to an 8 width monome and the loop ran past the grid width temporarily
    - Please note that velocities of notes set in previously saved files will be disregarded, sorry!
    - Fixed the User Guide's missing letters

    Known issue:
    There are still some quite annoying bugs that can occur when you first create a new document. If you don't see any notes appearing in the desktop interface when you add them on the monome then quit and restart the app. That should sort it (and even keep the notes you just added).

  • Syncing Ableton externally to Mark Eats seems like my best best.

    I did till try syncing internally in Ableton with the new version. Seems like I can the first bar right on point; after that not sure what happened.

    Regardless, great progress! Def. giving me a good reason to hang onto my monome.

  • @naanod Glad to hear it! It's very hard to tell much from that screenshot on it's own but I'd be happy to help you try and solve it. What would be ideal is if you can send me a message with a screen recording that shows what's going on in the Sequencer app, what's going on in Ableton and what your MIDI settings are. Similar to the one I posted above.

  • @markeats
    Thanks for the update!
    Too bad I can´t use the transpose function on my 128, but I can live with it using the interface.
    I´ve been doing some deeper testing again and tried the/my note lenght editing issue again and for me personally it is just not possible to work with. I attached screenshots to give you an impression what I mean. If you are willing to have an option in preferences to turn note lenght visuals off, I´d be a very happy and very grateful man :))

    Edit page _ Sequencer page - Sequence running - Where are the notes? (there are seven notes to find)

    960 x 720 - 241K
    960 x 720 - 238K
  • @mism Ha ok that's a pretty extreme example. If you're working with several long notes on a page then it's usually much easier to adjust the step length.

    But... I'll make you a deal :) I'll put the option to disable note length visuals in the next release if in return you'll upload a video of you making some music using the app. Sound fair?

  • @markeats
    Yeah, that looks like an extreme example, but I could have used lower note lenght values and it still would be pretty messy and anyway I had to impress you somehow lol...

    Your offer sounds like a really fair and kind deal Mark, much appreciated! Just give me some time between sons and wife and work, etc. to get familiar with your app and I´ll try to do an acceptable video, I promise ;)