blue 0.114.0

Hi All,

I’ve put up a new release of blue available at:

http://www.csounds.com/stevenyi/blue

The big feature for this release is the implementation of Sends in the
Mixer.  They can be placed anywhere in the pre and post-fader effects
bins, as well as can be automated on the timeline.  A new subchannel
dropdown list object has also been added to BSB to do sends within the
instrument, useful if setting send amounts via score parameters rather
than by setting it up in the mixer.

The mixer code generation has also been rewritten for the Sends
feature and is a bit better optimized.  A few other fixes and changes
are in as well, listed in the changeLog below.

Much thanks to Pia Kraft once again for help in testing the Sends feature!

Thanks and enjoy!
steven

[CHANGE LOG]

Notes for 0.114.0<
[released 2007.xx.xx]

Steven Yi———————————————————————–

blue

   [new] – Mixer now allows adding Sends anywhere in pre and post fader effects
           bins.  Sends must follow current mixer contract of no feedback so
           can only send forward down the chain. (Dropdown to select outchannel
           for mixer and send is auto-updated to prevent feedback). Send amount
           is automatable on main timeline.

        [new] – BlueSynthBuilder – Added SubChannel dropdown widget that will allow
                selecting a named subchannel to use as a replacement value in the
                BSB ORC code.  This is meant to be used with the subchannel form of
                blueMixerOut, i.e. if the dropdown has an object name of REVERB, the
                ORC code to use would be:

                blueMixerOut “<REVERB>”, aleft * <REVERB_AMOUNT>, aright *
<REVERB_AMOUNT>

                This allows an alternate way to do sends from the instrument rather
                than from the Mixer itself, and is useful if setting the send value
                by score parameter instead of setting within the mixer.

                It is recommended when using the subChannel form of blueMixerOut
                within instruments to use this widget instead of hardcoding the
                subchannel name as this will be portable across projects

   [new] – Added “Show Info Tabs Dialog” to Script Menu to make visible the
           info tabs dialog that scripts use in case it is closed

   [new] – Added <INSTR_NAME> blue variable that is the same as INSTR_ID but
           for named instruments does not generate quotes around value

   [new] – Script Library now supports drag and drop to manage scripts and
           script categories

   [updated] – Mixer generation code strategy reworked to better handle sends.
           Further mixer generation optimizations to not generate signal
           paths that won’t be used. (i.e. if fader is set to 0 and not
           automated, remove rest of signal after fader from graph);
           documentation for mixer updated to describe optimization strategy

   [updated] – Presets – Presets for BSB/ObjectBuilder now save their held
           values in alphabetic order of value name; this was done so that
           when using with Source Control Management (i.e. Mercurial, SVN,
           etc.) there wouldn’t be false positives on detecting changes
           (previously the values were coming out in whatever order the keys
           were mapped by HashMap which might change between loads of the
           project or library)

   [updated] – when importing instruments from blueShare, they will now go into
           an “Imported Instruments” folder instead of adding to the root of
           the user instrument library (matches behavior of what happens when
           importing effects)

   [fix] – BSB/ObjectBuilder XY object’s view label showing x and y values was
           incorrectly displaying value (value held by object and generated by
           object was correct for ranges however)

   [fix] – Disallow subChannel to be named “Master” as it is reserved for
           master channel out

   [fix] – blueShare dialog would report a warning message to console when
           opened each time after the first time as dialog was recreated each
           time; now cached

internal

   -BSBObjectRegistry split into BSBObjectRegistry, EffectsObjectRegistry, and
   ObjectBuilderRegistry as new components are planned which will apply to some
   contexts by not others

documentation

   -updated Mixer documentation for Sends as well as details on the rules used
   for optimizing Csound mixer code generation

MIDI to Csound 1.1.1 available

MIDI to Csound PPC, version 1.1.1 has been released on my website:

http://www.anthonykozar.net/ports/midi2csound.html

MIDI to Csound is a MacOS program that converts Standard MIDI files into
Csound scores.  It was written by Bill Gardner while a member of the Music
and Cognition Group at the MIT Media Lab.  The MIDI file parser was written
by Tim Thompson.

MIDI to Csound PPC, version 1.1.1 runs on Macintosh computers using System 7
through MacOS 9. It will also run on MacOS X in the Classic environment.
This version fixes a small problem in the previous release (1.1) that caused
the text labels in the settings dialog to not be displayed.

I hope to produce a version of MIDI to Csound in the near future that will
run natively on MacOS X (as a “Carbonized” application).

Anthony Kozar
anthonykozar AT sbcglobal DOT net
http://anthonykozar.net/

blue 0.113.0

Hi All,

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!