Development roadmap

Roadmap for Play-a-Synth development in rough order for each of the main components of Play-a-Synth:

  • Host application

    • Add possibility to receive sysex messages, should be turned off by default - DONE
    • Windows & Apple cerficates - Apple certificates DONE
    • Automatic reconnection to server if disconnected - DONE
    • Fix issues with Windows version, related to the web session connections - Fix done
    • Improve reconnection to active session - DONE
    • 24 bit audio, currently only 16 bit
  • VST/AU plugin

    • Use presets from web control panel - DONE
    • Improve general connectivity with the host application - Being worked on
    • Apple certification for the Mac plugins - DONE
    • Improve reconnection to active session - DONE
    • Feedback on audio quality
    • Integrated control panels
    • 24 bit audio, currently only 16 bit
  • Web site

    • Add a delay setting for each synthesizer type when loading presets, parameter writes happen too quickly for vintage synths - DONE
    • Show users actual wait time between sessions if playing free synthesizers - DONE
    • Add support for external MIDI controllers so that they can affect the control panel, allowing users to easily save presets to Play-a-Synth when using a MIDI controller - DONE
    • Add a small sequencer to the web control panel - DONE
    • When creating a control panel, fix setting of all parameters to zero
    • Improve reconnection to active session - DONE, you can now reconnect after disconnect and change between web session and plugin session within a session
    • Update website and server, the current server is getting old
    • Feedback on audio quality
    • Audio quality/reliability improvement by adding a mode for reliable audio (no crackles/gaps in
      audio) with the cost of more latency
    • Improve the look of the web site and control panels
    • Fix problem when loading the web control panel the first time on mobile devices (tablet)
    • Web control panel MIDI file player does not react to tempo changes
    • Check external MIDI device support in web sessions on mobile devices (Android & iOS) - Android phones seem to work ok, problem with Shield TV devices using browsers
    • Redirect from public list of synths to the signed in version of the list if user is signed in

If you have a suggestion, please comment below, the roadmap will be updated when things get done and when new things need to be added.

Hi Zoid,

Do you see it feasible to implement a “MIDI Channel” element in the web panel structure that specifies which channel a parameter change is sent on?

[12:25:10:000951]: Time(1.000000) [Controller] **Ch:[ 5]** No:[ 8] Val:[ 9] RAW:[b0 08 09]

I have two instruments that fully function only if they can receive messages on 6 channels each. I’m a channel hog at the moment.
Instrument A is locked from 1-6 and B has freedom to occupy any channels n+5.
The good news is that if a user is savvy enough, they could probably play and edit both instruments at the same time.

Cntrlr has an option per knob/button to override to a specific channel which helps a lot on the VST side of editing but one potential issue is having a third party Ctrlr panel that could be hard coded differently to what a synth host has organised. For instance, I’ve designed a new panel which operates specifically on 7-12 to avoid conflicts with my Volca Drum (1-6), but that also forces anyone else who wants to use it to also lock themselves into those channels too …(until I figure out how to make MIDI Out more flexible on forced channels in Ctrlr).


  • JDR

There should be a “midi_channel”-field already available in the web control panel, which you can use to override the selected midi channel. This should give you the possibility to define parameters across multiple midi channels. An example:

		"name" : "Osc 1 PW",
		"desc" : "Oscillator 1 pulsewidth",
		"type" : "knob",
		"id" : "osc_1_pw",
		"values" : [0,127],
		"default": 127,
		"midi" :
			"type" : "CC",
			"parameter_number" : 35,
                        "midi_channel" : 4

I have not tested this thoroughly so there might be some bugs left. It should also be possible to add a “relative_midi_channel”-field which takes the selected midi channel and then adds the given channel count to that. That should cover the case that synth has been configured to different channels.

Thank you, I didn’t see that option in the web panel structure post.
There’s a repo with a list of all available functions, isn’t there?

Time to work on the SCI MAX web panel!