Releases: kunstmusik/blue
2.9.1
2.9.0
[2.9.0] - 2023-07-26
NEW
-
macOS and Windows builds now include embedded Java JDK
-
MIDI Input Panel: Added AmpDBFS mode where amplitude is scaled to 0-1 range.
UPDATED
-
Removed JavaFX: BlueSynthBuilder and Effects reimplemented to Swing GUI
toolkit. -
Redesigned SoundObjectLibrary window: supports drag and drop reorganization,
additional popup menu options for editing and organization -
Issue #639: Added JMask to Pattern Layers
-
JavaScript objects: Replaced Rhino processor with graal.js
-
Issue #625: Implemented resizing multiple selected objects and undo
functionality -
Issue #615: Implemented Looping option for AudioClips and allow resizing from
sides beyond duration of audio clip when looping is enabled. -
Issue #665: Implemented guidelines for start/end boundary of selected objects
for easier visual alignment of objects when moving/resizing -
Issue #696: Added "Reset Line" popup menu option to BSB LineObject editors
-
Issue #697: Added Test Button to slide in right panel for previewing score
generation from object. -
PatternObject:
-
now defaults to time behavior Repeat.
-
Updated UI style
-
Fixed to save pattern when modifying number of beats. (Still clears if
number of subdivisions changes as there isn't a clear mapping.)
-
-
Issue #703: Add ability to edit font for BSBGroup panel title label
-
Issue #672: Reimplemented keyboard arrow movement of selected BSB Objects
-
Issue #502: Implemented different velocities on Virtual Keyboard keys by
hitting different parts of the key (softer towards top, louder towards bottom) -
Issue #721: Double click marker to edit marker name
2.8.1
Notes for 2.8.1 - 2020-12-29
NEW
-
Added "Open Example Project" menu option to File menu to make opening the
examples easier -
Added new Time Behavior "Repeat" implementation and renamed older algorithm as
"Repeat (Classic)" for backwards compatibility. New implementation will repeat
notes up to repeat point and truncate any notes that overlap boundary. -
"Media Folder" property added to Project Properties: used for certain
operations to copy files into the media folder which should be a child of the
project root folder (or the root if the property is left empty). -
BSB File Widget: Added "Copy to Media Folder" shortcut in popup menu that will
copy the selected file to the media folder and update the value to use the
version found in the media folder. -
Implemented Copy audio files to media folder on import option in Project
Properties which will be performed when importing audio into Audio Layers
(via drag and drop), drag and drop onto soundObject layers, or changing audio
file in AudioFile soundObject editor -
The Blue Manual is now managed as a separate github project and published
online at https://kunstmusik.github.io/blue-manual. Documentation help menu
now opens the online site. -
Issue #497: Implemented comment fields for BSB widgets that appear as tooltips
when in usage mode. Added "Show Widget Comments" menu option to View menu to
turn on and off showing of the comments in tooltips. -
PianoRoll:
-
implemented rendering of notes in object view on timeline
-
New user-defined fields for PianoRoll and and field editor for notes; fields
allow adding additional pfield values for notes that are graphically edited
(similarly to how Velocity is handled in many MIDI-based DAW PianoRolls).
User can customize how many fields and kinds of fields to use for PianoRoll. -
Introduced dark area in background to show repeat point or scaled time area
for notes -
added keyboard shortcuts for undo (ctrl-z), redo (ctrl-shift-z), toggle snap
(alt-s), and select all notes (ctrl-a)
-
-
Issue #520: Render waveform for Frozen SoundObject freeze file
-
Issue #480: Option added for Score to follow current playback time when
rendering project
UPDATED
-
Issue #396: Updated how selected score objects are rendered; rather than all
white, now uses white border, lighter derived background colors, and shows a
bar at top behind object label -
Issue #514: redid comments component for instrument editor and SSO to use
Netbeans editor component to enable code repository option -
Issue #392: made copy buffer shared between all BSB interface editors
-
PianoRoll: note templates for notes are now set to use the PianoRoll's note
template by default but permit overriding on a note-by-note basis; backwards
compatible with prior note template system but more convenient given the new
Field system. -
Restored using Rhino JS interpreter as Nashorn was removed from Java 15
-
Issue #532: Made zoom in/out buttons use a timer to repeatedly zoom when
button is down and stop zooming when mouse is up (Score Timeline, PianoRoll) -
Issue #524: Implemented checkbox editor for NoteProcessor properties that are
true/false -
PianoRoll and Tracker: Time Behavior set to Repeat by default
-
Tracker: "Steps per beat" property added to control start/duration generation;
useful in conjunction with repeat behavior -
Issue #539: UX improvement to select newly added instrument in Orchestra
Manager -
Default SoundObject duration changed to 4 beats from 2
-
Jython interpreter updated to 2.7.2
FIX
-
BSB: PresetManager dialog had bugs when dragging and dropping nodes around
-
Clojure: Dependency resolution for clojars-hosted libraries was broken due to
using older http url; fixed by updating to https://repo.clojars.org -
Audio Layers: Audio Clips were not generating use project-relative paths when
audio files were children of project root folder -
Issue #523: Comments tab for instruments did not scroll correctly
-
Issue #527: Fixed performance issue with drawing of PianoRoll canvas on Linux
due to GradientPaint -
Issue #545: Hide global tempo editor when editing PolyObject timeline
2.8.0
Notes for 2.8.0
[release 2020.06.03]
NEW
-
Score Timeline Shortcuts Added (active when timeline has focus)
UPDATED
-
Blue updated for Java 11. Built and tested against OpenJDK 11. Users must
upgrade to Java 11 for 2.8.0. -
Clojure version updated to 1.10.1.
-
Issue #449: New implementation Parameter Automation system to allow for better translation
and scaling of automation lines in both Single and Multi-line modes -
Implemented undoability for all edits in Single-line and Multi-line mode
-
Issue #495: Commit name change for layers when focus lost
-
Comment SoundObject bar renderer now respects Color value set in properties
-
Issue #402: Added configuration option under General settings for maximum
number of temp files per directory (i.e., temp CSD files); minimum of 1,
default to 3 -
Issue #399: Redid zooming on scrollwheel to zoom around mouse location
-
Issue #281: Implemented importing of tempos (t-statements) from CSDs
-
Issue #388: Automation: added alt-click to insert point at time position of
mouse but start y-value on current line. Moving is relative to the point's
initial y-value. Works in conjunction with ctrl-dragging to restrict value
change along one axis. -
Issue #507: Navigation to previous/next marker now scrolls score view to
location marker. Keyboard shortcut for [ and ] added. Will navigate to end
or beginning of score once past all markers.
FIX
-
Score: Selection marquee in single-line mode did not calculate y-position
correctly when multiple Score Layers were present -
Fixed automation panels losing their lines when window configuration changed
(e.g., opening/closing ScoreObject Properties) -
Fixed exception thrown when using AudioLayerGroups with ScoreNavigatorDialog
-
Updated ScoreNavigatorDialog to fix issues with repainting, now updates as
score changes -
Fixed issue with multiple mixer strips being added to mixer for project that
is open on first load -
Fixed issue with multiple parameter options shown in popup menu in Single-Line
mode for project that is open on first load -
Issue #427: BSB/Effects: Slider banks did not copy properties when cloned
-
Issue #444: Fixed Sound SoundObjects not sounding when auditioning
2.7.4
Notes for 2.7.4
[release 2019.07.19]
UPDATED
-
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)
FIX
-
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
- SliderBanks did not properly listen to individual slider value changes to
- 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
- Issue #383 - Fix problems due to empty string being reloaded from file as
- Horizontal and Vertical Slider Banks did not properly reconnect properties
-
Fixed install-desktop-starter.sh:
- 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
correctly -
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
values -
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
boundaries
2.7.3
Notes for 2.7.3
[release 2017.12.15]
NEW
-
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
-
UPDATED
-
CSD Import: import CSDs that do not have CsInstruments or CsScore sections
-
Issue #375 - Made Auditioning work with AudioClips on AudioLayers
FIX
-
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
quickly
-
-
UDO - After importing UDOs, table of UDOs did not get refreshed with new ones
-
Issue #376 - Fixed Automation Line switcher not showing for AudioLayers
2.7.2
Notes for 2.7.2
[release 2017.10.16]
NEW
-
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)
UPDATED
- 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.)
FIX
-
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)
INTERNAL
- Support for Csound 5 API removed
2.7.1
Notes for 2.7.1
[release 2017.09.24]
FIX
- 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
2.7.0
Notes for 2.7.0
[release 2017.09.22]
NEW
-
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
SliderBanks - 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
- GUI editor (shared by ObjectBuilder and Sound SoundObject) rewritten using
-
RhinoInstrument and RhinoObject were renamed as JavaScriptInstrument and
JavaScriptObject -
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.
- Implemented new Program-wide User SoundObject Library. Library is available
-
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
Screen -
examples/techniques/pvoc2.blue added that shows similar concept as pvoc.blue
but uses Sound soundObject and its new automation tab -
Issue #358 - SoundObjects can now be shared on BlueShare
UPDATED
-
Mixer:
-
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
FIX
-
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
correctly -
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
INTERNAL
-
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
2.6.1
Release Notes for 2.6.1
Released: 2016.08.30
NEW
-
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
folder
UPDATED
- 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
- When the selection marquee is shown, holding down ctrl when press/dragging
FIX
- 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.)