[new project] mlrVST

  • Hello fellow monomers, I have an exciting announcement to make! For the last few weeks I have been slaving away on a new project to build an mlr type VST. The app is inspired by mlr / mlrV but will hopefully add many new features, as well as of course all the advantages of running as a VST (automation etc).

    The app will be completely open source (GNU Public Licence) so everyone can mod / hack it to do whatever they wish. I will maintain my version on [[https://github.com/hemmer/mlrVST|Github]] and will be open to fixes / features that fit the direction of the project.

    As it uses the JUCE framework, it will be cross platform on release though the initial development has been on Windows (so early alphas/betas //may// be Windows only initially).

    Full up to date details on the [[https://github.com/hemmer/mlrVST|Github page]]

    **teaser screenshot**

    https://github.com/hemmer/mlrVST/raw/master/Screenshots/Latest.png

    **roadmap**

    I still have a very long way to go before the app reaches a sensible state, and I don't want anyone to get too excited quite yet. The idea of posting as this stage is to see if anyone is interested in the project and to see if any interesting suggestions or common feature requests come up. I would say though at this stage I have a long list of my own feature to implement first. As for a release date the philosophy is definitely "when it's done" though if all goes to plan there should be versions to test as the project develops!


    Hemmer

  • sounds and looks terrific!!! :-)

  • sounds like this could be epic! looking forward to upcoming news and hopefully it will end up working on a mac or else lots of us will be not be happy!

  • godspeed senor, looks loverly. Love the ability to play with midi clips!

    Id be happy to pitch on getting a license for a time-stretching algorithm, for the record...

  • Don't worry - it will definitely be mac compatible! I am actually getting a macbook fairly soon but for now I'm stuck on windows. It's only the OSC code that is slightly different on macs, and that will need a little tweaking.

  • @Hemmer - this is awesome well done, if you need beta testers lemme know!

    "stuck on windows" - Windows pride man come on! :(

  • this looks awesome. i'll definitely have to give it a go when it's completed.

    i guess i'll try to throw my 2 cents in here about how i feel about the regular mlr. and before i say anything else, i'm definitely not saying that mlr isn't a great tool for what it does, and when i first bought my monome back in the spring, i used the max for live version of mlr all the time, since ableton is the center point of how i play and mix my music. but as time went on, there were certain things about mlr that i wished were different. but using the clipmapper max for live plugin recently has helped me achieve what i wanted a lot easier.

    the first immediate thing that stood out to me was that i could only have 4 samples playing at one given time, and there were so many situations where i would want more then 4 samples playing at once. it felt like a big limitation on what i could do with the app. now sure you can just fire any other extra samples off as clips in ableton, but it doesn't give you nearly as much freedom and control over those samples as having that particular sample divided up into sections alongside with all of your other ones. i always wanted to have all the samples i needed to play for any particular song right in front of me on my monome, chopped up however i desired, all in one single app, to keep things easy for me when i played. with clip mapper, you're just firing clips off in ableton with follow actions that are in a sequential order, and there is no limit of how many things you can have playing at the same time. AND also with clip mapper, each piece of your sequenced sample can be anywhere you want on your monome, and not just in a straight line like mlr. i can also set each sequence to be a loop or one shot (although mlrv lets you do that as well). another HUGE advantage i noticed about clipmapper is that you can make every piece of a sequenced sample whatever length you want, which has been a lifesaver for me. with mlr, every piece of a sequence is the exact same length divided up equally. one thing mlr has on clipmapper is that you can record custom sequences and loop them, but i run clipmapper through pages, which already has a looper built into every page, so it's not a big deal. as far as live performance goes, clipmapper was definitely more ideal for me as well. clipmapper saves all of your presets with every ableton set, so all i have to do is load my ableton set, click connect on clipmapper, click refresh leds and i'm good to go. with mlr, you have to load your presets on the device, but you might have to go through a few folders before you can get to wherever you saved them at. you might think this isn't that big of a deal, but when you're playing live even trimming a couple seconds off of the time it takes to set your next song up is a very important thing, at least it was for me. i've tried to come up with the fastest and easiest way to accomplish this, and clipmapper was the best thing i could find. plus it's really fun with noisemaker and it runs straight in ableton just like mlr can. what more can a man ask for?

    but having mlr as a vst plugin could definitely open up a lot of cool new features that mlr hasn't been able to do before, and i hope it does. one immediate thing that comes to mind is that with mlr as a vst you can mess around with mlr functionality inside ableton on your monome without buying max for live (although molar offers that already). when it comes down to it, i've learned that having complete creative customization over any sample you want in any song you play is an absolutely fantastic thing. but not everyone is the same as me, and i guess it comes down to finding your own personal preference of how you want to accomplish things.

  • I am really excited for this!

    Do you have estimates of how much CPU the VST will utilize?

  • Looks amazing! :D

  • @ nowawakelow
    You can have as many samples playing as you have rows if you want. Basically each strip can be assigned to a channel and you can have as many channels as you want. Now I'm hoping that I have the option to get these going to separate audio channels in Ableton too (or other host) so you can add your own effects / other VSTs on a per-channel basis.

    Because VSTs save settings with the host, presets should be associated with the set. I'm trying to work out the best way to handle sample loading as that isn't completely instantaneous yet. Possibly preload every sample into memory for all loaded presets, or many just the next couple? Will need to get presets up and running first really though!

    Basically the preset loading should be really slick once finished, but may require a bit of thought.


    @ awaymessage
    CPU meter is at 1% in Ableton with a few clips loaded and playing simultaneously on my 3 year old desktop (no idea if that is a realistic measure). That will increase with picth shifting, but hopefully not by much.

  • badass good luck!

  • i'm on linux, where i run several vsts that use juce. no issues, so this makes me very excited! i absolutely look forward to testing this thing and making some sweet music with it!

    also definitely willing to donate, if nothing else to make sure that the code always works on linux. right now, folks using JACK2 can't run any max app that pushes audio. i'd love to finally have a feature-laden mlr thing that actually works.

  • @nightmorph

    The only part of the plugin not in JUCE in the OSC handling code, but for that I'm using [[http://www.rossbencina.com/code/oscpack|oscpack]] so it should be cross platform too (might need a bit of wrangling to get the libraries set up correctly).

  • hi hemmer, sounds awesome.
    if you need some help I'd love to contribute on designing the gui
    and of course if you need more testers I'm on windows

  • i'd be happy to run a test build for mac if you like?

  • @hemmer:

    oscpack looks pretty straightforward to build on linux. just need to change PREFIX before running ''make''. it's mac and win that require some extended alterations. i'm looking forward to putting packages together for gentoo and loading the thing into renoise!

  • thats big time hoss...
    sounds mega!

  • @hemmer

    I would be happy to test a Mac build for you! Let me know if you need any help.

  • WOW!!!! congratulations hemmer! this looks awesome... i hope i can get my monome back by then.

  • Great !
    if you wanna look at feature requests here are mines : http://post.monome.org/comments.php?DiscussionID=12620&page=1#Item_36

    (i am working on it by the way ! )

  • This sounds great! I am all over having another Monome powered VST in the arsenal. Lets not forget that the omnipotent Molar VST also covers a very MLR-like and midi sequencer functionality but there is still lots of room to explore within this concept. I look forward to seeing were hemmer goes with this..

  • really cool. please dont wait to long to post it to git hub. i think there are a few people here that are into vst programming that would love to help you.

  • wonderful!

  • Little update for everyone. Making nice progress, variable speeds now implemented so loops can all play in sync. significant overhaul with the UI, looks a lot neater now. UI is also much easier to tweak - I just tried a build with 16 different rows of samples and it ran like a charm (good news for 128 / 256ers)!

    I am planning to take the plunge and set up my monome with serialOSC tomorrow (i know I'm a dinosaur), so I'll need to tweak the OSC code a little bit. But after that there should hopefully be a alpha build to play around with (windows only for the time being, unless any mac devs want to have a pop at compiling too). It won't have any presets, visual feedback or the gloss that you might be used to yet but it's getting there and definitely usable!

    BTW, fans of granular synthesis are going to //love// this (I hope)!

    **EDIT**: updated screenshot in main post

  • "BTW, fans of granular synthesis are going to love this (I hope)!"

    OH YASS! :D

  • i definitely want to compile this for linux. i'm willing and eager to alpha/beta-test building from source!

    also, if you need help with migrating to serialosc, jump on #monome on irc.freenode.net -- there are several of us around.

    oh, and will this plugin offer separate outs for each sample? that way effects can be applied on a per-row basis.

  • @Hemmer - You should definetely get Pauk in on gui design!!!

  • "granular synthesis" look really nice and the gui look great !!!

  • Will the VST have support for 48kHz? My new sound card (Serato SL-4) does not support 44.1kHz so I cannot use molar with it...
    This is a really exciting project, looking forward to it. I can also help with testing on MacOSX.

  • @nightmorph - i have been assured that it is possible to have different outs for each channel, though I don't have that working yet!

    @dean / pauk - I may need some help with the GUI at some point, but to be honest, it's the most fun part! it should be relatively easy for people to go into the code and tweak it to what they like however, and I'll welcome any improvements.

    @f_unkymunky - it just uses the sample rate from the host so I assume it would work, but I need to test that.

  • Being a molar fan boi, this sounds very exciting :-)

    Since you yourself classified yourself as a dinosaur, any chance this can also be monoserial friendly?
    Sorry PPC user here, no serialOSC for me.

  • edit: oops, found the github page.

  • compiles and starts on linux! hosted in renoise. see screenshot.

    file loading seems to work differently on linux, so for now, drag'n'drop ain't possible. workarounds commencing.

    i'll have ebuilds and patches on github once i clean up my code changes, so that other folks can get an idea of what might be needed on their linux distribution, as far as directories and dependencies go.

    1418 x 854 - 106K
  • ok it looks like the serialOSC will take a bit more work to get something working. for now, i'm using this patch:

    http://docs.monome.org/doku.php?id=app:monomepseudorial

    //prefix// /mlrvst
    //ports// 8000 / 8080 as usual

    @baubie / monomeserial users - this should work out of the box!

    **READ FIRST**

    This is very much an experimental alpha (not a "Google alpha"). When it crashes in Live for me, I sometimes need to restart though these are much rarer now. If you are running with the debugger in Visual Studio you shouldn't need to restart. //please// watch your speakers, have them low volume, pop a limiter on the track etc (**you are responsible for making sure you test this safely!**). I have had slight problems with clicks in the past, nothing serious but I'd hate for someone's nice new speakers to get busted! Visual feedback isn't working yet so no lights will show! It should adapt to the host BPM though.

    Consider this just a taster to prove that the project is getting somewhere!

    **mlrVST alpha 0.1.2 (windows only)**


    **source:** https://github.com/hemmer/mlrVST
    **vst plugin:** https://github.com/downloads/hemmer/mlrVST/mlrVST.dll

    **issues:** https://github.com/hemmer/mlrVST/issues

    Instructions: drag wav/aiff files onto the SampleStrips. Right click to select (ignore the tiny font!). Ctrl-left drag to move start/end points, middle-click drag to move selection, drag to select.

    This is my main focus.


    I'll be on the #monone irc channel if anyone has questions.

    @maersk - getting the OSC libraries working is a bit tricky, i've updated the dev notes on github which might help. i'm also on irc if you need a hand compiling a mac version.

  • hmm. just quickly checked this in renoise on win xp, and renoise doesn't seem to see the vst, even after rescanning the vst folder...

  • you got cubase / live / another vst to check with? this might be a 32 / 64bit issue?

  • no, I'm in work and only have renoise. i'll try again later on my music machine when i get home.

  • I can see it!! I'm on Live, win xp
    seems that we will have a distracted afternoon :)

    edit... I can open it as well, unfortunately I'm at work too and don't have my monome with me...

  • ok so minimal jamming away with this! awesome!keep at it!

  • bug - cpu eventually hit 98% then crashed live :(

  • wow ok thats not happened to me yet! did you do anything specific? does it happen every time?

    EDIT: maybe it's because i'm on win7. any win7 users tested it successfully yet?

  • im on win 7 :/

  • hop on irc if you can, i have a few questions for you. or here is good too, basically try to see if you can remember what caused it? For example I just got a hang when selecting "none" whilst playing, but from that I managed to find a mistake in the code!

  • just wanted to add that this is an amazing project/effort and i'm really looking forward to trying it out. :) keep up the awesome work.

  • ahh sorry i came offline shortly after sending that comment and im in work now mate. I was experimenting with the latch button and loop modes, this eventually led to ableton hitting up cpu and crashing :(

    ableton 8.2.5
    windows 7
    monome 256

  • ah the 256 might be the cause, it probably would crash if you pressed outside of the 8x8 grid (i'm developing for mk64 initially). i'll put in a temporary block of button presses outside that range until i have a proper options page up and running.

    EDIT: nope thats not it, i've already got that i place. mm, if you can the chance at some point see if you can reproduce it (no rush i've plenty to do) and whether the app crashes after pressing outside the main 8*8 grid. i've make a few fixes which may have fixed it so will upload a newer version later.

  • ahhhh ok, makes sense indeed!

    Awesome work hemmer, thank you.

  • Unable to test now ( at work ) but any ideas on how well this might work with monomeemu and the LaunchPad?

  • dude.

    LOVE IT.

    OSX?

  • @redoom - should work - let us know how you get on.

    @toiletooth - it is definitely coming. if some mac whiz wants to compile before i get my macbook then i'm happy to help out.

    slightly updated version posted on the github downloads (https://github.com/downloads/hemmer/mlrVST/mlrVST.dll). that's enough for tonight for me, head hurts! I am going to have a proper look at some of the crashes tomorrow, i have an idea what's going wrong.