Skip to content

Setting Up Program Options

The first thing you'll want to do is set up your Program Options. Some settings are required for features of Blue to work (e.g., Render Settings), while others are there to help setup your project defaults and save you time when creating new projects.

To open up the Program Options dialog, go to the File menu and click on "Program Options".

General

Work Directory
The default directory that Blue should open when loading/saving Blue project files.
Maintain Last Window State
Enables saving of window location and size. If enabled, upon starting of program, window states will be restored.
New User Defaults Enabled

Enables default text for different objects in Blue. Curently this affects:

  • CodeRepository - when adding new Code Snippet
Draw Flat SoundObject Borders
Enables older flat drawing style of SoundObject borders on the score timeline.
Draw Alpha Background on Marquee
If this is enabled, when selecting a group of SoundObjects on the Score Timeline the marquee that is drawn to show the selection area will paint with an alpha-transparent white background. (May slow down performance when enabled.)
Show Csound Output
If this is enabled, output from rendering with Csound will be shown in the Csound Output Dialog (accessible from the Window menu or available with the F7 shortcut). If disabled, output will be shown in the std.out of the console that opens when Blue starts. (If the Blue starter script has been modified not to show the console by using javaw instead of java, then the output will not be able to be seen). It is recommended to enable this option.
Message Colors Enabled
Since Csound5, the default for printed messages is to show them with colors by using ANSI text modifiers. However, this only works within ANSI-compliant consoles, and does not work within Blue's Csound Output Dialog. It is recommended to keep this disabled if the "Show Csound Output" option is enabled.
Language
Which language to use for Blue. This affects the labels of the User Interface, messages given to the user in dialog boxes, menu titles, etc. (Translation files may not always be up to of date so some UI items may not be translated when not in English.)

Project Defaults

These settings are used whenever new projects are created as defaults for the project, unless a default.blue file is found in the user's Blue home directory, in which case the settings from the default.blue file are used.

Author
Default author to use in new projects.
Mixer Enabled
Enable using the Blue Mixer in new projects by default.

Playback

Time Pointer Animation Rate
Rate of animation for time pointer to update when playing back in realtime, expressed in frames per second. For example, the default value of 20 means the time pointer is updated 20 times per second, giving a smooth animation rate. Slower values may be desirable on slower computers if the playback pointer is affecting performance.
Latency Correction
Float value in seconds to use as a correction for audio latency in the user's sound playback mechanism. For example, if latency is quite bad on your soundcard and there is a delay of .5 seconds between when audio is passed to your soundcard and when the audio is actually realized from the DAC, the visual time pointer for Blue may appear ahead in time of what is being heard. Using a .5 value for latency correction would correct for this.

Utility

 Program Options - Utility

Csound Executable

This is the command for what version of Csound to execute when Blue uses utilities that depend on Csound (for example, freezing SoundObjects, the SoundFont Viewer utility). The default value of "csound" works if you have a version of Csound in your path named "csound". You may use any command here that would call Csound that would work as if you were running csound from a terminal.

Note

The value defined for Csound Executable should only be the command to call Csound and no other flags should be added here.

Freeze Flags
These are the flags for Csound that Blue uses when performing SoundObject freezing. Defaults are "-Ado" for Mac and "-Wdo" for all other operating systems. Users may wish to modify this value if they would their frozen soundObjects to be in a different format, i.e. 32-bit float soundfiles.

Realtime

Project Settings

Csound Executable

This is a command for what version of Csound to execute when Blue renders the project in realtime. The default value of "csound" works if you have a version of Csound in your path named "csound". You may use any command here that would call csound that would work as if you were running csound from a terminal.

Using the button marked "..." on the right will open up a file dialog so that you can find and select the Csound executable to use to run Csound.

If you are using the API, you still need to have something set here. You can set it to "csound" in that case.

Note

The value defined for Csound Executable should only be the command to call Csound and no other flags should be added here.

Render Method

Choose which render service to use for rendering the project. When the program loads, Blue will first try to see if the Csound 6 API is available and if so, show that option here. If it can not find the Csound 6 API, it will search for the Csound 5 API and show that option here instead if it is found. If neither is found, the Commandline Runner option will always be available to use.

Note: If you have both Csound 5 and Csound 6 installed, you can force Blue to ignore Csound 6 on load by adding "-J-DDISABLE_CSOUND=true" to the blue/etc/blue.conf file in the default_options section. On OSX, this will be in blue.app/Contents/Resources/blue/etc/blue.conf.

sr
Default sr to use for realtime settings in new projects.
ksmps
Default ksmps to use for realtime settings in new projects.
0dbfs
Default value to use for 0dbfs. Also, the checkbox denotes whether projects should use 0dbfs by default or not.

Devices

Audio Driver

Driver to use for audio input and output. This is equivalent to using the --rtaudio= flag setting on the commandline.

Enabling the checkbox determines if this value will be used at all when rendering, and if so, will use the value from the dropdown as the driver setting.

Audio Out

Audio output device to use. Equivalent to using -o flag setting on the commandline. This setting is dependent on the setting used on the audio driver setting. Using a value of "dac" will use the default device for the driver.

The value of this setting will be used for all projects that set "Audio Out" enabled in the project-level realtime render settings.

By selecting the [...] button to the right of this field, Blue will try to detect what devices are available for the chosen Audio Driver. If Blue is able to find the devices, a popup dialog will appear with a list of available devices. Selecting from the popup will then populate the textfield with the correct device string that Csound will use to choose the device requested.

Note

If the driver is chosen but not enabled for use via its checkbox, when auto-detecting, Blue will check for devices against the default driver and not necessarily what is in the dropdown. Please be sure that if you are planning to use the auto-detect feature with a particular driver that you also select the driver and enable it with the checkbox.

Enabling the checkbox determines if this device will be enabled by default for new projects.

Audio In

Audio input device to use. Equivalent to using -i flag setting on the commandline. This setting is dependent on the setting used on the audio driver setting. Using a value of "adc" will use the default device for the driver.

The value of this setting will be used for all projects that set "Audio In" enabled in the project-level realtime render settings.

By selecting the [...] button to the right of this field, Blue will try to detect what devices are available for the chosen Audio Driver. If Blue is able to find the devices, a popup dialog will appear with a list of available devices. Selecting from the popup will then populate the textfield with the correct device string that Csound will use to choose the device requested.

Note

If the driver is chosen but not enabled for use via its checkbox, when auto-detecting, Blue will check for devices against the default driver and not necessarily what is in the dropdown. Please be sure that if you are planning to use the auto-detect feature with a particular driver that you also select the driver and enable it with the checkbox.

Enabling the checkbox determines if this device will be enabled by default for new projects.

MIDI Driver

Driver to use for MIDI input and output. This is equivalent to using the --rtmidi= flag setting on the commandline.

Enabling the checkbox determines if this value will be used at all when rendering, and if so, will use the value from the dropdown as the driver setting.

MIDI Out

MIDI output device to use. Equivalent to using -Q flag setting on the commandline. This setting is dependent on the setting used on the MIDI driver setting.

The value of this setting will be used for all projects that set "MIDI Out" enabled in the project-level realtime render settings.

By selecting the [...] button to the right of this field, Blue will try to detect what devices are available for the chosen MIDI Driver. If Blue is able to find the devices, a popup dialog will appear with a list of available devices. Selecting from the popup will then populate the textfield with the correct device string that Csound will use to choose the device requested.

Note

If the driver is chosen but not enabled for use via its checkbox, when auto-detecting, Blue will check for devices against the default driver and not necessarily what is in the dropdown. Please be sure that if you are planning to use the auto-detect feature with a particular driver that you also select the driver and enable it with the checkbox.

Enabling the checkbox determines if this device will be enabled by default for new projects.

MIDI In

MIDI input device to use. Equivalent to using -M flag setting on the commandline. This setting is dependent on the setting used on the audio driver setting.

The value of this setting will be used for all projects that set "MIDI In" enabled in the project-level realtime render settings.

By selecting the [...] button to the right of this field, Blue will try to detect what devices are available for the chosen MIDI Driver. If Blue is able to find the devices, a popup dialog will appear with a list of available devices. Selecting from the popup will then populate the textfield with the correct device string that Csound will use to choose the device requested.

Note

If the driver is chosen but not enabled for use via its checkbox, when auto-detecting, Blue will check for devices against the default driver and not necessarily what is in the dropdown. Please be sure that if you are planning to use the auto-detect feature with a particular driver that you also select the driver and enable it with the checkbox.

Enabling the checkbox determines if this device will be enabled by default for new projects.

Buffer Settings

Software Buffer

Size of software sample buffer to use (-b). For more information, see CommandFlags section of Csound manual for settings.

Enabling the checkbox determines if this value will be used at all when rendering.

Hardware Buffer

Size of hardware sample buffer to use (-B). For more information, see CommandFlags section of Csound manual for settings.

Enabling the checkbox determines if this value will be used at all when rendering.

Message Level

Note Amplitudes
Enables note amplitude messages from Csound (-m1)
Out-of-Range Messages
Enables samples out of range messages from Csound (-m2)
Warnings
Enables warning messages from Csound (-m4)
Benchmark Information
Enables benchmark information from Csound (-m128)

Advanced Settings

Advanced Settings
Extra flags to append to the commandline that might not be covered by options in the UI. Pressing the [?] button will open the documentation for the Csound command flags.

Disk Render

Project Settings

Csound Executable

This is a command for what version of csound to execute when Blue renders the project to disk. The default value of "csound" works if you have a version of Csound in your path named "csound". You may use any command here that would call csound that would work as if you were running csound from a terminal.

Using the button marked "..." on the right will open up a file dialog so that you can find and select the csound executable to use to run Csound.

Note

The value defined for Csound Executable should only be the command to call Csound and no other flags should be added here.

Render Method

Choose which render service to use for rendering the project. When the program loads, Blue will first try to see if the Csound 6 API is available and if so, show that option here. If it can not find the Csound 6 API, it will search for the Csound 5 API and show that option here instead if it is found. If neither is found, the Commandline Runner option will always be available to use.

Note: If you have both Csound 5 and Csound 6 installed, you can force Blue to ignore Csound 6 on load by adding "-J-DDISABLE_CSOUND=true" to the blue/etc/blue.conf file in the default_options section. On OSX, this will be in blue.app/Contents/Resources/blue/etc/blue.conf.

sr
Default sr to use for disk render settings in new projects.
ksmps
Default ksmps to use for disk render settings in new projects.
nchnls
Default nchnls to use for disk render settings in new projects.
0dbfs
Default value to use for 0dbfs. Also, the checkbox denotes whether projects should use 0dbfs by default or not.

Render and Play Command

Enabled
Enable using custom play command when using "Render and Play". If not enabled, Blue's built-in audio player will be used once the project is finished rendering to disk.
Command
Command to call after finished rendering a project. The command line given should use the $outfile property where the name of the generated audio file should be passed to the program. For example, to open the rendered audio with VLC on Mac OSX, you can use this command line:
open -a VLC $outfile

In Linux the command line could be:

cvlc $outfile

or even using the minimalistic sox player (if installed):

play $outfile

File Output Settings

File Format

File format to use (i.e. WAV, AIFF, AU, etc.)

Enabling the checkbox determines if this value will be used at all when rendering.

Sample Format

Sample format to use. The default of SHORT is the same as 16-bit integer audio (the same as used for CD's). Other formats are available in the dropdown to use.

Enabling the checkbox determines if this value will be used at all when rendering.

Save Peak Information in Header

Save the peak information in the file header.

Enabling the checkbox determines if this value will be used at all when rendering.

Dither Output

Use dither on output.

Enabling the checkbox determines if this value will be used at all when rendering.

Rewrite Header while Rendering

Rewrite the file header while rendering. This makes it possible to play the audio file in the middle of a render and is useful when the rendering of the project will take a very long time. However, it does slow down overall render time.

Enabling the checkbox determines if this value will be used at all when rendering.

Message Level

Note Amplitudes
Enables note amplitude messages from Csound (-m1)
Out-of-Range Messages
Enables samples out of range messages from Csound (-m2)
Warnings
Enables warning messages from Csound (-m4)
Benchmark Information
Enables benchmark information from Csound (-m128)

Advanced Settings

Advanced Settings
Extra flags to append to the commandline that might not be covered by options in the UI. Pressing the [?] button will open the documentation for the Csound command flags.

MIDI

These settings are for blue's MIDI input, used with BlueLive. The table shows what devices are currently available, and whether they are enabled for use with BlueLive or not. You can use the "rescan" button to search for devices if you have just plugged in a device.

OSC

This allows you to set what port Blue will listen to for incoming OSC messages. Defaults to 8000. The following messages are understood by Blue:

  • /score/play

  • /score/stop

  • /score/rewind

  • /score/markerNext

  • /score/markerPrevious

  • /blueLive/onOff

  • /blueLive/recompile

  • /blueLive/allNotesOff

  • /blueLive/toggleMidiInput

Note

When you want to use the OSC protocol for sending OSC data to control an external DAW or another program capable of handling OSC data, be sure that the Server Port of Blue will not conflict with this particular port.