@jcelerier jcelerier released this Aug 12, 2018 · 7 commits to master since this release

Assets 6

<!> important notice <!>
Due to updates in the OSCQuery protocol, communication may not work with older libossia builds. Please use a current git master of libossia.

This is a work-in-progress release, some parts of the user interface (especially the inspector) are still undergoing heavy changes. In addition, the internals underwent a pretty heavy refactoring so keep an eye out for bugs and don't remove older versions directly.

New features

  • A nice redesign (still work-in-progress) thanks to @aklevy - check that about window !
  • A time indicator is now available
  • All icons should now be retina - if some aren't please report bugs
  • Work-in-progress for streamlining the inspector across all processes.
  • "Show UI" icon for VSTs, LV2s, etc. in the slot header

Bug fixes

  • Fix error when dropping an automation on an interval
  • Display "localhost" when possible for Bonjour / Zeroconf apps (#699)
  • Fix access to min-max in the local tree for automation process (thanks @bltzr)
  • Playing scores with sound files won't cause a lag anymore
  • Fix execution of mapping process on array with units / accessors
  • Improved rendering of MIDI process to increase UI performance
  • Won't create states when double-clicking with play tool, which allows to play small loops manually
  • #767 #771 #502 #762 #679

@jcelerier jcelerier released this Jul 24, 2018 · 152 commits to master since this release

Assets 4

New features

  • Various cosmetic & UI improvements, some buttons have changed a bit.
  • All processes inspector now allow to set ports. This is useful for instance to set ports in state processes.
  • UI to load LV2 plug-ins.
  • It's now possible to swap processes in the object panel to change the order in which they execute.

Bug fixes

  • Many LV2 fixes. Most LV2 UIs are now supported.
  • Don't show a button to enable a plug-in UI if there is none.
  • Fix mono audio input addresses not working.
  • Fix a potential crash during execution.

@jcelerier jcelerier released this Jul 5, 2018 · 178 commits to master since this release

Assets 5


  • A few crashes that would happen while editing during execution.
  • A crash when changing audio engine during execution.
  • A crash when setting sound file process to an invalid file.

@jcelerier jcelerier released this Jun 26, 2018 · 189 commits to master since this release

Assets 5

New features

  • Pattern match support in ports : it's now possible to send and receive to addresses such as OSCdevice:/*/bar for instance
  • #775 : it's now possible to set the precise value of a slider when double-clicking it
  • Experimental "decapsulate" action which does the opposite of "encapsulate"
  • Experimental JS scenario scripting, with a very limited API for now
  • Added link to documentation in "About" menu


  • Sliders not being released when moved
  • #777 , #790
  • Move a whole slot with ALT pressed
  • Localtree OSC port not being reloaded correctly
  • Localtree name was changing upon save / load
  • Problems with array accessors

@jcelerier jcelerier released this Jun 14, 2018 · 275 commits to master since this release

Assets 5

New features


  • It is now possible to drag slots everywhere. In other intervals, inside the same interval, etc. Pressing Alt while moving moves a whole slot instead of the front process:

drag and drop slots

  • In the settings, it is now possible to choose what happens on an initial play-from-here and on subsequent transports (#742).
  • The local device has gained a /transport node (in milliseconds) which performs a play-from-here.
  • Intervals will be resize when a soundfile of different duration is dropped.


  • The macOS release now ship with Faust (http://faust.grame.fr/) support out-of-the-box ; Linux & Win32 versions should come soon.
  • Faust editor is available in the inspector now


  • Reinstate device explorer support in the JS process, through the Device.write(address, value) and Device.read(address) functions, e.g: Device.write('OSCDevice:/foo', 1234).
  • Javascript scripts can have additional methods now : start(), stop(), pause(), resume(), offset(date, position), transport(date, position) which are called at the relevant events during execution.


  • Device explorer shortcut changed to ctrl-shift-D due to conflicts
  • Cables glutton by default (#776) so that more things work out of the box
  • Processes have better names now, e.g. the file name for the sound process. Still some work to do there : #736


  • Various encapsulation bugs: #751 ; time intervals appearing out of nowhere
  • Crash when changing JS during execution
  • Various copy-paste fixes
  • Fix state processes being disabled
  • Fix a bug where a state would inadvertently move when pressed.
  • #744
  • #728
  • #576

@jcelerier jcelerier released this Apr 28, 2018 · 437 commits to master since this release

Assets 5


  • #89 (use a checkbox for bools in the device explorer address editor)
  • #576 (add ctrl-shift-up or cmd-shift-up keyboard shortcut to go upwards in hierarchy)
  • #703 (use last folder used when doing "open")
  • #726 (resizing an interval and undoing looses VST settings)


  • Make ports invisibles when cables are hidden (alt-shift-G) to de-clutter the UI
  • Add a Sample&Hold generator in the LFO process
  • When dragging from the device explorer, the dragged address is not shown anymore since it made hard to see where the drop was going to land.

@jcelerier jcelerier released this Apr 25, 2018 · 444 commits to master since this release

Assets 5

<!> Extremely alpha stuff, please test a lot <!>

A new forum has opened; please discuss potential improvements there: http://forum.ossia.io

  • This release introduces an audio engine & relevant objects (sound file decoding, etc...). VST2 and LV2 plug-ins are supported. Faust is supported for now on macOS / Linux only. JACK2 is supported and tested on Linux, macOS and windows.

  • It also introduces a new way to connect object togethers: through cables as in a patcher software. Ports of all objects can have addresses referring to the device tree, or be connected to other objects.

  • MIDI is now supported directly as a data type.

  • New processes:

    • LFO
    • Simple math expressions & mappings, much lighter than the JS engine. This uses the ExprTK library, all features should be supported.
    • Envelope follower (RMS & peak)
    • Step sequencer
    • Metronome
    • Value to MIDI conversion
    • MIDI Quantification
  • The Javascript script format has entirely changed, pelase refer to the examples here ; in particular, now inputs and outputs are explicitely defined on the script and addresses are assigned in score.

  • Multi-channel operation is supported; refer to the new "audio" protocol to create virtual input / output buses.

  • The current binaries only target recent systems (Haswell / Broadwell / Skylake / Cannonlake CPUs and macOS >= 10.11 or Windows 10) ; more compatible binaries will be released later.

  • Some features are known to be non-working and will be fixed soon :

    • Interpolation process
    • Some bugs with units and array addressing (foo:/bar@[1]).
    • Windows version currently requires JACK to be up and running.
  • Play-from-here can now be used directly during the execution, it is also controllable through the /transport parameter (in milliseconds) in the local tree.

  • Ability to play the currently edited interval (e.g. the current inteval in Full View) or the whole score, controlled by the address /global_play in the local tree and the "global play" button.

  • Nice splash-screen courtesy of @aklevy.

  • New very basic "mixer" audio panel which controls all the outputs of the audio device.

  • Major performance improvements both at edition and execution. Execution can now optionally work in multi-core mode.

  • Ability to log the input and output of processes by selecting them and looking into the messages panel - this must be enabled in the settings since it has a small cost.

  • Ability to benchmark the CPU usage of processes - this must be enabled in the settings since it has a small cost.

  • Intervals can now be muted - see the on-off button when selecting an interval with processes. This will disable all the processes in this interval.

  • MIDI files can be drag'n'dropped.

  • MIDI processes (piano roll) can be rescaled, through the right-click menu. NOTE Rescale All MIDI will rescale all the MIDI processes in the whole score.

Also meet the new score mascot, Oscar :

Apr 26, 2018
update version