Skip to content
Oct 29, 2019
updated manual version number

@kunstmusik kunstmusik released this Jul 20, 2019 · 187 commits to develop since this release

Notes for 2.7.4

[release 2019.07.19]


  • Issue #398: Updated Line Editors within program to use thicker lines and
    circles for points

  • Issue #397: Using control to shift points within selection in Single-Line mode
    should only shift points for currently selected line

  • Automation: Single-line mode: Ctrl-drag to move selected points up/down was
    rewritten to add points at boundaries if necessary, also updated to only
    operate on the currently selected line

  • Issue #406: JMask: throw error when user attempts to use Constant p2 field
    with value < 0.0 (prevents infinite loop)

  • Issue #417: Use Csound ORC highlighting for "Generate CSD to Screen" and
    "Generate Realtime CSD to Screen"

  • Issue #431: implemented shortcut 1, 2, and 3 to switch between Score,
    Single Line, and Multi-Line modes on the Score timeline

  • Multiline Mode: Selection will default to only line data. Hold shift when
    releasing mouse button during selection to include ScoreObjects for movment.

  • Updated to Netbeans 11 Rich Client Platform

  • Issue #441: For automation lines, clean up dead time points (those with same
    time values as points surrounding them) for different line operations (e.g.,
    dragging points, pasting, dragging)


  • BlueSynthBuilder

    • Horizontal and Vertical Slider Banks did not properly reconnect properties
      from child sliders and slider bank when loading Blue projects from disk
      • SliderBanks did not properly listen to individual slider value changes to
        update automation parameters and channel values
    • BSBDropdown
      • Issue #383 - Fix problems due to empty string being reloaded from file as
        null (compilation, editing item)
      • Fix JavaFX thread exception thrown when item editor dialog was closed
        using [x] close button that is part of the window frame
  • Fixed

    • Generated .desktop file now uses "AudioVideo;Audio" category and script
    • Script now uses desktop-file-install program to install the .desktop file
      instead of copying blue.desktop to ~/Desktop location (which did not work
      on non-English systems)
  • Issue #386 - NullPointerException thrown from SubChannelDropdownList

  • Fix ctrl/cmd-wheel-scroll shortcut for adjust layer heights

  • Fix "All File" filter to show files that do not have extensions

  • Issue #390 - Removed optimization in mixer code generation that removed signal
    paths that were considered dead when channel had -96 dB and no automations

  • Fix resizing of marquee when zooming (single-line and multi-line score modes)

  • AudioLayers: Fixed generation of notes on Windows to use / instead of \

  • Issue #406: Fixed movement of timeline when dragging selected objects

  • Fix resizing of timeline on movement or resizing of Score Objects, whether by
    mouse or by ScoreObject Properties window

  • Issue #401: Fix setting of default/last directory/file path for open/save
    file dialogs

  • Issue #395: Fix initial showing of popup menu when number of items triggers
    scroller buttons to show

  • Issue #411: Fixed issue with having Single-Line mode selected and changing
    projects causing bad state where score mouse handling no longer functioned

  • Issue #412: Update marquee and selected ScoreObjects around newly pasted data
    in each Score Mode

  • Issue #419: Fixed URL to use HTTPS to match server changes for BlueShare

  • Issue #423: Fixed automation for Single Line mode with Audio Layers

  • Score: Fix dragging of line points in single-line mode when snap is enabled to
    prevent snapping beyond previous and next points

  • Mixer: Sends were not changing values at runtime nor generating correct signal
    multiplier amounts

  • Issue #439: When pasting a BSB instrument as a Sound SoundObject, fixed
    transfer of comments to Sound as well as inadvertent resetting of widget

  • Issue #443: Fix location of popup for UDO manager when selected item is
    scrolled off screen

  • Issue #416: Fixed incorrect insertion/sorting of Channel Strips into Mixer
    panel when new instrument was added to the Orchestra arrangement. Also fixed
    incorrect listener updates when enabling/disabling automation parameters for a
    layer or when automation source is removed (i.e., effect removed from mixer).

  • Issue #445: Fixed issue where vertical dragging of points in Single-Line mode
    was selecting/inserting the wrong points when points existed at selection

Assets 4

@kunstmusik kunstmusik released this Dec 16, 2017 · 103 commits to master since this release

Notes for 2.7.3

[release 2017.12.15]


  • BlueLive

    • added new "Live Code" tab for live coding (ctrl-e evaluates selected code)

    • added definition of BLUE_LIVE orchestra and score macros that user can check
      with #ifdef to conditionally use code when rendering with Blue Live


  • CSD Import: import CSDs that do not have CsInstruments or CsScore sections

  • Issue #375 - Made Auditioning work with AudioClips on AudioLayers


  • Auditioning Frozen SoundObjects incorrectly calculated start/end times when
    considering object for rendering, resulting in object not playing

  • BlueSynthBuilder:

    • On OSX, opening dropdown item editor was causing app freeze

    • Improved Interface loading times to prevent hanging when switching items

  • UDO - After importing UDOs, table of UDOs did not get refreshed with new ones

  • Issue #376 - Fixed Automation Line switcher not showing for AudioLayers

Assets 4

@kunstmusik kunstmusik released this Oct 16, 2017 · 323 commits to develop since this release

Notes for 2.7.2

[release 2017.10.16]


  • BlueSynthBuilder:

    • Knob - added Label, Label Font, and Label Enabled property. Label text is
      centered above knob in UI. Default is label to be shown, but older projects
      will load without label shown for backwards compatibility.

    • Ctrl-v keyboard shortcut will now paste copies of the last copied widgets
      at an offset from the originals.

  • Issue #372 - Added note to documentation about Debian/Ubuntu Linux install
    instructions for JavaFX

  • ObjectBuilder - Added JavaScript and Clojure language options; modified editor
    to use Combo Box to choose language(replaces "External" checkbox)


  • BlueSynthBuilder: Program now always rescales values when updating min/max
    properties for UI elements (e.g., Knob, Slider). (Removes need for popup
    dialog for every time user modifies min/max.)


  • Issue #368 - When double-clicking PolyObject in project SoundObject Library,
    Score editor now shows timeline of PolyObject and updates navigation bar

  • Mixer: Right-clicking on subchannels to remove made easier by allowing
    clicking on labels

  • Code Editor: fixed errors and exceptions when choosing an auto-completion for
    opcode or BSBWidget name

  • Orchestra Manager - right-click popup menu for Project did not work unless one
    instrument was added (would not allow right-clicking to paste instrument)


  • Support for Csound 5 API removed
Assets 4

@kunstmusik kunstmusik released this Sep 24, 2017 · 355 commits to develop since this release

Notes for 2.7.1

[release 2017.09.24]


  • BlueSynthBuilder - UI Editor would hang on OSX when setting Min/Max values on
    widgets due to JavaFX/Swing UI threads interactions; replaced Swing code to
    with JFX code in affected areas
Assets 4

@kunstmusik kunstmusik released this Sep 22, 2017 · 360 commits to develop since this release

Notes for 2.7.0

[release 2017.09.22]


  • BlueSynthBuilder:

    • GUI editor (shared by ObjectBuilder and Sound SoundObject) rewritten using
      JavaFX UI toolkit
    • Issue #344 - Ability to hide/show value display added to Knob, Sliders, and
    • Issue #312 - Added Group widget that allows grouping of widgets into a
      panel that has a titled border around it for better organization of UI
    • Issue #360 - Visual resizing of widgets implemented with UI Editor using
      resize handles
  • RhinoInstrument and RhinoObject were renamed as JavaScriptInstrument and

  • JavaScriptObject now supports "Process on Load" option

  • Issue #348 - Implemented Automation tab for Sound soundObject (allows
    automating any widget within SoundObject interface; automation is edited
    within Sound's editor window and scales to the duration of the Sound); also
    added Comments fields for Sound and ObjectBuilder objects

  • Issue #342 - Program-wide User SoundObject Library

    • Implemented new Program-wide User SoundObject Library. Library is available
      as part of the SoundObjectLibrary window. User can use popup menu to copy
      and paste SoundObjects into folders and add/remove folders.
  • Issue #343 - User-defined Opcodes:

    • Export: User can now select single UDO from project UDO list and choose
      export to either Blue UDO file (an XML representation of the UDO with
      .blueUDO extension) or Csound UDO file (standard Csound UDO code in a file
      with .udo extension)

    • Import: Removed older network-based Import system and added file-based UDO
      import from either Blue UDO (.blueUDO) files or Csound files (.udo, .csd,
      .orc). For Csound files, Blue will import all found UDOs within the file.

  • Issue #354 - Added "Refresh Folder" popup menu option to refresh Blue File
    Manager folder node

  • Issue #355 - Added default layer heights to Program Options->Project Defaults;
    added default layer height as property for AudioLayerGroups

  • Issue #357 - Added maintenance of dialog size/location when Generating CSD to

  • examples/techniques/ added that shows similar concept as
    but uses Sound soundObject and its new automation tab

  • Issue #358 - SoundObjects can now be shared on BlueShare


  • Mixer:

    • Issue #256 - Pushing up or down effects should keep the same effect selected

    • Issue #257 - Select effect when right-clicking pre or post effects so that
      popup menu reflects operation on where clicked

  • Renamed RhinoObject and RhinoInstrument to JavaScriptObject and
    JavaScriptInstrument to better reflect their purpose

  • JavaScriptObject: for errors/exceptions, now shows error in dialog when
    rendering project

  • BSB widgets and Automation parameters that used resolution argument (i.e.,
    sliders) now use BigDecimal for more precise value generation and faster
    calculation when automated

  • Issue #349 - Revisited score text parsing to speed up; affects parsing of
    things like GenericScore text, output from Externals (e.g., CMask scripts,
    AthenaCL code)

  • Issue #350 - Added value display enabled property to BSBXYController


  • BlueSynthBuilder/ObjectBuilder/Effects - Fixed code completion for BSBWidgets

  • Mixer - using "Edit Effect" to edit the definition of an effect within the
    mixer would cause an exception after closing the editor

  • Reworked visual rendering and setting of BSB widget values when resolution
    property used

  • BlueLive - fixed problem where BlueLive would send n copies of each note where
    n = number of times BlueLive was started/stopped (problem due to not clearing
    bindings between runs)

  • JMask - Probability: Beta editor was not showing when Beta generator selected

  • Issue #352 - MIDI import was not updated correctly newer ScoreLayer system,
    also, velocity was not processed correctly yielding only zeros

  • Issue #337 - Fixed Mixer generation when no instruments found in Orchestra;
    condition appears when using only Sound SoundObjects in project

  • Unfreezing Frozen SoundObjects caused stack overflow due to typo in code,
    resulting in effect of disappearing SoundObject

  • "Custom" popup menu option that shows code repository options did not function

  • Fixed Code Repository Dialog to ensure it is in sync with repository changes.
    Also fixed drag/drop when editing repository within dialog.

  • Issue #345 - Parsing output from nGen revealed issue with parsing score
    statements that were not i- or comments (notes would repeat)

  • Automation menu for selecting which parameter to automated did not always size
    width correctly


  • Replaced use of Cloneable and Serializable with copy constructors and new
    DeepCopyable interface for all project data models

  • Replaced all uses of float with double

Assets 4

@kunstmusik kunstmusik released this Aug 30, 2016 · 419 commits to master since this release

Release Notes for 2.6.1

Released: 2016.08.30


  • Issue #292: added open file handling for Windows and Linux. (Was unable to get
    it working with OSX unfortunately.) On Windows and Linux, users can
    right-click on a .blue document and configure Blue to open the file. Once the
    association is made, users can double-click .blue files to open them in Blue.

  • Issue #55: Resize Soundobjects from left-side to adjust start and duration.
    (This was implemented in 2.6.0 as part of Score internal redesign work but the
    issue was not seen until after release.)

  • ProjectPlugins - new plugin system for Project-level editors that can save
    data with Blue project and can participate in the project lifecycle.

  • Clojure Project Plugin - project-level plugin that adds a new Clojure tab to
    the Project Properties editor and allows setting Clojure library dependencies.
    Uses Chas Emerick's Pomegranate plugin to download direct and transitive
    dependencies from Clojars or Maven Central. Useful for using libraries within
    Blue projects. Libraries are set using coordinates and version strings, much
    as one would with Leiningen-based projects. For example, one may use:

    kunstmusik/score 0.3.0

    to use my Score library for generating and processing note lists.

  • Issue #148 - Clojure REPL - new Clojure REPL window tied into the synthesized
    namespace created for each project. User can test and diagnose code that has
    been entered into the namespace (e.g., if a function is defined in a
    ClojureObject, one can test it from the REPL)

  • Issue #309: Added 'alsaseq' driver to list of options in Blue's Realtime
    Render Settings and added input/output discovery code.

  • Added Steven Yi's "Transit" to the examples/pieces/stevenYi folder

  • Issue #331 - Added Cut and Copy actions to popup for PianoRoll when
    right-clicking selected notes; added Paste menu when right-clicking on
    canvas and notes exist in the copy buffer

  • Issue #272 - Added a confirmation dialog when deleting UserInstrumentLibrary


  • Updated included Clojure version to 1.8.0
  • Issue #149 - implemented cut/copy/paste for PianoRoll for multiple notes, as
    well as shared copy buffer to allow pasting copy/pasting between PianoRolls
  • Issue #322 - pressing ctrl when moving mouse points will limit point
    modification only to the initial direction for line edit panels (i.e,
    automations, tempo, etc.).
  • Automation Parameters - Single-Line Mode Editing Updates
    • When the selection marquee is shown, holding down ctrl when press/dragging
      will allow modifying just the horizontal locations of the points
    • When marquee is selected, left-clicking outside the marquee will disable the
      marquee as before, but will not also add an additional point
    • fixed issue when right-clicking a point to delete it that the popup menu
      would also appear


  • Adding new AudioLayerGroups did not properly handle change listening,
    resulting in NullPointerExceptions when trying to automate parameters on new
    AudioLayers added to a project. (This problem only occurred when the
    AudioLayerGroup and AudioLayer was first added and did not present when
    loading an existing project or switching to another project and back again.)
  • Issue #332 - "All" file filter did not properly allow all files
  • Issue #324 - (Potentially) fixed intermittent look and feel issue where
    sometimes tabs were not styled correctly
  • Issue #248 - partial fix to respect Automations when auditioning SoundObjects.
    Auditioning is guaranteed only to work correctly with top-level SoundObjects.
    (Issue #333 filed to continue looking into this once Blue 3.0 internal changes
    are in place.)
Assets 4

@kunstmusik kunstmusik released this Jul 30, 2016 · 468 commits to master since this release

Release Notes for 2.6.0

Released: 2016.07.29


  • AudioLayers: Initial release. New LayerGroup type for working with AudioFiles
    strictly by GUI. Each Audio Layer is bound to a mixer channel. Use is modeled
    after common DAW idioms for working with audio clips.
  • Added link to Csound FLOSS Manual from Help Menu
  • Added seed value and useSeed to RandomAddProcessor and RandomMultiplyProcessor
    [issue #302]
  • Issue #313 - added Test button to PianoRoll
  • Issue #279 - added "Render to Disk and Open" action; will use command
    configured in program options for disk render to open the rendered file after
    rendering (e.g., render and open with Audacity)
  • BlueSynthBuilder: added new BSBValue object that has a default value and may
    be automated; the widget only appears during edit mode and is hidden during
    performance mode


  • Sound - modified to use BlueSynthBuilder object as backing instrument. Extends
    single-use instrument idea of previous Sound object to work with an interface
    modifiable in realtime, similar to Kyma-style objects.
  • Added "Paste BSB as Sound" action to score timeline popup menu to paste a BSB
    Object from the copy buffer into the Score as a Sound soundObject
  • BlueSynthBuilder - Replaced Knob with new style implemented with JavaFX
  • Moved to using Java 8. NOTE: Java 8 JDK or JRE is now required for running
  • restored loading of all URLs to external browser now that Netbeans 7.4 IDE
    cluster removed dependency on debugger module
  • Made using trackpad or scroll wheel on layer panels (left-hand side) scroll
    both the layer panels and the main content areas (implemented in main Score
    editor, PatternsObject editor)
  • Modified URL that is opened for "Report a Bug" and "Request a Feature" links
    from the Help menu to go to the issue tracker at GitHub
  • Mixer:
    • Reworked layout of channel panels to be more compact
    • Double-click to edit ChannelList names as well as Channel names (for those
      channels and lists that support it)
    • Updated mixer generation code to use "+=" and "*=" for easier to read
      output and better performance when running Csound multicore
  • Changed "Tools->.csoundrc Editor" to "Tools->.csound6rc Editor", to edit
    .csound6rc instead of older .csoundrc
  • Added /usr/local/lib and /usr/lib to java.library.path for Linux [issue #304]
  • Issue #287 - added name of effect in generated CSD as part of generated UDO
    for effect
  • Added MenuScroller for Automation menus (MenuScroller by Daryll Burke:


  • Redid font/theme handling so that --fontsize flag is respected (can be given
    at commandline or put into blue/etc/blue.conf)
  • Fixed issue where after adding a new layer to a LayerGroup, if multiple empty
    layers existed, the new layer would not function properly to show score object
  • Prevent resizing of Score Objects from left-hand side to have 0 duration when
    snap is enabled
  • Issue #250 - setting minimum and maximum for BSB Knobs did not update the knob
    view location when using truncate option
  • Audited score timeline actions for undoability
  • Issue #258 - fixed "Follow the Leader" ScoreObject action
  • Issue #280 - Print out command line used to Output window when rendering to
  • Rendering to disk with commandline runner would freeze up until process
    completed when render job canceled, instead of stopping render job
  • Issue #249 - Fixed editing of last automation and tempo point in popup "Edit
    Points" dialog
  • Issue #259 - Fixed forwarding of key events from Effects dialogs to main
    window, so users can now us shortcuts for rendering and other menu shortcuts
    while editing effects
  • Issue #270 - User Instrument Library and Arrangement Panel should share the
    same copy buffer for copying/pasting instruments between the two panels
  • Issue #285 - Generating Realtime CSD to Screen did not correctly set if API
    version of CSD should be generated or not
  • Issue #273 - Dragging instrument from library to project should copy, not move
  • Issue #306 - Fixed BSB interface not updating after setting values from preset
  • Automations - adjusted menu to show "More..." sub-menus when there are more
    automations available than can fit on the screen
  • When generating instruments that use <INSTR_ID> or <INSTR_NAME>, fixed that
    generated always-on instruments use the ID/name of the original instrument
    rather than the generated one
  • Redid BlueLive trigger mechanism to use sample-accurate, synchronous
    processing of time for repeats to remove jitter
  • Windows: Fixed trackpad scrolling
  • Fixed BSB parameter var name generation when project has >= 1000 params
  • Issue #267 - reset BSB Object property sheet when setting automation enabled
    is cancelled
  • Issue #255 - fixed Automatable BSB objects that did not update parameters
    correctly when objectName was changed
  • Issue #251 - fixed issue where copy/pasted BSBFileSelector would not update
    correctly within Csound even though UI was updating


  • Changed Blue plugin registration to use Annotations (@SoundObjectPlugin,
    @InstrumentPlugin, @NoteProcessorPlugin)
  • Refactored all ScoreTimeline actions into separate Action classes; shortcut
    registration now done declaratively
Assets 4
May 13, 2014
Apr 21, 2014
You can’t perform that action at this time.