Music_SDP 1.1.6 just went live! Happy New Years!

Happy New Year, everyone! 2017 was a massive year for the members of the Music_SDP team. New jobs, graduations, and/or major life changes seemed to happen to everyone, and in many ways we’re still settling into our new lives. While ultimately, change is good, adjustment takes time and takes time away from the things we love. Despite this adjustment period, we’re still working whenever we can to grow Music_SDP into the best program it can be. We’ve been quietly working away since immediately after the 1.1.5 update, experimenting, asking questions, making massive changes to the back-end, and adding new features and functions. With the start of a new year, we thought it’d be the perfect time for a new update!


More on that in a moment.


The first year of MSDP’s life (February 15th 2016 – February 15th 2017) was spent adding in much-needed features and fixes, and our team worked hard to push the program to be as feature-complete and functional as possible. Because there were so many urgent issues that needed to be addressed, we pushed out ten updates that first year. We made a lot of progress between 1.0 and 1.1, and it was formative for the project.


We’re approaching our two year anniversary now, and things have slowed down just a bit. Despite big change, this year we’ve worked primarily on three things: refinement, clean-up, experimentation, and feature improvement. This has meant re-writing large parts of the program, sometimes multiple times. We want to make sure that our code is legible and amenable for a future with additional developers, and as strong as possible to ensure a long lifespan for the project. We want to try out a variety of things to learn how flexible our system can be, and to learn how we can improve what’s already there. Many of our experiments have panned out (or are panning out), while others have lead to dead-ends. This has resulted in fewer updates and more time between releases, but it also means that the program is feeling more professional and more stable.


Outside of the dev space, Year Two has been huge for the start of our community, and we’ve been blown away by what’s been shared by our community on Facebook. But I’ll have another post out about that soon. Right now, let’s talk about what to expect in the 1.1.6 update!

———— The Official 1.1.6 Update List ————

Major Feature Update:

1.1.6 features a completely re-designed preset system for modules. This new system allows users to give names to each of your presets, and easily select them from a drop-down menu. This puts us on-par with other industry standard programs, and makes navigating and working with presets much easier. We’ve also integrated a feature requested by one of our users: the ability to have parameters saved in presets glide from one to another. In other words, if one you’ve got a delay time of 100 milliseconds in one preset, and 1000 milliseconds in another, you can jump directly to the new value, or glide to the new value over any amount of time. Shout out to user Dimitris Savva for this idea! It took a bit of muscle grease to implement, but we think it’ll be really useful, and adds something really unique to our preset system.

With the new preset system, we’ve done a thorough check on every module in our toolbox. We’ve removed tons of bugs and little issues across the program. The noise in the Gater is gone, all presets save properly, and everything is just working better than it did before. we’ve also changed the color scheme slightly, giving all modules a slightly darker look, and improving the contrast between the background of the modules and the actual foreground objects.

Tons of custom presets. Since we added in this preset system, it only made sense to create as many presets as we had time to. These presets are designed to show off the functionality of the modules, and often do unexpected things. Check them out, they’re a great starting point for getting familiar with the tools!

Major System Overhaul:

We’ve implemented more customization to our System Board, and more optimization. The code for the system board has had a COMPLETE redesign for this update, allowing us to be much more flexible with what can be offered, and allowing for new optimizations. The Project Settings screen has now been moved to a separate window, and the Score System has taken it’s place in the Full View Tabs. What does this mean? Well, in the new project settings screen you can now choose which full view tabs you want to use in your project. Do you never use the Performer View, the Master Mixer, or the Board Browser? Now you can just toggle them off completely, freeing up a significant amount of system resources so you can make more music. This comes with one caveat: when re-opening a previously created project, you’ll have to navigate to the new Project Settings screen to choose what full view tabs you want to include in your project. These tabs will be toggleable on-and-off at any point, and changes are saved automatically for each of your projects, so this shouldn’t take up a lot of time when working in your projects.

New Module, and Module Updates:

New Stochastic Controller, and new options for all of our Stochastic tools. Have you tried the Stochastic Grains instrument yet? Do you wish that you had the same randomness available to control the drum machine, A+2, or SAH instruments? The new stochastic controller gives you the same random functionality to control any of the MSDP instruments. Randomness = Power! On top of this, we’ve added more functions to each of our stochastic tools, and they’re really powerful: both the Stochastic Files and the Stochastic Grains instruments now include velocity and polyphony with random size. Want to have 5-16 notes occur at once? Now you can! On top of that, we have added stochastic ADSR control for both tools, meaning you can now control the shape of the amplitude envelope for each sound generated!

The Drum Machine now includes three pre-built drum kits! With the new preset system, we’ve figured out how to implement a handful of pre-built kits for the drum machine for you to play with. Don’t own any drum samples? No problem, use ours! Got some drum samples, but not enough to fill up a kit? Load one of our presets, tweak it, and then save the new preset to your project folder!

New Minor System Features:

Computer keyboard control over the Virtual Keyboard. Want something more playable than the virtual keyboard, but can’t afford a hardware controller? You can now use your own computer keyboard to control the virtual keyboard, making it easier than ever to play your instruments without additional tools!

We have a completely re-built Metronome, including Ableton Link functionality! OK, this is pretty cool. Do you use Ableton Live, and have you wanted to use MSDP WITH Live? OK, this isn’t quite the same thing, but you can now synchronize your Live sets with MSDP, keeping both metronomes in-sync while you play. This is a pretty experimental function, and something that we will be expanding on in the future. There’s plenty more to come, but if you’re feeling adventurous, feel free to play around with this newest release.

More Project Updates:

New, better default parameters for many modules. During our module review, we found several modules that could be better setup to show off their functions immediately. Small tweaks have been made across the module list to improve those starting parameters.

Backend Improvements and Developer Features:

Optimizations to the Project Loader, Metronome, Virtual Instruments, App Launcher / Developer panel, and the Audio File, MIDI File, and Plugin Managers. These subsystems are all leaner now, and have code that’s easier to follow. This means less demand on your computers, and a better time exploring the code for anyone who wants to see how they work! Also, these subsystems previously stayed loaded at all times in the background, while now, they’re only loaded when needed, and are completely closed otherwise.

Streamlined templates for module developers. New optimizations means that parameter input and output routing is now automated, as is the module naming function. We’ve expanded the functionality of our synthesizer template, and it includes new built-in code to automatically implement those new functions.

Expanded functionality to Document tree. Previously, when starting a new project, it was necessary to create a project folder in order to save any work. Now, a default project is saved into the Music_SDP folder in your document tree, so you always have somewhere to save your work, even if you just want to play around. This default project won’t mean much to most users, but it means that the system won’t break if you hit cancel when asked to name your new project! Along with that, new folders have been included that makes it easy for 3rd party developers to add their own modules to the program, and to include their own presets for the preset system.

Fixes and Tweaks:

Module Names can now have spaces in them! Have you ever had a module who’s parameters failed to load again when you opened your saved board? This is probably because of a problem we hadn’t caught yet, where modules couldn’t have spaces in their names. This bug is now fixed. So you can name your module “Super Awesome Best Sound Ever” and parameters will be saved and retrieved with no issues.

And Still More

Chorus delay time max increased. Just a small tweak. The Delay time on the chorus knob now goes up to 500ms.

Delay module renamed to Signal Delay. This fixes a major flaw in the code where sometimes the Delay module would simply fail to load. This had to do with having multiple delay files in the search path, and the system loading the wrong one. This will break boards with Delays saved on them, but swapping the old delay out for the new one and re-saving it should fix the problem.

MIDI Arpeggiator flushes on toggle off. In the past, it was possible for notes to get stuck on when you turned off the MIDI Arpeggiator. This has been fixed now.

New Flush button added to Vocoder. It’s possible for notes to get stuck on in the Vocoder. The flush button can now be used to automatically turn off all current notes.

Min/Max limits of cent offset removed from A+2 and Add1t1v3. Now users can detune a waveform by as many cents as they please, whereas prior to 1.1.6, there was a hardset limit of +-100 cents.

TONS OF BUG FIXES. I know I said this already, but it’s really worth mentioning again. There were so many tiny bugs hidden throughout the module list. During the implementation of the preset system, it just seemed necessary to address as many as we could. Thanks to everyone (shout-out particularly to Pedro Martin and Dean Berlinerblau) who’s submitted bug reports over the last few months. It’s been super helpful, even if fixes don’t always come out as quickly as we’d want. Full bug fix list can be found in the official 1.1.6 changelog.


I hope these updates are getting everyone excited to make music! The community has been doing some amazing things, and I’ve been spearheading some projects myself recently. It’s been so exciting to hear what our users have made, and with each new album, single, performance, improvisation, jam session, or just late-night play session, Music_SDP fulfills it’s purpose of providing a meaningful, professional-grade music-making platform for everyone. Thank you, from the bottom of our hearts, to all of our users, for giving Music_SDP a home.

And about 1.1.7… well, We’ve got some plans, and we’ll be sharing them soon. Happy Holidays, everyone!

-Hugh Lobel, and the Music_SDP team.

we’ll see you with more news and updates soon!

Pin It on Pinterest

Share This