I’ve published a new version of blue, available at:
http://www.csounds.com/stevenyi/blue
First I’d like to thank Pia Kraft and Jim Credland for their feedback
and suggestions! A lot of their ideas helped shape this release.
This release has a large number of changes, many of which are
usability enhancements. The biggest features added to this release
are Program Scripts and embedded UDO’s.
Program Scripts allow writing python scripts to interact with the
current blue project and to automate tasks. In my own work, I am
using program scripts to read all SoundObjects in my project and
rename them to reflect the contents of the SoundObjects. I am also
using an analysis script that reads all the SoundObjects, analyze the
pitch sets of chors and intervals between voices of chords, and to
generate reports to view and help to understand the material. As one
has access to the entire bleu object model, one has a lot of leeway as
to what can be automated.
UDO’s can now be embedded within Instruments and Effects so that
everything (minus file dependencies) that an instrument or effect
depends on can really be encapsulated together. The UDO generation
scheme in blue will also check for equivalent UDO’s and ignore
generating copies of UDO’s if equivalent ones are found. If an
equivalent one is found but has a different name, references to the
one being generated will be replaced with the name of the already
existent UDO in the list. I.e. if you have a UDO named adsr in one
instrument and another named myadsr in another and they both have the
same inTypes, outTypes, and code bodies, the myadsr will not be
generated and everywhere in the instrument code that refers to myadsr
will be replaced with adsr when the project is compiled to CSD. If
two UDO’s are generated that are not equivalent but the same name, the
second one will have a unique name assigned to it and references also
updated when generated to CSD. This ensures efficient runtime as well
as security in knowing that UDO names won’t clash.
One of the big motivations for embedding the UDO’s was for blueShare
and sharing instruments and effects that depend on UDO’s. This is now
no longer a problem.
I have also created a new blueShare with a new URL:
http://blue.kunstmusik.com
which now has RSS feeds so that one can know when new instruments and
UDO’s are uploaded. (Thanks to Pia Kraft for uploading some really
neat effects and instruments!).
I will be continuing to build up blueShare (will be adding program
script sharing shortly) and encourage blue users to check out what’s
available as well to join in and share their inventions with the rest
of the community. I have every hope that over time a large library of
effects and instruments will be created by the community and made
available to everyone to use and enjoy.
Other enhancements like the reworking of drag and drop and other
features and bug fixes are listed below.
Thanks and enjoy!
steven
[CHANGE LOG]
Notes for 0.113.0<
[released 2007.02.17]
Steven Yi———————————————————————–
blue
[new] – Scripts – User editable python scripts allowing for automating tasks
within blue; familiarity with blue’s object model recommended;
ScriptingUtils.py added for aiding in writing scripts; see
documentation for more information
[new] – Instruments and Effects now have the ability to embed User-Defined
Opcodes; user can safely reuse opcodes with same names and blue will
check for duplicates and reuse when generating CSD’s, as well as
detect name clashes between UDO’s and also replace names in code
[new] – Import from File/Export to File added to:
-Score Timeline for SoundObjects
-UserInstrumentLibrary and Orchestra for Instruments
-ScriptLibraryDialog for Scripts
-Mixer for Effects
-EffectsLibrary for Effects
[new] – New BlueShare Server! Location available at:
http://blue.kunstmusik.com
RSS feeds are now available to track newly submitted Effects and
Instruments
Configuration file for blueShare servers now set to use new
blueShare site’s xmlrpc (http://blue.kunstmusik.com/blue_share/api)
[new] – Edit Enabled state now maintained for BlueSynthBuilder and
ObjectBuilder for code areas
[new] – SoundObject names may now be multiline by using n in name (care
should be used when using this that SoundLayeer height be tall
enough to show full name of SoundObject)
[new] – Added ProgramOption to disable Csound Error Warning messages when
Csound returns an error code at end of run; also able to turn off
from the dialog that pops up itself, and can reenable from
ProgramOptions
[new] – ScoreTimeLine Shortcuts
-Ctrl-D – Duplicate Selected SoundObjects and place copy directly
after original
-Ctrl-R – Repeat Selected SoundObjects for n number of times after
original (user inputs number of times to repeat)
-Ctrl-Drag – If control is down when drag is initiated, copies of
originals will be added in place and drag will move
originals
[new] – BSB/ObjectBuilder/Effects
-Value display for Knobs, VSliders, HSliders now have tooltip text
that popup when mouse is over the value display; shows full value
of item in case it is cut off in the normal display
-FileSelector widget will now open file chooser to location of the
currently set file value
[new] – When generating Effects as UDO’s, now does check to see if
equivalent UDO already exists and if so to reuse that
[new] – Added <RENDER_START> blue variable, usable in Global SCO area (also
in Global SCO area of instruments), replaced with render start time
that blue uses (does not currently account for timewarped score)
[new/updated] – Drag and Drop
-added Drag and Drop to EffectsLibrary tree for moving effects and
folders into other folders
-Removed “>” Add from library on Orchestra and UDO panel, now drag
and drop from library to panels
-Now able to reorder items in libraries by dragging and moving
-For dragging UDO from library to instrument UDO edit panel, start
drag in UDO library, mouse over tabs to switch, then drop on UDO
edit panel for instrument
[new/updated] – UDOLibrary and All UDO EditPanels share same buffer for
copy/paste operations; if UDO is copied on one edit panel, it will
be pastable into any other or in the library; if a UDO Category is
cut/copied from the library, it is only pastable in the Library
[updated] – When SoundLayer has no automations, now does not show automation
selector in layer edit panel (on left of timeline)
[updated] – InfoDialog made editable when showing messages to allow for
cutting/copying of text
[updated] – when generating UDO’s from Instruments and Effects, if an
equivalent opcode is found (same inTypes, outTypes, and codeBody),
the existing UDO will be reused and references to the new udo will
be text swapped with the name of the existing UDO at
compilation time;
if an equivalent UDO does not exist but the new UDO’s name
is already
in use, a unique name will be assigned and references to the new
UDO’s original name will be text swapped with the unique name at
compilation time
[FIX] – Dialog windows now allow for keyboard events to pass through to
parent window (i.e. when using the soundObjectPropertyDialog, all
menubar shortcuts in the main window will work so you can open the
other dialogs using their shortcuts, press ctrl-s to save your
document, etc.)
[fix] – UDO’s were not draggable in library and so could not be rearranged
in folders
[fix] – UDO’s were not cloned when dragging from project to library, causing
problems when dragging the same UDO multiple times to the library
[fix] – BSB Dropown Widget was not checking selected index was within
boundaries when updating contents of dropdoglobawn
[fix] – DropDown editor for BSBDropdown widget now commits current edit when
dialog closes
[fix] – BSB File Selector would have null pointer errors after loading if
object was saved with no selected files
documentation
-added section on “Program Scripts”
-added note to section on Audition SoundObjects regarding ctrl-shift-a
shortcut
internal
-MotionBuffer and SoundObjectBuffer made into Singleton classes
-upgraded Javascript Interpreter (Rhino) to 1.6r5
-upgraded Python Interpreter (Jython) to 2.2b1
-added showInformationDialogTabs to InfoDialog utility class
thanks!
-Jim Credland and Pia Kraft for their suggestions and feedback!