Radium Changelog

What's new in Radium 6.5.85

Dec 7, 2020
  • GUI: Improve Qt recursion detection. Hopefully there won't be false positives on macos now.

New in Radium 6.5.84 (Dec 7, 2020)

  • GUI: Don't crash when pressing the "S" button in the mixer and the sequencer is in full mode.
  • GUI: General fix to prevent program from crashing if going into an endless recursive loop.
  • Sequencer: Remember current seqtrack when undoing and redoing.
  • Sequencer: Remove flickering when undoing and redoing.
  • Build: Fix compiling Pd using gcc/clang 10+ (Teteros).
  • Mixer strips: Fix width of the arrow separating non-bus and bus strips.

New in Radium 6.5.83 (Dec 7, 2020)

  • Mixer strips: Set max width of a strip.
  • Mixer strips: Pack strips to the left if the strips can't fill all available horizontal space. Instead of spreading them out evenly, that is.
  • Sequencer: Keep track on/off and fade data when replacing block or audiofile in seqblock.
  • Sampler instrument: Fix playing reverse sample in non-looping mode.
  • Plugins: Fixes displaying correct number of channels for VST2 plugins in the plugin manager.

New in Radium 6.5.82 (Dec 3, 2020)

  • Audio: Fix more than half of VST2 plugins being loaded as mono plugins, even when they are not. (The fix uses code written by falkTX.)
  • Sequencer: Fix memory leak in automation painter.
  • Sampler instrument: Display sustain value as dB.

New in Radium 6.5.81 (Dec 1, 2020)

  • Mixer: Change function used when assigning keybinding to "Generate new color" in the popup menu. Before: generateNewInstrumentColor. Now: generateNewColorForAllSelectedInstruments.
  • Editor: Don't pause player when scrolling up or down when current editor-block is not playing.
  • Editor: Never let player change editor-block when a block is editor-locked.
  • Editor: Tweak keybindings for general transposing. Now they only work when the editor has keyboard focus.
  • Sequencer: Fix horizontal alignment for the name of seqtracks when the names are too large for the assigned space.
  • Sampler instrument: Make sample-seek work with looping.
  • Sampler instrument: Fix crossfade when the start of the loop is higher than 0.
  • Sampler instrument: Add "AHDSR on/off" effect.
  • Sampler instrument: Reorganize effect order a little bit.
  • Sampler instrument: Fix ping-pong loop looping between loop start/end and not between the start/end of the sample.
  • Sampler instrument: Make it possible to define custom start/end loop points.
  • API: keepOldLoopWhenLoadingNewSample, setKeepOldLoopWhenLoadingNewSample, useSameLoopFramesWhenLoadingNewSample, setUseSameLoopFramesWhenLoadingNewSample.

New in Radium 6.5.79 (Nov 24, 2020)

  • GUI: Fix crash when pressing the "Full" button in the instrument widget while the sequencer is inside the mixer.
  • Instruments widget: Adjust width of the filter are and the output area.

New in Radium 6.5.73 (Nov 8, 2020)

  • Mixer: Don't crash if changing A/B while creating a connection.
  • API:
  • Fix documentation for getInstrumentEffect and getNativeInstrumentEffect.
  • New: getStoredNativeInstrumentEffect.

New in Radium 6.5.72 (Nov 3, 2020)

  • Windows: Fix borderless mixer window. Bug introduced in 6.4.76.
  • Mixer: Fix remembering window position.
  • Sampler instrument: Add entries to edit keybindings to the popup menu of the "R" button.
  • Audio: Add entries to the instrument effect popup menu for adding keybinding to change effect
  • GUI: Increase performance a little bit for effect sliders and other things.
  • Instrument widget: Fix immediately updating graphics of solo and mute buttons when changing solo.
  • Mixer: Add "Insert plugin" and "Connetion enabled" entries to the connection popup menu.
  • Instruments: Remove the "T" (through) button for MIDI instruments (served no purpose).
  • Audio: Cache ladspa plugin info so that they don't have to be loaded during program startup. Only info for included ladspa plugins are cached for now. This fixes very long startup time on windows when realtime virus scanning is enabled, but even startup times on Linux (and probably MacOS) is notably shorter.
  • Audio: Generally improve CPU usage by being more aggresive about not doing mixing when the output of a sound object is silent.
  • Audio: Increase audio level allowed to autosuspend a sound object. May lower CPU usage in some situations.
  • Windows: Remove some unnecessary info from crashreporter message.
  • Mixer: Add "include system volume" option to a/b. API:
  • Audio: Increase number of frames to fade out/in from 1024 to 2048 when changing mute on/off and various other things.
  • Audio: Don't recalculate latencies on the fly when a sound object is muted, auto-suspended, volume set to 0, and possibly other situations. Although constantly running mimumum latencies uses less CPU, doing this can also cause audible artifacts. E.g. if a plugin reports a latency of 2048 frames, we always compensate for a latency of 2048 frames in parallel running sound objects in the audio graph, even when the plugin makes no sound.
  • Modulators/preset: Fix modulator connections when loading .mrec files.
  • Mixer: Fix undo when creating new sound object from preset file by using keybinding.
  • Mixer: Fix assertion window popping up when creating new sound object from preset file by using keybinding.
  • Mixer: Make it configurable which A/B settings to apply. Click the button with a settings icon to configure. The options are:audio connections, event connections, volume, panning, mute/solo/bypass, system effects, instrument effects, instrument states, mixer strips configuration, remember current instrument, modulator connections, system volume.
  • Only audio connections, event connections, volume, panning, "mute solo bypass", and "remember current instrument" are enabled by default in new songs.
  • Sequencer: Fix wrong editor seqblock positions after undoing changing block tempos.
  • Mixer: Update connection line gfx immediately after changing solo for an instrument.
  • GUI: Fix Return and Enter keys working in tables. Bug introduced in last release .
  • Plugins: When loading song, don't try to set illegal program number if program number on disk is a negative number or higher than the number of programs provded the plugin. Fixes crash in at least one AU plugin.
  • Audio: Don't send events though (i.e. when "T" is enabled), when an instrument is implicitly muted and "Implicitly mute MIDI the same way as audio" is enabled.
  • Audio: Fix updating implicit mute/solo when removing a connection.
  • MIDI: Add the option "Implicitly mute MIDI the same way as audio" to song properties. I.e. when soloing, we also mute MIDI in implicitly muted instruments. This option is enabled by default for new songs, and disabled by default for old songs (to make sure they continue to sound the same).
  • Audio: Make transition from one A/B setting to another much smoother. Now solo, connections, and instrument effects are all changed at the same time.
  • Audio: Fix latency compensation being wrong in some (very) rare cases when recording from system input. Happened sometimes when there were event connections in the audio graph.
  • Preferences: Make it clearer what latencies are used in the "Latency compensation when recording from system input" option.
  • MIDI: Compensate for latency when playing notes. By default it only compensates for "System out" input-latency.
  • Preferences: Changed tab order a little bit.
  • Preferences: Moved various things from the "Audio" tab to the "Instruments" tab.
  • Instrument widget: Support right-clicking the A/B-buttons and the GUI button.
  • Sequencer: Less experimental default granulation parameters.
  • Mixer: Remember current instrument in a/b.
  • Instrument widget: Support right-clicking the "Replace" and "Load" buttons to configure keybindings.
  • FaustDev: Fix missing info from the info window.
  • Instrument widgets: Don't display multi-presets when asked to load/replace preset.
  • Disk: Don't put program into an endless message loop when loading an erroneous .rad/.rec/etc. file.
  • Instrument widget: Add "prev preset" and "next preset" buttons to quickly switch to previous or next preset in the directory where the instrument was loaded from (if loaded from preset file). If instrument was not loaded from a preset file, select prev/next preset from default or last used directory instead.
  • Instruments: Save preset filename to disk if instrument was loaded from a preset file.
  • Audio: Name VST/AU programs and not presets. "Program" is the common name, plus that "preset" can be confused with radium presets.
  • Instruments widget: Remove the program number- widget. Incorporate the number into the program name-button instead.
  • Instruments widget: Add "prev program" and "next program" buttons. Assign keybindings by right-clicking the buttons.
  • Instruments widget: Immediately update autosuspend button graphics when changing autosuspending type.
  • Audio: Change instruments to not send out events (i.e notes, MIDI messages, etc.) when they are muted. Same with bypass. Old songs behave as before, but this can be changed in the Song Properties.
  • GUI: Draw an SVG image for the various "reset ab"- buttons. Before this, a question mark was drawn instead of the curly arrow utf-8 character when running on windows.
  • Editor: Add option to select current block in the popup menu for the padlock-checkbox in the lower left corner.
  • Sequencer: Remove graphical garbage from the row of pixels placed between the seqtrack headers and the area to the right of the headers.
  • Editor: Fix various error messages popping up when switching current block while moving a pianonote.
  • API:
  • New: getNumInstrumentPrograms, getCurrInstrumentProgram, setCurrInstrumentProgram, setInstrumentProgramName, getInstrumentProgramName, getDirPath, getPathWithoutDir, getInstrumentPresetPath, getInstrumentPreset, selectInstrumentConfigNum, resetInstrumentConfigNum, getCurrInstrumentConfigNum, instrumentConfigNumIsUsed, getMidiInstrumentLatencyType, setMidiInstrumentLatencyType, getCustomMidiInstrumentLatency, setCustomMidiInstrumentLatency, includeAudioConnectionsInMixerConfig, setIncludeAudioConnectionsInMixerConfig, includeEventConnectionsInMixerConfig, setIncludeEventConnectionsInMixerConfig, includeVolumeInMixerConfig, setIncludeVolumeInMixerConfig, includePanningInMixerConfig, setIncludePanningInMixerConfig, includeMuteSoloBypassInMixerConfig, setIncludeMuteSoloBypassInMixerConfig, includeSystemEffectsInMixerConfig, setIncludeSystemEffectsInMixerConfig, includeInstrumentEffectsInMixerConfig, setIncludeInstrumentEffectsInMixerConfig, includeInstrumentStatesInMixerConfig, setIncludeInstrumentStatesInMixerConfig, includeMixerStripsConfigurationInMixerConfig, setIncludeMixerStripsConfigurationInMixerConfig, includeRememberCurrentInstrumentInMixerConfig, setIncludeRememberCurrentInstrumentInMixerConfig, includeModulatorConnectionsInMixerConfig, setIncludeModulatorConnectionsInMixerConfig, includeSystemVolumeInMixerConfig, setIncludeSystemVolumeInMixerConfig, instrumentEffectExists, getInstrumentEffectType.
  • Deleted: setInstrumentIsImplicitlyMuted, setInstrumentIsImplicitlySoloed

New in Radium 6.4.77 (Sep 29, 2020)

  • Autobackup: Don't create autobackup for demo songs.
  • Instruments: Fix rare crash (only seen on osx) when deleting a Sampler instrument that has a GUI open.
  • Internal: Various general checks and assertions to avoid crashes when deleting audio instrument.
  • MIDI: Fix import MIDI file. Note that some MIDI files are still not loaded when using Windows. This will hopefully be fixed in the next release.

New in Radium 6.4.76 (Sep 27, 2020)

  • MacOS: More fixes for the sequencer graphics not always being updated after resizing.
  • Windows: Fix incorrect error message sometimes popping up about wrong number of bytes written to disk.
  • Keybindings: Add GUI to edit keybindings. Select "Edit keybindings" in the Help menu to open.
  • Mac/Editor: Fix mouse pointer sometimes behaving weirdly if moving outside the edges while editing. (Just turned off window edge-handling for mac.)
  • FaustDev: Improve line number margin width in the text editor.
  • Demo songs: Clean up mixer object positions in the Romance song.
  • FaustDev: Use fixed-width (mono-sized) font in the code editor.
  • Audio: Fix inaccurate latency values when the sampler player or seqtrack plugin has audio inputs. Since audio is not normally sent through these two instruments (the input connectors are mainly used for recording audio only), we don't usually want input latency added to the output latency.
  • Sequencer: Show time under mouse cursor in statusbar when mouse is in the time area and nothing else is currently shown in the statusbar.
  • Mixer: Add popup menu for connections.
  • Mixer strips: Fix the "Delete plugin ..." option in the popup menu.
  • Instruments: Add preferences-option to enable Sample Seek / MIDI Chase by default when creating a new instrument.
  • Manual: Update documentation about sample seek and MIDI chase. (Tooltip for the "S" button updated as well.)
  • Instruments: Fix showing current instrument when undoing/redoing creating MIDI instrument.
  • Mixer strips: Always show the "Set current instrument" entry below the "Force as current instrument" checkbox in the popup menu.
  • Sequencer: Fix graphics not updating immediately after undoing stretching seqblock.
  • Audio: Add latency compensation when recording from input connections in the sequencer and in the sampler instrument. Automatically determined by default, but it's also possible to set a custom value.
  • Audio: Compensate for soundcard input/output latency when recording from system input. Implemented both for recording in the sequencer, and for recording in the sampler instrument.
  • Jack: Fix connecting audio input and output for "System in" and "System out" instruments when there are both physical MIDI ports and physical audio ports.
  • Jack: Show message during startup if connecting system input ports failed.
  • Jack: Fix auto-connecting Jack ports when there both physical MIDI ports and physical audio ports.
  • Jack: Fix not always working to set name of Jack input ports.
  • GUI: Add option to put the sequencer in the bottom of the mixer instead of in the lower tabs in main window.
  • Sequencer: Fix shift-right-clicking multiple seqblocks.
  • Sequencer: Fix Shift + rightclick to delete seqblock. Bug probably introduced in 5.9.99.
  • Sequencer: Fix various situations where the graphics was not updated.
  • API:
  • Renamed: mainMixerIsInWindow->mainMixerInWindow, switchMixerIsInWindow->switchMainMixerInWindow, instrumentWidgetIsInMixer->instrumentInMixer, setInstrumentWidgetInMixer->setInstrumentInMixer, switchInstrumentWidgetInMixer->switchInstrumentInMixer.
  • New: sequencerInMixer, setSequencerInMixer, switchSequencerInMixer, sequencerInMainTabs, configureSequencerWidget, gui_getMixerYSplitter, getRecordingLatencyFromSystemInputIsAutomaticallyDetermined, setRecordingLatencyFromSystemInputIsAutomaticallyDetermined, getCustomRecordingLatencyFromSystemInput, setCustomRecordingLatencyFromSystemInput, setSeqtrackRecordCompensateLatency, getSeqtrackRecordCompensateLatency, enableSampleSeekByDefault, setEnableSampleSeekByDefault, gui_editor, gui_editorLoadFile, gui_editorSetFile, gui_editorSave, gui_editorFind, gui_editorFindNext, gui_editorAddTextChangedCallback
  • writeToFile: Change return type from int to bool. (Returns false if writing failed.)

New in Radium 6.3.84 (Sep 14, 2020)

  • Editor: Fix assertion window popping up if trying to delete a MIDI-added note while recording MIDI.
  • Windows: Fix rare crash in portaudio when probing WDMKS audio drivers. Fix for both Jack and QJackCtl.

New in Radium 6.3.83 (Sep 13, 2020)

  • Sequencer: Fix popup menus for fade/speed/stretch
  • Sequencer: Add "Help" entry to the main sequencer popup menu
  • Editor: Add "Help Pianoroll" entry to the bottom of the pianoroll popup menus

New in Radium 6.3.82 (Sep 13, 2020)

  • Disk: Fix load song (bug introduced in 5.2.91)

New in Radium 6.2.91 (Sep 8, 2020)

  • Macos: Fix editing keybindings by right-clicking a GUI element.
  • MacOS: Necessary to kill qjackctl as well when killing jack.
  • Windows: Fix right-clicking a menu entry in the main menus.
  • Manual: Update information about Quantitizing FX in the editor.
  • Linux: Fix loading song with spaces from the command line.
  • rightclickPopupMenuEntry

New in Radium 6.1.99 (Sep 8, 2020)

  • Editor: Fix crash in quantization function

New in Radium 6.0.99 (Sep 8, 2020)

  • Windows: Fix the left windows qualifier key not working when doing mouse operations.
  • Editor: Paint velocity text for velocities that are not the first or the last of a note in a separate color.
  • Editor: Paint last velocity text for a note in a separate color.
  • GUI: Add hex value information to the instrument effect popup menu.
  • Shutdown: Fix semi-rare crash during shutdown when painting the sequencer.
  • Linux: Show popup info box when finished compiling.
  • MacOS: Add option in Preferences to swap Ctrl and Cmd.
  • MacOS: Let Left Cmd key always behave as Left Ctrl since not all macs have a left ctrl key, and left cmd key is not used for anything in radium.
  • OpenGL: Ensure crashreporter is not shown when OpenGL can not start.
  • Audio: Update recursive graph error message.
  • Manual: Update mixer documentation.
  • MacOS: Fix so that Ctrl-left-clicking does not behave as right-clicking.
  • Mixer: Fix object positions being screwed up when moving several objects while pressing ctrl.
  • Mixer: Add more zoom options to the popup menus.
  • GUI: Fix quirkiness when opening submenus with keyboard.
  • Build: Fix building on gcc8.
  • Mac: Change mouse-qualifier keys to be similar to Linux and Windows.
  • Sequencer: Fix "M" checkbox not updating in the "Tracks" right-side tab when mute state is changed for an editor seqtrack.
  • S7: Roll back to V8.16 / 2020-3-2.
  • Sequencer: Fix seqblock automation sometimes lightning up when mouse is inside the right-side tabs.
  • Mixer strips: Fix displaying whether instrument the strip is selected or not.
  • Mixer strips: Ctrl-click a strip to select/deselect instrument.
  • GUI: Let the instrument widget share keyboard focus with the mixer.
  • Mixer strips: Speed up redrawing changing current mixer strip.
  • Build: Fix build for gcc 9.
  • Audio: Fix various race conditions when changing current instrument.
  • Mixer: Paint name of current mixer object and current mixer strip in white color.
  • Mixer: Paint border around current mixer instrument, not around current instrument.
  • Mixer: Introduce concept of current mixer instrument.
  • Mxier: Change various functions that by default operated on the current instrument to work on the current mixer instrument instead.
  • Audio: Change default send/receive name from empty to "default" in the Send/Receive instruments.
  • Editor: Fix "Copy" and "Cut" not working from the pianoroll popup menu when note is not selected.
  • Edit: Improve pitch shrink/expand requester text. Sequencer: Generate unique editor block name when selecting "clone block".
  • Build: Fix FAUST HTTPDServer compile. (Teteros)
  • Build: Fix Fluidsynth linking. (Teteros)
  • Editor: When changing second-last veltext value of a note, change end velocity end as well if it was equal to the second-last value.
  • API:
  • New: getCurrentInstrumentUnderMouse,
  • setCurrentInstrumentUnderMouse,
  • mousePointerCurrentlyPointsAtInstrument,
  • getCurrMixerInstruments,
  • addCurrentInstrumentChangedCallback,
  • removeCurrentInstrumentChangedCallback,
  • addCurrentInstrumentUnderMouseChangedCallback,
  • removeCurrentInstrumentUnderMouseChangedCallback,
  • setInstrumentIsSelected,
  • switchInstrumentIsSelected, swapCtrlAndCmd,
  • setSwapCtrlAndCmd.
  • Removed: getExtendedSelectedInstruments,
  • control2Pressed, alt2Pressed.
  • Make current block the default argument for
  • addUndoBlock.
  • Changed various default values from
  • getCurrentInstrument() to
  • getCurrentInstrumentUnderMouse().

New in Radium 5.9.99 (Aug 17, 2020)

  • GUI: Redesigned or improved all popup menus.
  • GUI: Right-click a menu entry to configure keybinding.
  • GUI: Keyboard focus is always given to the widget pointed to by the mouse cursor.
  • Editor: Many improvements, especially for the piano roll.
  • Mixer: Audio meters and event indicators painted on top of the connection lines.
  • Sequencer: Lots of bug fixes and minor improvements.
  • Manual: Many improvements, especially for the editor.

New in Radium 5.9.98 (Mar 5, 2020)

  • MacOS: Fix mouse hovering in the editor not working since 5.9.86.
  • Internal: Update S7
  • Editor: Moving a selected note in the pianoroll causes all other pianonotes to be moved as well.
  • Same when moving the start/end/node of a pianonote.
  • Editor: Press Ctrl to select/unselect notes in the pianoroll.
  • Editor: Press Ctrl and drag mouse to create note selection rectangle in the pianoroll.
  • Internal: Upgrade JUCE from 5.4.3 to 5.4.7.
  • VST/AU: Eliminate use of an unnecessary input/output buffer. May reduce CPU cache hits if using many VST/AU plugins.
  • Song properties: Extend the "Send global swing tempo to plugins and jack transport" text to include modulators, metronome, and jack tracksport as well.
  • Editor: Don't move FX if cursor is placed on a chancetext or centtext subtrack when pressing backspace or alt+backspace.
  • Editor: Make backspace and alt+backspace only operate on current FX if cursor is placed on an FX text subtrack.
  • Editor: Only create undo when pressing backspace or alt + backspace result in a change.
  • Editor: Make it possible to input rational and decimal numbers for shift+return.
  • Editor: Use ratios instead of floats for calculation when pressing backspace and alt+backspace. This fixes situations where rounding errors caused notes and other events to sometimes be placed right below the start of a line.
  • Internal: Various assertions that float and double numbers are valid.
  • Build: Compile with -Wfloat-equal.
  • OpenGL: If OpenGL crashes during startup, write explicitly that there's something wrong with the computer, to emphasize that it's not a bug in Radium. (One of the most common cause of crashes is people using the very unstable Nouveau graphics card driver for Nvidia cards on Linux.)
  • Build: Print source file name in green color.
  • Build: Display compilation time for each file.
  • Sequencer: Fix some minor issues when painting the sequencer and navigator bars.
  • Editor: Fix editor not being updated immediately after selecting paste block from the menus.
  • Disk: Fixes loading and saving songs with lineshift in the instrument names.
  • Editor: Make the tempo graph thicker, i.e. the timing track under "Grid". Also adjust color.
  • Swing:
  • Editor: Fix mouse cursor not changing shape to split-horizontal when cursor is above a place when it's possible to change width of track, and the next track has swing-text visible.
  • Editor: Fix undoing track swing.
  • Editor: Make backspace and alt+backspace work on track-swing if cursor is placed on a swing subtrack.
  • Editor: Let the tempo graph display tempo of current track. Relevant when using track swings.
  • Player: Fix extreme swing values, and probably extreme values of other tempo types as well, which could cause inaccurate timing, assertions, and perhaps crashes.
  • Editor: Fix line cursor jumping to the wrong line when stopping to play.
  • Editor: Fix track swings not being taken into account when starting and stopping to play
  • Editor: Take track-swing into account when displaying waveforms.
  • Sequencer: Make it optional whether to display track-swinging beats in editor tracks in editor seqblocks.
  • Sequencer: Make it optional whether to use block-swing when displaying beats in the timeline.
  • Sequencer: Make it optional whether to use block-swing for the grid.
  • Editor: Don't set current track to track 0 when undoing/redoing and cursor was positioned on a timing track when creating the undo.
  • Editor: Fix loosing BPM "glide" state when undoing, redoing, copying, pasting, and cutting.
  • GUI: Fix accidentally pressing Ctrl+Z in the terminal after moving a pianonote outside the boundaries of a pianoroll, making it seem like Radium had frozen. What actually happened was that the mouse pointer was forcefully moved outside the the main Radium window.
  • Build: Fix various null-dereference gcc 8 warnings.
  • Build: Fix building using Debian Buster 10.2. (another sh -> bash fix).
  • GUI: Fix memory corruption if first message displayed in the status bar is exactly 10 characters long.
  • Preferences: Add line/beat/bar opacity options to the "Editor"-tab.
  • Editor: Fix subtracting 250 from bar and beat opacities before rendering.
  • Editor: Fix dragging vertical scrollbar up and down. Broken in 5.9.96.
  • Editor: Fix mouse wheel not always working in the editor.
  • Manual: Various updates, mainly to the editor.
  • API:
  • sendKeyEvent, optimizedBuild, gui_postKeyEvent,
  • getNoteNum, hasSelectedNotes,
  • showPianorollSelectionRectangle,
  • hidePianorollSelectionRectangle, getAllNotes.

New in Radium 5.9.96 (Feb 5, 2020)

  • Sequencer/Editor: When moving the sequencer cursor, only scroll the current editor block up or down if the sequencer cursor in the current seqtrack is above the current editor block.
  • Manual: Update Swing page a little bit.
  • Instruments: Add four FaustDev example instruments to the instrument menu. (Saw, Square, Sine, and Triangle.)
  • Mixer strips: Fix new plugin automatically being set as the new current instrument after selecting "Insert plugin". That was not supposed to happen.
  • Sampler instrument: Fix recording sample to disk when instrument name contains very special characters.
  • Menus: Remove "Import XM" from the File menu. It is not working well enough to be put there.
  • Import MOD: Ignore a couple of errors in order to load more MOD files.
  • Import MOD: Hide the volume sliders from the track headers in the editor to makes the pan values more visible.
  • Sequencer: Made it possible to configure the color of the current list entry border.
  • Preferences: Remove a couple of unused colors.
  • Sequencer: Fix color for current seqtrack border. (It used color for current mixer strip border instead.)
  • Editor: Don't hardcode alpha value of the border of pianoroll note colors.

New in Radium 5.9.95 (Feb 5, 2020)

  • Editor: Make sure the pianoroll of the first track is always visible after pressing Shift + left and the cursor ends up in one of the timing tracks.
  • GUI: Add a "Visible" checkbox to the popup menus of the editor, the mixer, and the sequencer.
  • Export soundfile: Make it impossible trying to create a FLAC file with 32 bits or float format since those are not supported by FLAC.
  • Plugins: Just ignore loading plugin cache from disk if hash version on file is newer than is currently supported in the program.
  • Plugins: Save plugin cache in hashmap V3 format so that older versions of Radium can still be used after scanning new plugins. (All versions of Radium between 5.9.90 and 5.9.93 will probably be marked unstable soon because of this.)
  • Instruments: Fix undoing delete instrument. This operation was not always able to load the old audiofile for the sampler and fluidsynth instrument.
  • Instruments: Fix instrument-list windows. Broken in 5.9.90.
  • Instruments: Fix VST plugins not always showing up in the popup menus before they are scanned.
  • Editor: When moving notes in the piano roll, play new note if pitch is changed for an instruments that doesn't support changing the pitch of an already playing note.
  • Editor: Fix popup menu option for grabbing keybinding for "Rename instrument".
  • Build: Add new build-type DEBUG_FAST, which is the same as DEBUG + O2/O3.
  • VST/AU: Fix plugins not deleted properly when exiting.
  • API:
  • New: editorIsVisible, showEditor, hideEditor, copyFilepathToClipboard, getClipboardFilepath, createIllegalFilepath, isIllegalFilepath, isLegalFilepath, getBase64FromFilepath, getFilepathFromBase64, putSettingsF, getSettingsF.
  • Use a custom "filepath" type to store filenames and dirnames.
  • Fix loadSong and saveAs sometimes causing autobackups and saving not working. Was only a problem when calling these functions from Python.

New in Radium 5.9.93 (Feb 5, 2020)

  • Editor: Fix cut and paste range.

New in Radium 5.9.91 (Jan 22, 2020)

  • Menus: Remove lots of entries from "Editor View" that are also available in relevant popup menus.
  • Build: Remove some -Werror flags from non-debug build.
  • API/internal: Change type from int64_t to file_t for files.
  • Internal: Let "instrument_t" be a struct to avoid accidentally mixing types.
  • Mixer: Fix the "Configure color" option in the popup menu.
  • API: createIllegalFile, isIllegalFile

New in Radium 5.9.90 (Jan 21, 2020)

  • Windows: Show progress window much earlier when starting the program.
  • Sampler instrument: Fix GUI graphics not updating immediately when dragging sliders if GUI was opened by the second time or later.
  • Sampler instrument: Fix memory corruption when opening a sampler instrument GUI for the second time. In Radium 5.9.88 this memory corruption started to crash the program.
  • Editor: Popup menus for timing tracks.
  • Import MOD: Decrease time it takes to import MOD file with lots of tempo changes.
  • Scripting: Update S7 to latest version.
  • Editor: Fix very small font for the labels in the upper right when the swing track is not visible.
  • Editor: Fix error message "getTrackX2: No track X" sometimes popping up, especially after importing MOD file.
  • Sequencer: Fix some shortcuts in the seqtracks config popup menu.
  • Internal/GUI: Fix a bug in the raw mouse cycle handling in the internal widget system.
  • FaustDev: Fix block diagrams not being drawn when using the LLVM backend. Bug introduced in 5.9.88.
  • Editor/OpenGL: Replace use of spinlock with mutex. This might fix some freezing in the editor when it's redrawn.
  • Sequencer: Add popup menu to the timing lane headers area.
  • Keybindings: Fix grabbing keybinding when navigating popup menus with the keyboard.
  • Editor: Add support for grabbing keybinding to the entries in the track header popup menu.
  • GUI: Fix entries in sub menues not always being highligthed.
  • Sequencer: Add support for grabbing keybinding for the various grid functions in the grid button popup menu.
  • Keybindings: Fix "Remove keybinding" when a previous keybinding has been added with other focus qualifiers than the default ones.
  • Keybindings: Fix sometimes not detecting when overriding a keybinding.
  • Mixer: Add support for grabbing keybindings for rotating the mixer to the popup menu of the mixer direction button.
  • GUI: Add alpha to text color of disabled buttons and check boxes.
  • GUI: Fix various buttons and checkboxes still being highlighted after releasing mouse button.
  • Keybindings: Remove "EDIT SHIFT_L F5" keybinding to unzoom.
  • Mixer: Options in the popup menu to edit various zoom keybindings.
  • Keybindings: Add "Help keybindings" option to the bottom of all popup menus to grab keybindings.
  • Help: Variuos fixes for the keybindings help page.
  • Sequencer: Light up background color of the seqtrack numbers when hovered or moved.
  • GUI: Fix buttons and checkboxes not always stops being highlighted after mouse pointer has been moved somewhere else.
  • Mixer: Fix keyboard focus when un-windowing mixer.
  • GUI: Add support for grabbing keybinding to the popup menu of all buttons and check boxes in the mixer, editor, sequencer, and playlist.
  • Instrument widget: Save half/full status to disk.
  • Instrument widget: Fix font size for effect sliders not always being correct when widget is half or full size.
  • Instrument widget: Various clean-ups for the half/full size buttons.
  • API:
  • New: setCurrMixerConfigNum, resetMixerConfigNum, setMainMixerInWindow, mainMixerIsInWindow, switchMixerIsInWindow,switchInstrumentWidgetInMixer, setShowCpuUsageInMixer, getShowCpuUsageInMixer, switchShowCpuUsageInMixer, setVisibleMixerConnections, getVisibleMixerConnections, switchVisibleMixerConnections, setVisibleMixerBusConnections, getVisibleMixerBusConnections, switchVisibleMixerBusConnections, mixerConfigNumIsUsed, resetEditorZoom, resetMixerZoom, resetSequencerZoom, setSwingEnabled, getSwingEnabled, switchSwingEnabled, setPianorollAutoRange, switchRecordAccuratelyFromMidi, playlistUp, playlistDown, switchSequencerGridEnabled, switchTrackPanOnOff, switchTrackVolumeOnOff, setSequencerInFullMode, sequencerInFullMode, switchSequencerInFullMode, hasInstrumentForTrack, isLegalInstrument, createIllegalInstrument, getAudioInstrumentNum, getMainPipeInstrument, switchDrunkVelocityOnOff, editorFollowsPlayCursor, switchEditorFollowsPlayCursor, insertEditorSeqtrack, insertAudioSeqtrack, insertBusSeqtrack, appendEditorSeqtrack, appendAudioSeqtrack, appendBusSeqtrack, setBPMs, setSwingTrackVisible, setSignatureTrackVisible, setLpbTrackVisible, setBpmTrackVisible, setReltempoTrackVisible, showHideLinenumbers.
  • Removed: undoTrackPanOnOff, undoTrackVolumeOnOff.
  • Update documentation for zoom and unzoom.
  • Fix playlistInsert.
  • Use a custom "instrument" type instead of int64_t to store instrument id.
  • Change order of arguments for gui_setVertRatioInMixerStrips.
  • Let the default guinum argument for gui_getVertRatioInMixerStrips and gui_setVertRatioInMixerStrips be -1 (main mixer strips gui).
  • Change order of arguments for gui_setNumRowsInMixerStrips.
  • Let the default guinum argument for gui_getNumRowsInMixerStrips and gui_setNumRowsInMixerStrips be -1 (main mixer strips gui).
  • Fix state of current seqblock and seqtrack if calling deleteSeqtrack directly instead of pressing the "-" button in the sequencer.
  • Add optional argument "bool force_insert/force_delete" to insertSeqtrack and deleteSeqtrack. The argument is false by default. If false, program will ask user "are you sure?" if calling the function causes song to switch from editor timing mode to sequencer timing mode.
  • Fix function names for addBPM3 and addLPB3.

New in Radium 5.9.88 (Dec 27, 2019)

  • Startup: Make sure a proper error message is shown if the custom color configuration file is not valid.
  • Internal: Use radium::Timer instead of QTimer for the main timer. Might lower idle CPU usage on Linux a little bit.
  • Internal: Improve GC performance.
  • Faust: Update faust to master-dev-2019-12-22 (between V2.21.0 and 2.21.1). This update fixes interpreter backend not working properly for instruments using prerendered tables and other things ("os.osc" is the most prominent example not working before when used in an instrument).
  • Keybindings: Make MOUSE_* and FOCUS_* qualifers OR-ed, and not AND-ed. AND-ing for these makes no sense since you can never have more than one widget focused, or the mouse to be directly above more than one widget at the same time.
  • Keybindings: Add close button to the keybinding grab gui.
  • Keybindings: Add checkboxes for selecting focus for editor, mixer, and sequencer to the keybinding grab gui.
  • Keybindings: Display more detailed information about current keybinding(s) in the "override?" window.
  • Sequencer: Right-click the seqtrack settings radio-buttons to edit keybinding.
  • API: cancelGrabKeybinding

New in Radium 5.9.86 (Dec 10, 2019)

  • MacOS: Don't display startup warning window anymore if running 10.14.
  • MacOS: Officially support 10.15, but display a warning during startup that it hasn't been much tested yet.
  • MacOS: Include a QJackCtl app in the binaries since neither the "Jack Pilot" nor QjackCtl binaries included with jack works very well in 10.15.
  • MacOS: New workarounds to prevent Apple's OpenGL library from crashing when resizing (especially in 10.14 and 10.15). Unfortunately, this causes a little bit of flickering when resizing, plus longer time to resize, but it's better than crashing.
  • GUI: Fix crash when ensuring that a visible widget always has keyboard focus. The crash could for instance be triggered by pressing the tab key 4 times in a row. Bug was introduced in 5.9.85.

New in Radium 5.9.85 (Dec 9, 2019)

  • Mixer strips: Fix the replace plugin entry in the popup menu.
  • Scripting: Update S7 scheme interpreter.
  • Keyboard: Change keyboard focus to a visible widget when the widget currently having keyboard focus is hidden.
  • Menus: Move the Zoom entries from "Editor View" to "Windows".
  • Keybindings: Let keypad +, -, * and Ctrl +, - zoom in/out/reset in the mixer and sequencer as well, not just the editor.
  • Sequencer: Fix seqtrack header height when there is only one seqtrack.
  • Playlist: Put back the "Hide" entry to the popup menu (disappeared when playlist was rewritten).
  • Mixer strips: Fix the "Wide" and "Enabled" checkboxes in the popup menu of the current instrument mixer strip.
  • MIDI: Fix modulator gui for MIDI CC targets
  • MIDI: Fix saving/loading/undo/redo CC slider modulation.
  • Editor: Tweak vertical scroll bar position.
  • Editor: Middle-align text of labels and input widgets in the upper left.
  • Editor: Automatically scale font size of the upper left labels to make sure "Swing" is always completely visible.
  • Help: Some minor updates.
  • Editor: Fix error message popping up if changing track width of track while playing song and current block is changed.
  • Editor: Fix editor sometimes not responding after pressing the "F" button in the sequencer twice, and possibly other situations.
  • Editor: Clearer and better looking interface for the track headers.
  • Editor: Show audio meters in the track headers.
  • Instrument widget: Fix font type in the MIDI instrument widget.
  • Editor: Fix pianoroll notes snapping to the next grid line instead of the current 50% of the time. Was usually not noticable except when trying to move the end position to the end of the block, which wasn't possible without pressing Ctrl.
  • GUI: Various gfx tweaks.
  • Preferences: Put the colors into sub sections and adjust order.
  • Instrument widget: Show full path in tooltip and status bar when mouse cursor is positioned above a settings button in the sample browser.
  • Sequencer: Show path in tooltip and status bar when mouse cursor is positioned above a settings button in the file browser.
  • Playlist: Tweak button positions.
  • GUI: Fix gradient behavior when painting checkboxes.
  • Mixer: Fix high CPU usage when mixer strips are visible.
  • Instruments: Fix memory leak.
  • Fix unnecessary assertion sometimes popping up when checking OpenGL on Windows.
  • Sequencer: Fix seqtrack slider not working in some semi-rare situations.
  • Menus: Remove duplicate "Silence!" entries.
  • API:
  • setPianorollLowKey: Set default value of 'blocknum' to -1.
  • setPianorollHighKey: Set default value of 'blocknum' to -1.
  • gui_verticalAudioMeter: Ignore note event painting if "note_event_instrument_id" is set to -2.
  • Gui_addVerticalAudioMeter: Ignore note event painting if "note_event_instrument_id" is set to -2.
  • Better error messages for various instrument functions.
  • Change "zoom" and "unzoom" to zoom / reset zoom the part (editor/mixer/sequencer) that has keyboard focus, not just the editor.
  • Removed: getTrackPanOnOffX1, getTrackPanOnOffY1, getTrackPanOnOffX2, getTrackPanOnOffY2, getTrackVolumeOnOffX1, getTrackVolumeOnOffY1, getTrackVolumeOnOffX2, getTrackVolumeOnOffY2, getTrackPanSliderX1, getTrackPanSliderY1, getTrackPanSliderX2, getTrackPanSliderY2, getTrackVolumeSliderX1, getTrackVolumeSliderY1, getTrackVolumeSliderX2, getTrackVolumeSliderY2.
  • New: setBestGuessKeyboardFocus

New in Radium 5.9.83 (Nov 27, 2019)

  • GUI: Increase default system font height from 8 to 10 on Linux and Windows, and from 12 to 14 on macOS.
  • Preferences: Clean up color order a little bit.
  • GUI: Adjust colors.
  • Build: Remove the k_cext and oscx pd externals from libpds since some linkers refuse to link object files using mktemp.
  • Sampler instrument: Fix Noise and error messages when playing non-looped samples using a non-cubic resampler (Bug introduced in 5.9.41(!)).
  • GUI: Make scroll bar colors configurable.
  • GUI: Make colors of all buttons and checkboxes configurable.
  • GUI: New appearance for buttons and checkboxes.
  • Instrument widget: Adjust some fonts and layouts.
  • Playlist: Don't show error message if pressing "Insert" and there are no audio files.
  • Instrument widget: Fix being able to deselect both the A and the B a/b buttons.
  • Modular mixer: Always show bus connections when "C2" is enabled. Earlier they weren't shown unless
  • "C1" was also enabled.
  • Sequencer: Auto-scroll to make current seqtrack visible when pressing up/down key.
  • Sequencer: Make Page up/down scroll up/down 4 seqtracks.
  • Instrument widget: Fix width of the "Controls visible" checkbox.
  • Sequencer: Add vertical scrollbar for seqtracks.
  • Sequencer: Fix various minor issues when seqtracks are hidden.
  • Sequencer GUI: Various minor tweaks and bug fixes.
  • GUI: Light up buttons and check boxes when hovered by the mouse.
  • Preferences: Improve help text for the "Update waveforms during playback" button.
  • Sequencer: Fix mouse pointer shape not always being of the correct type.
  • GUI: Fix bottom bar widgets often not using all available vertical space.
  • Midi messages instrument: Fix CC for "Balance". It sent out CC 9 instead of CC 8.
  • Midi messages instrument: Order all effect sliders by CC.
  • Midi messages instrument: Add missing CC effects.
  • Build: Fix building with qt 5.13.
  • API:
  • setTopmostVisibleSeqtrack: Ignore operation if seqtrack is not visible.
  • setCurrSeqtrack: Add optional argument "bool auto_scroll_to_make_seqtrack_visible",.
  • New functions: getStringLength, getSequencerLeftPartButtonsY1, getLowestPossibleTopmostVisibleSeqtrack, getSeqtrackBorderWidth, setCurrSeqtrackDown, setCurrSeqtrackUp, autoscrollSeqtracks, getGcMemoryUsage.

New in Radium 5.9.81 (Nov 12, 2019)

  • Sequencer/Mixer: Made default Bus color bluish instead of greenish to make it easier to see mute status.
  • Sequencer: Tweak borders a little bit.
  • Linux: Possible fix for unnecessary CPU usage.
  • Sequencer: Write "H0", "H1", "H2", or "H3" instead of just "H" for the track height buttons.
  • Sequencer: Let mouse wheel scroll 3 entries up or down. Earlier it only scrolled 1.
  • Playlist: Fix wobbly text when moving vertical scrollbar.
  • Sequencer: New "Tracks" tab to quickly configure visibility, mute, solo, record, and height of all seqtracks.
  • Sequencer: Change the name of the "Browser" tab to "Files".
  • Sequencer: Various GUI optimizations and minor fixes.
  • Mixer: Various GUI optimizations and minor fixes.
  • Sequencer: Quickly change height of a track by scrolling mouse wheel on top of the "H" button.
  • Sequencer: Fix current seqtrack sometimes changing in non-logical ways when clicking inside the right-side tabs.
  • Sequencer: Fix first letter not being readable for the current editor block in the "Blocks" tab
  • Sequencer: Fix first letter not being readable for the audio file in the "Sounds" tab.
  • Sequencer: Fix error messages popping up if right-clicking a seqtrack number.
  • General: Fix potential memory leak in sequencer.
  • API:
  • New: setSeqtrackVisible, getSeqtrackVisible, gui_supportsCallbacks, getLowestVisibleSeqtrack, resetSeqtrackConfig, setCurrSeqtrackConfigNum, getCurrSeqtrackConfigNum, seqtrackConfigIsUsed, setSeqtracksVisible.
  • Add optional argument "throw_error_if_seqtrack_is_not_for_audio" to seqtrackIsRecording.

New in Radium 5.9.79 (Oct 30, 2019)

  • Sequencer: Let all new audio seqtracks have the same initial color. This color is configurable.
  • Sequencer: Fix making auto-crossfades when changing interior values for a seqblock.
  • Audio: Fix export soundfile when jack transport is enabled.
  • Sequencer: Tweak colors for bpms, signatures, and markers.
  • Sequencer: Change default keybinding to split audio file from CTRL + S to S. S is a more common operation, and this also fixes keybinding clash with saving file (which was very unfortunate).
  • Sequencer: Change default keybinding to switch Solo from S to Shift + S.
  • Mixer: Add a default keybinding Shift + S to switch solo of the selected instruments.
  • Sequencer: Made the seqblock boxes lighter by default (fade/interior/speed/stretch), and also made these colors configurable.
  • Sequencer: Paint horizontal and vertical indicator lines when moving automation nodes.
  • Sequencer: Paint horizontal lines across all tracks and lanes when mouse pointer is above a movable object, to better show where the objects are placed in time.
  • Sequencer: Always paint a thin horizontal line under the mouse pointer to show grid and to better visualize where objects are placed in time.
  • Sequencer: Optimize drawing cursors.
  • API: getSeqAutomationColor, getSeqblockAutomationColor, setSeqIndicator,
  • cancelSeqIndicator, seqIndicatorEnabled, getSeqIndicatorXPos, getSeqIndicatorY, getSeqIndicatorType, getSeqblockColor.

New in Radium 5.9.77 (Oct 22, 2019)

  • Mixer: Fix crash during startup if instrument widget was positioned inside mixer. (Bug introduced in 5.9.76).
  • Sequencer: Don't pause player when moving a seqblock while playing block.
  • Build: Make Faust compile with LLVM9. (Teteros) Editor: When overriding a note from MIDI input, also change the velocity when "Always use velocity from MIDI..." is enabled.
  • Sequencer: Make sure seqtrack instrument is always deleted/created when corresponding seqtrack is deleted/created, and vice versa. (Fix for undo/redo creating/deleting seqtrack and seqtrack instrument).
  • Sequencer: More intelligent algorithm to create names for seqtrack buses.
  • Load/New: Fix assertion window sometimes popping up because main pipe instrument doesn't exist. (Bug introduced in 5.9.76).

New in Radium 5.9.64 (May 29, 2019)

  • Mixer: Fix bug not making it possible to show mixer strips for plugins.
  • Metronome: Don't play extra sounds when playing block. Fix for bug introduced in 5.9.62. Editor: Avoid jumping cursor when stopping to play.
  • Player: Fix selecting correct current seqblock and current block after stopping to play.
  • Audio: Make Solo behave more generally. For instance, setting solo for a bus only makes the buses mute, not all instruments.
  • Mixer/Sequencer: Display non-filled yellow border around solo buttons for implicitly soloed instruments.
  • Jack: Don't crash, and don't show assertion window if saving state or setting port name when jack port could not be registered.
  • About window: Include control port number.
  • Message window: Fix quotations
  • Audio Removed all bus on/off effects. Instead, audio connections are created / deleted. This improves CPU usage by around 5% and cleans up the code a bit.
  • Mixer: Added "C2" button to show/hide bus connections. (Hidden by default.)
  • Editor: Add "Edit" entries to the track popup menu.
  • Editor: Make resize faster, and reduce chance of seing framed black editor while resizing.
  • Internal: Updated S7.
  • Editor: Fix minor graphical glitches when a block is played in more than one seqtrack.
  • Sequencer: When setting cursor position when not playing, set current seqblock to the one under the cursor of the current seqtrack, if there is one.
  • Sequencer: Fix single-click in the timeline to set cursor position (red cursor).
  • Sequencer: When pressing Ctrl+C and no seqblocks are selected, copy the current seqblock and not the seqblock under mouse pointer.
  • Sequencer: Remember current seqblock when changing seqtrack.
  • Editor: Not necesarry to place the mouse cursor inside the editor when copying and pasting blocks.
  • Init: Don't show assertion reporter window when a scheme function is redefined. It's enough showing the warning window.
  • API:
  • New: showEditQuantitizeTab, showEditTransposeTab, showEditRandomizeTab, showEditVariousTab, canAudioConnect, setInstrumentIsImplicitlyMuted,
  • instrumentIsImplicitlySoloed, setInstrumentIsImplicitlySoloed, atLeastOneInstrumentHasSolo
  • Removed instrumentIsBusDescendant.
  • Fix selectPrevPlaylistBlock and selectNextPlaylistBlock when playing song.
  • Broken in 5.9.62:
  • * Don't pretty-print backtrace code. Takes up too much space.

New in Radium 5.9.52 (Apr 5, 2019)

  • OSX: Workaround for sequencer graphics not being updating in 10.14 when moving the "dragger" (i.e. the "=" button in the top left corner of the sequencer).
  • Editor: Fix cursor line sometimes being placed in wrong position after resizing.
  • OSX: Workaround for crash in Apple's OpenGL library that sometimes happened when starting up, and when resizing editor. (The workaround is to pause graphics rendering for a short while after resizing). This bug was especially noticable on macOS 10.14.
  • Internal: Add compile time option to run OpenGL in the main thread instead of it's own thread. Didn't fix the OSX crashes though.
  • Editor: Reduce flickering when resizing.
  • Keybindings: Don't crash and don't show assertion reporter if there is something wrong with the keybinding configuration.
  • Keybindings: Show error message in message window when pressing a key and the keybinding failed to run.
  • OSX: Don't crash if trying to run Radium without first installing jack.

New in Radium 5.9.51 (Apr 3, 2019)

  • Sequencer: Don't crash after selecting Cancel when asked for replacement of missing audio file.
  • Sequencer: Don't accept replacement audio file if the base names of the two filenames differ. This is a quick right-before-the-release hack to avoid a crash that can happen if the two files have different lengths. Needs proper solution later.
  • Song properties: Change the text "Send global swing tempo to plugins" to "Send global swing tempo to plugins and jack transport".
  • Song properties: Change the text "Audio files" to "Audio files in Sample player and Fluidsynth".
  • GUI: Increase default block saturation to 1.0
  • GUI: Increase default instrument saturation to 0.67.
  • GUI: Add options to set instrument saturation and brightness for the editor only. May want a less saturated background color in the editor.
  • Internal: Include the samplereader and ratio tests into "make test".
  • Internal: Fix "make test".
  • Internal: Run "make test" in the build script for creating new releases. "make test" does catch the bug below, but running it wasn't automated.
  • Internal: Fix crash when moving several seqblocks in some situations. The bug was general though, so it might have caused other problems as well. The bug was introduced in 5.9.48, so all releases between 5.9.48 and 5.9.51 will be marked unstable.
  • Audio: Fix the problems with latency compensation in 5.9.50. The bug had actually always been there, but hopefully it had not been audible before 5.9.50.
  • Load: Fix crash when loading old songs, approximately around 4.2.0 or older. Not sure when this bug was introduced.
  • Audio: Some minor optimizations of CPU usage.
  • API: getInstrumentBrightnessInEditor, setInstrumentBrightnessInEditor, getInstrumentSaturationInEditor, setInstrumentSaturationInEditor.

New in Radium 5.9.50 (Apr 3, 2019)

  • Audio: Make internal block size configurable. CPU usage is reduced significantly when the internal block size is increased.
  • Jack: Show error message if changing jack block size during runtime.
  • Audio: Reorganized the audio engine in order to significantly reduce CPU usage when there's many sound objects.
  • Audio: Remove the "Recalculate latency on the fly..." option since it is not necessary anymore.
  • Editor: Don't move cursor when stopping to play block and jack transport is enabled. This fix also turns off the ability for another program to set current editor block and line when not playing.
  • Audio: Share output buffers between instruments to decrease cache misses. Significantly reduces CPU usage when there's many instruments.
  • Sampler instrument: Fix displaying empty waveforms in the editor (very rarely though) when automating pitch or stretch.
  • API: Removed doAlwaysRunBuses, setAlwaysRunBuses

New in Radium 5.9.49 (Mar 24, 2019)

  • System: Updated Qt to 5.12.2.
  • GUI: Color tweaks.
  • System: Add missing Qt5Webkit library for QT5
  • build. (Teteros)
  • Sample player: Move the "Granulate" checkbox to the
  • top of the next column.
  • Instrument: Adjust displaying ratio text in the
  • compressor.

New in Radium 5.9.46 (Mar 15, 2019)

  • OpenGL: Remove startup warning that Radium hasn't supported high DPI display for a very long time. It's been a pretty long time now.
  • Error message window: Position in the middle of the screen.
  • Progress window: Add a minimize button in the upper right corner.
  • Mixer: Don't update graphics for the modular mixer when it's not visible.
  • Mixer strips: Fix note intencity circle only lighting up/down when the main mixer was visible.
  • GUI: Turn off menu and combobox animation. Screwed up menus on osx when using Qt 5.12. (Think the menu animation actually brought back the same bug that caused me to upgrade Qt from 5.7 to 5.10.)
  • Mixer: Fix error message sometimes popping up when showing popup menu.
  • Build: Update Juce from 5.3.2 to 5.4.3.
  • Init: Fix 1-10 seconds freeze that sometimes happened during program startup.
  • OSX: Fix file requester not filtering out entries when loading/saving mod/midi/xm/rad.
  • OSX: Radium requires 10.12 or newer.
  • Editor: When appending new block, let it have the same number of tracks and lines as the current block. (Same behavior as insert block.)
  • Instruments: Include the pan and width effects in the wet signal by default. This can be changed in the song properties window. When loading older songs, pan and width is not included in the wet signal, since that could change the sound.
  • Instruments: Disable the dry/wet slider when instrument is bypassed.
  • API:
  • New functions: setIncludePanAndDryInWetSignal, includePanAndDryInWetSignal, appendBase64Strings.
  • Add optional argument "text_is_base64" to gui_drawText

New in Radium 5.9.44 (Mar 11, 2019)

  • Editor: Add undo when selecting "Add automation to
  • current editor track".
  • Sequencer: Delete block when undoing "Replace With
  • New Block".
  • Sequencer: Less gradient background color.
  • Modular mixer: Generate same color for all selected
  • instruments when selecting "Generate new color".
  • Linux: Don't show warning about MESA when using
  • an AMD GFX card.
  • Init: Initialize OpenGL much earlier in the
  • startup. Could reduce the chance of crashing
  • OpenGL during startup.
  • Editor: Fix not playing notes twice when adding a
  • note and "Play notes under the cursor when moving
  • up or down" is enabled. This was supposedly fixed
  • in 5.9.42, but wasn't.
  • Editor: Turn off autorepeat when pressing left
  • shift while adding notes and "Enable keyboard
  • autorepeat when adding notes in the editor" is
  • disabled.
  • Instruments: Update slider text immediately when
  • changing "Change value when pressing "random".
  • Editor: Ensure cursor is visible when moving the
  • horizontal scroll bar.

New in Radium 5.8.4 (Sep 4, 2018)

  • Program log: Add menu command to program log. Might help track down some crashes reported by the crash reporter.
  • Sequencer: Options to configure granulation parameters for audio files. Right click stretch area and select "Granulation parameters".
  • Sequencer: GUI to set gain/resampler type/granulation parameters for audio files.
  • Instrument/load: Ignore A/B setting when the number of effects have changed. This change also prevents the assertion window to pop up, and possibly other problems.
  • Startup: Show message windows in safe mode during startup. Might fix some crashes reported by the crash reporter.
  • Log: Log all messages shown in message windows.
  • Bottom bar: Hopefully fixed a crash happening when closing window with bottom bars.
  • Editor: Add a separator between list of used fx and "New FX" in the automation popup menu.
  • Internal: Same way to load and save instrument settings when loading/saving song and loading/saving presets. Not enabled in release mode yet.
  • Instrument: Option to save presets with embedded samples.
  • Presets: Save "pan" and "chance" in preset files.
  • MIDI: Fix crashes that could happen after selecting "Delete all unused MIDI instruments"
  • API: New functions: setSeqblockGrainOverlap, getSeqblockGrainOverlap, setSeqblockGrainLength, getSeqblockGrainLength, setSeqblockGrainJitter, getSeqblockGrainJitter, setSeqblockGrainRamp, getSeqblockGrainRamp, getSeqblockResamplerType, getSeqblockSeqtrackNum, getSeqblockSeqblockNum, addSeqblockDeletedCallback, removeSeqblockDeletedCallback. Changed setSeqblockGain/getSeqblockGain/getMaxSeqblockSampleGain to take seqblockid as parameter instead of seqblocknum+seqtracknum. Make it possible to let the second argument for gui_horizontalIntSlider/gui_horizontalSlider/ gui_verticalIntSlider/gui_verticalSlider be a function that returns text, instead of text.

New in Radium 5.6.5 (May 5, 2018)

  • Demo songs: Romance by Nikos Levantis.
  • Editor: Incrase distance between peaks when displaying waveforms. This both looks better (although arguably) and uses less CPU.
  • MIDI: Display notes in realtime as they are recorded when recording notes in sequencer mode.
  • Audio meters: Don't show wrong meter values when audio meters are resized.
  • GUI: Don't set mininum height of the editor to 400 pixels.
  • Internal: Fix memory corruptions that could happen if a scheme exception is thrown in code called by a Qt event.
  • Sequencer: Make it possible to change sequencer height by dragging the area above the seqtrack headers. This one is easier to use than the already existing drag handler.
  • Reduce time Radium uses to exit.
  • Editor: Don't re-calculate peak data unnecessarily for looping samples. Fixes stalling when setting block multiplier very low.
  • Menus: Add "Suggest new feature" to the Help menu.
  • API:
  • Fix a couple of bugs in gui_update and gui_getBackgroundColor
  • Make gui_update take double as arguments instead of ints, and automatically floor down / ceil up values so that the caller doesn't have care about Qt's mix of integers and floats in their widget system.
  • New functions: gui_getSplitterSizes, gui_setSplitterSizes.

New in Radium 5.5.2 (Mar 21, 2018)

  • Modulators: Fix assertion window sometimes popping up when loading song when a modulator GUI is open
  • GUI: Fix rare popup menu bug that could cause wrong entry to be selected, or program to crash.
  • Sequencer: Configurable interface color.
  • Sequencer: Configurable audio file background color.
  • Load: Fix memory leak when loading song. (Fix for known bug introduced in 5.5.1.)
  • Sequencer: Paint envelope before start and after end with a lower opacity.
  • Sequencer: Only paint envelope before start and after end if mouse pointer is above it.
  • Sequencer: Faster to change interior start and end values in audio files.
  • Sequencer: Cache peak data so we don't have to read peak files from disk as often.
  • Sequencer: Always try to cache first 2 seconds from the start position of all audio files to lower time starting to play.
  • API: getAudiofileColor, setAudiofileColor

New in Radium 5.5.1 (Feb 12, 2018)

  • Load song: Fix semi-rare crash introduced in 5.5.0.
  • Editor: Try to track down a rare bug happening when deleting a velocity text entry.
  • Sequencer: Fix initial envelope duration for audio files.
  • Sequencer: Fix undo/redo for fade in / fade out.
  • Mixer: Fix mixer object position in the modular mixer after redoing adding instrument.
  • Update checker: Fix update checker. Broken since around 4.4.0.
  • Sequencer: Internal simplification. This also fixes some minor bugs.
  • Audio: Support drag-and-drop of .mrec files.
  • Audio: Add option to let main pipe have 8 channels.
  • Audio: Add 8 channel versions of System Out, System In, Pipe, Jack In, and Jack Out.
  • Sequencer: Paint all of the sequencer block area affected by the envelope. I.e. from start to end of block, not just below the envelope.
  • Audio: Fix equalizer blowing up when frequencies are set higher than samplerate/2. Fixes for lowpass, lowshelf, highshelf, and higpass.
  • API: getAudioInstrumentDescription, internalReplaceMainPipe, undoSeqblockFades

New in Radium 5.4.8 (Jan 18, 2018)

  • GUI: Don't start new windows in "Window Stays On Top" mode since these windows will cover VST GUIs. Also remove the Qt::Tool flag on Windows since it's not needed on that platform to make windows stay on top of the main window.
  • Windows: Partly fix always-on-top VST GUIs. They will stay on top of the main window and the last opened currently visible window, but not on top of other windows.
  • Audio: Try to prevent and track down a bug reported by the crash reporter.
  • VST: Minor fix for keyboard grabbing in the GUI.
  • VST: Fix opening VST GUIs in the middle of the screen.
  • Sequencer: Fix bug that caused timing weirdness when changing number of lines in a block.
  • Sequencer: Fix bug sometimes causing program to freeze when showing bars in the timeline.
  • Sequencer: Improve timeline rendering a little bit when
  • showing bars.

New in Radium 5.4.1 (Dec 23, 2017)

  • OS X: Fix various crashes, especially notable in 10.13 but also sometimes in 10.12. It was caused by setting the Qt::WA_MacAlwaysShowToolWindow flag on a window.
  • Block list: Fix changing block name.
  • Instrument widget: Display the preset menu async. Might fix reported difficulties on OS X.

New in Radium 5.1.5 (Oct 4, 2017)

  • Audio: Fix adding undo entries when parameters are changed in the native GUI of a plugin. Sometimes a lot more than 1 undo entry was added per second. (This functionality is still not working perfectly though.)
  • OSX: Workaround for a bug in a 3rd party library that caused lots AU plugins in certain situations.
  • OSX: Fix a bug the in keyboard handler that sometimes made Radium crash. Seems to be related to using non-latin keyboard. (More info: https://tinyurl.com/ydaz9os9)
  • Audio: Ask "Are you sure?" when trying to load a Moody Sampler 5.0 VST plugin instance. This plugin crashes when it is deleted.
  • Audio: Don't crash some VST plugins when undoing a deletion.
  • Editor: Make the horizontal track slider more conventional.
  • Build: Include initial LLVM 5.0.0 support from Faust2 (Teteros)
  • API:
  • New functions: getTrackSliderScrollerX1, getTrackSliderScrollerY1, getTrackSliderScrollerX2, getTrackSliderScrollerY2, setTrackSliderIsMoving, getTrackSliderPos, setTrackSliderPos.
  • Renamed setScrollbarIsMoving to setEditorScrollbarIsMoving.

New in Radium 4.9.14 (Aug 7, 2017)

  • Import MOD: Fix attack and release values for the instruments. Bug introduced in 4.9.9.
  • Fix program freeze on OSX when scanning plugins and a realtime message pops up.
  • Windows: Make sure splash window is on top when starting up.
  • Preferences: Changed "rescan directories for potential plugins" to "Look through directories for potential plugins".
  • Mixer: Update instrument GUI when turning on/off bypass. Fixes instrument gui sometimes being grayed out even after bypass was turned off.
  • Keybindings: Make python code inside asterisks work when not having write access to the binary directory, plus fixed other related issues.
  • Keybindings: Fix overriding keybindings. It was a little bit buggy.
  • Audio: Fix plugin scanner when home area path or plugin filename path has non-ascii characters
  • GUI: Various work to make message windows functional when a modal window is open.
  • GUI: Fix various crashes when a parent window is deleted.
  • Scheme: Upgrade s7 interpreter.
  • Help: Set font to "arial, sans-serif". Looks better on OSX than the default web fonts.
  • Help: Make Ctrl + scroll wheel zoom in/out and Shift + scroll wheel scroll left/right.
  • Build: Remove a couple of non-existant dependencies from the makefile.
  • Editor: Fix message about "Track #x not existing" when doing mouse operations.
  • Mixer strips: Fix mixer strips configuration window sometimes showing up on top of the wrong window.
  • Mixer strips: Adjust minimum width of mixer strip.
  • Mixer: Make a/b include connection gains and connection on/off.
  • Build: gcc4 compilation fixes
  • Mixer strips: Buttons to enable/disable plugins and sends.
  • Add support for LLVM 4.0.1 in faust2. From https://github.com/grame-cncm/faust/commit/63d1d8f06f3c6ae22674f4dc8b16a64232432779 (Teteros)
  • Event scheduler: Fix code doing undefined behavior.
  • Audio: Improve solo situation a little bit (it's not perfect yet). Now it also solos input-connected and output-connected instruments within a non-branching graph. TODO: Turn on/off connections appropriately when solo-ing.
  • Scheme: Eval code from s7webserver in the global environment
  • Editor: Immediately gray/ungray the editor when it gets/loses keyboard focus
  • Web: Make Ctrl+F search and F3 repeat search.
  • GUI: Make F11 work on all windows.
  • Editor: Show open/closed hand mouse pointer types when moving the scroll bars.
  • GUI: General fix for the mouse cursor sometimes being stuck in the wrong shape.
  • Mixer strips: Some gfx tweaks.
  • Made it possible to configure the border color around current instrument in the modular mixer and the mixer strips.
  • GUI: Fixed rare crash in the requester.
  • Scheme: Run code received by the s7webserver through the "FROM-C-catch-all-errors-and-display-backtrace-automatically" function. Necessary to avoid crash if s7 runs in a custom exec and we hit an exception.
  • Mixer strips: Add undo when renaming instrument.
  • Mixer strips: Reorganize popup menu a little bit
  • Mixer strips: Add "Set as current instrument" and "Help" options.
  • Mixer strips: Removed a superfluous "info" option (there were two of them).
  • Mixer strips: Paint a green border around the current plugin/send instead of paint everything with a bluish transparent color.
  • Mixer: Disable replace/copy/cut/delete/save options in the popup menu for permanent instruments since we aren't allowed to do these operations on permanent instruments anyway.
  • Mixer strips: Paint sink sends as a send, and not a plugin. I.e. show the arrow on the left side.
  • Mixer strips: When deleting a sink send (for instance a send to "System out"), only delete the connection, not the instrument itself.
  • Mixer strips: Always show "Main pipe" in the bus area.
  • Edit: Show message about missing range when trying to transpose range without a range.
  • Fonts: Update main window lower tab size after changing system font.
  • Plugins: Add VST3 and AU plugins to favourites.
  • GUI: Reset mouse pointer type when it is moved to a different widget. Fixes open hand mouse pointer stuck over the Edit tab and other situations.
  • API:
  • Add optional "default_value" argument to the requester functions and added some code to prevent someone from closing a requester while it's being used (which causes crash).
  • New functions: isDoingRequest, gui_getEditorGui, getAudioConnectionEnabled, setAudioConnectionEnabled, undoAudioConnectionEnabled, gui_getParentGui, gui_drawEllipse, gui_filledEllipse, openExternalWebBrowser, gui_activate
  • Keybindings:
  • F5: show/hide editor
  • F6: show/hide playlist/blocklist
  • F7: show/hide mixer
  • F8: show/hide sequencer
  • F9: show/hide instrument
  • F10: show/hide edit

New in Radium 4.9.12 (Jul 28, 2017)

  • Documenation: Move things from the help menu into the documentation portal.
  • Gui: More work to improve issues related to window hierarchy.
  • Windows32: Fix instrument name displayed as "(null)" in the progress window during loading. Lots of related bugs fixed as well that could have caused bugs on all platforms.
  • GUI: Fix the "hide" button not always working in the message log window when running a modal dialog.
  • GUI: Fix a possible crash when parent of message gui is closed.
  • Audio: Scan plugin in separate process. A buggy plugin won't crash radium anymore when scanning a buggy plugin (at least not normally).
  • Plugin Manager: Fix bug that made scanning not always work quite correctly plus that it caused a "Gui #xxx closed and can not be used" error message.
  • Editor: Fix the "invert pitch" function.
  • Html viewer: Let Alt+left open previous page, Alt+right open next page, F5 reload, and Ctrl+R reload
  • Documentation: Created a "help portal" with some inital content.
  • Documentation: Updated keybindings.help.
  • Edit: Add keybinding tool tips to the quantization buttons (range/track/block).
  • Edit: Show message about missing range when trying to run a function that operate on ranges.
  • Keybindings: Use Right Shift instead of Left Shift to transpose note one octave up or down.
  • Keybindings: Use the 7 key to expand range and block.
  • Edit: Removed "Under construction" and the "More" tab from the main window tabs. Although it's still under construction, it doesn"t look so frail anymore.
  • Edit: Add new functions to randomize pitches and velocities.
  • Edit: Add buttons for expand/shrink pitch, expand/shrink lines, invert pitch intervals, reverse notes, glissando, and creating polyphonic track.
  • Edit: Brushed up the "Transpose" tab (GUI tweaks + write keybindings on the buttons).
  • API/GUI: Let WebView get keyboard focus.
  • API/GUI: Let standalone windows get keyboard focus when opened.
  • Editor: Fix crash/freeze when using the glissando function on microtonal notes.
  • Player: Don't schedule notes that have negative pitch values. (Negative pitch values can happen when using the note duplicator.)
  • Render: Don't crash if trying to render a note value outside legal range.
  • Fix error messages not showing when keybinding or menu configuration files couldn't be parsed..
  • Fix error messages not showing when import XM failed, import MOD failed, and when import MIDI file failed.
  • Preferences: Made the play cursor type options clearer.
  • Jack Transport: Fix starting to play from a new position. Earlier the program started to play at the current position instead since we didn't wait for Jack to finish moving the cursor.
  • Audio: Make sure last value in a sequencer automation is sent out. This bug was especially notable if the second-last node was non-gliding.
  • Audio: Send correct init-song effect values when a node is non-glide.
  • Audio: Send correct automation values when starting to play in the middle of a song. I.e. the effect values that the instruments would have had if starting to play from the beginning.
  • API/setPitch: Dont allow higher pitch values than 127.
  • API: gui_setToolTip, getKeyboardBindings, getKeyboardBinding, getQualifierName.

New in Radium 4.9.9 (Jul 19, 2017)

  • Gui: Fix strange behaviors caused by keyboard events not used by Radium being sent back to Qt.
  • Audio: Fix the XI instrument loader, which could have failed now and then, depending on the mood of the C compiler. This might, or might not, have been a problem in some past releases. In technical fairness, it should have failed in 50% of the releases, but I can't recollect that it has ever happened. It fails in gcc 7 though.
  • Audio: When playing a song from the beginning, all effects in all audio instrument are reset to the state it had before new values were set by automation. (MIDI instruments have always done this. I've forgotten to implement it for audio instruments, until now.)
  • GUI: Stop drawing the automation values in the sliders when setting a new value manualy. This way we always know the current value of an effect by looking at the slider: If the automation value is painted, the automation value is the current value, and if not, the slider value is the current value.
  • Editor: Tweak bottom bar and reltempo positions.
  • Build: Compile with "-no-strict-aliasing" since there is lots of code that I think could break without it.
  • Audio: Fix bug that caused values set by automation to be saved to disk.
  • Audio: Always set correct volume when enabling any of the following effects: Volume In, Volume, Pan, Dry/Wet. Earlier, wrong effect was set if automation had changed the values while the effect was disabled.
  • Audio: Change mute into muting "Volume In" instead of "Volume" when the sound object doesn't have any output channels.
  • Editor: Create undo when pressing return to add or edit notes and pitches.
  • Menus: Don't start to navigate the main menus after pressing e.g. Left Alt + X. (The main menus should only pop up if pressing the Left Alt key alone.)
  • GUI: Fix strange focus behavior when using combo boxes. (There are lots of combo boxes in the MIDI instrument widget)
  • Menus: Fix keyboard focus after pressing the Escape key to close the main menus.
  • Mixer: Workaround for a Qt bug causing mouse click not to work right after a custom exec have been triggered by pressing the mouse button, for instance after trying to delete a bus.
  • GUI: More fixes to make sure things are repainted when running a custom exec, at least when it's safe to do so.
  • Log window: Make it possible to click html links.
  • Sequencer: Only repaint the sequencer track the node belongs to, not all tracks.
  • GUI: Wider borders and wider space between widgets in the async message dialog.
  • Internal: Reorganize code to better handle synchronized windows popping up at inconvenient times.
  • Editor: Render pianoroll of the rightmost visible track even when the note lane isn't visible.
  • Editor: Fix block tempo multiplier slider sometimes drawn with the wrong colors.
  • Editor: Don't change current track when mouse pointer is outside the editor.
  • Editor: Fix general flickering in the non-opengl parts. (Bug introduced a couple of releases ago.)
  • GUI: Don't repaint everything when pressing the up or down key. (One of many situations where it is not necessary to repaint.)
  • Sequencer: Turn off repainting-every-5-seconds-just-in-case hack. Not necessary anymore.
  • GUI: More work to avoid widgets not being repainted when running a custom exec.
  • Editor: Fix instrument names not always being displayed completely in the track headers when the text is getting closer to the right edge of the editor.
  • Sequencer: Only repaint when necesessary when moving the mouse cursor in the editor or the sequencer.
  • Mixer strips: Tweak volume requester gfx.
  • Mixer strips: Display "0.0" instead of "-.0.0" in the volume display.
  • GUI: Don't hide tracker headers, block tempo slider, and so forth, when running custom exec.
  • Mixer strips: Write "New volume for ... (now ...dB):" in the requester when clicking the volume text. Earlier, the requester could have been confusing, especially if opened because the user clicked randomly in the mixer.
  • GUI: More work to ensure program has keyboard focus when starting up.

New in Radium 4.9.6 (Jul 10, 2017)

  • OSX: Fix menu fonts.
  • GUI: When changing system font, don't change customly set fonts.
  • Editor: Don't cancel range when changing LZ.
  • Editor: Also expand/shrink swing when expanding/shrinking.
  • Editor: Make it possible to expand/shrink by a fractional factor, for instance to shrink 4 lines into the space of 2.5 lines.
  • Editor: Range can span any area. It is not limited to start and stop at line anymore.
  • Sampler/Fluidsynth: Option to remove bookmark when informed about a non-existing bookmark directory.
  • Help: Add info about copy/cut/paste to fxtext.html (it's a nice feature that is not too obvious to find just be trying and failing.)
  • Editor: Fix copy/paste/cut first fx track. Before this commit, and after swing-per-track was implemented, we copied/pasted/cut the swing track when trying to cut/copy/paste the first fx track.
  • GUI: Make sure requester dialogs are wide enough.
  • Mixer strips: Don't create a separate mixer strip for plugins that has been added after a mixer strip window has opened. Bug introduced in 4.9.5.

New in Radium 4.8.0 (May 10, 2017)

  • Various fixes to reduce flickering when opening windows
  • Open the main window at the centre of screen during startup. (On Linux, it often opened up in the upper left corner.)
  • Make sure all new windows are opened at the centre position of the parent window.
  • Fix remember geometry for the Preferences window
  • OSX: Fix window on-top-of hierarchy. Turned out QWidget::setParent() doesn't make windows always stay on top of each other on OSX (which they do on all other platforms). The workaround is a combination of tool windows and modal windows. The workaround behaves approximately the same way and is applied to all platforms.
  • Replace all use of usleep. May fix some bugs on windows, where usleep doesn't work if asking to sleep more than one second.
  • Show taller async message window initially.
  • Sequencer: Don't repaint when a non-async window is visible. This avoids blank sequencer graphics in some situations.
  • Set default button in message windows. I.e. when pressing the Return or Enter key, the default button is pushed. The default button is the rightmost one on Window and Linux (mostly), and it's the leftmost one on OSX. (It's the same button, but systems displays button order differently.)
  • Detect during startup if the jack server is malfunctioning, and kill it if it does. Don't just freeze Radium, as before. This also releaves the user from killing the jack server manually, which is a little bit complicated.
  • Mixer: Fix modular mixer height cut in half when pressing the "M" button two times.
  • Mixer strips: Fix gui leak for narrow-sized mixer strips. Two unused widgets were created every time a narrow-sized mixer strip was created or recreated, and they were never deleted. This could probably have taken up significant amounts of memory after a while.
  • OSX/Plugin manager: Workaround for non-working Return and Enter keys.
  • Show the "About" window asynchronously.
  • Don't crash if a plugin asks for timing information outside realtime audio thread. Also shows warning window if a plugin does this. This avoids crash after closing the "Moody Sampler" AU plugin.
  • Plugin manager: Many fixes.
  • Plugins: Many fixes to the way we load plugins.
  • API:
  • Reduce scheduling resolution from 90ms to 5ms. (Increases performance on some gui-related things.)
  • GUI: Optimize adding/removing rows to/from table. (Increases plugin manager performance)
  • GUI: Don't cancel various virtual methods (paint/resize/etc.) from running when a non-async window is visible. This avoids some of blank widgets when showing file requesters, etc.
  • GUI: Don't crash when deleting a table cell gui.
  • GUI: Clean up, make faster, and make safer, the way we store, lookup, and organize qwidgets. (It was possible to crash it before.)
  • addMessage: Call showMessage if the underlying scheme file that addMessage uses has not been loaded yet.
  • Removed the chartype. Can only use const_charnow.
  • New functions: gui_numOpenGuis. gui_hasKeyboardFocus

New in Radium 4.7.7 (Apr 30, 2017)

  • Store on disk the result of scanning a plugin, plus store a blacklist of plugins that crashed during scanning.
  • Fix problems changing A/B state that was loaded with the song.
  • Mouse: Fix mouse pointer position after editing in the editor
  • Fix keyboard focus in async popup menues
  • API: getMaxSubmenuEntries / setMaxSubmenuEntries

New in Radium 4.7.4 (Apr 24, 2017)

  • Mixer strips: 4X faster to create/recreate.
  • mixer strips: Fix freeze if several bus paths have common targets.
  • Fix mouse pointer position when editor is not visible. This fixes mouse pointer moving to lower right corner when editing sequencer automation.
  • Don't crash if failing to load a plugin when loading song.
  • Options to load and save single blocks and tracks. Instruments and automations are not loaded yet though.
  • Save instrument comments into .rec and .mrec files
  • shure -> sure (Teteros)
  • Make the vsync startup warning hidable (Teteros)
  • API: appendPaths, removeSchedule, getSoundPluginRegistry, populatePluginContainer, gui_addTableRows, gui_getNumTableRows, gui_getTableRowNum, gui_sortTableBy, gui_stretchTable, gui_setEnabled, gui_table, gui_addTableCell, gui_enableTableSorting.

New in Radium 4.7.3 (Apr 19, 2017)

  • Make sure all timing data is updated after loading song. Fix for weird behaviors after loading song.
  • Swing help text fixes.
  • Don't crash when changing global tempo and there is more than one block.
  • Option to enable sending swinging tempo to plugins. Default is off.
  • Option enable editor to swing along when playing. Default is on.
  • Swing help text.
  • Make sure standalone line requesters don't fall off the right part of the screen.
  • Scroll down when pressing DEL on an empty lpb/bpm/swing text entry.
  • Always start new bar at signature changes.
  • Swing: First-beat swing values are of the grayed-out type if not created manually by the user.
  • Upgrade s7.
  • Swing: Support swing for individual editor tracks.
  • Report during startup if the current version has been marked unstable.

New in Radium 4.7.0 (Apr 14, 2017)

  • Various fixes to prevent the s7 garbage collector from collecting non-garbage.
  • Refuse to compile if using clang

New in Radium 4.6.8 (Apr 11, 2017)

  • Some debug code to track down a bug in the sampler player
  • Upgrade s7. The previous version had a memory corruption.
  • Poor man's sample seek. Should work work fine for playing long samples without any type of loops or pitch changes. Check the "S" box in the plugin header to enable.

New in Radium 4.6.7 (Apr 10, 2017)

  • Mixer: Update volume slider in modular mixer when changing a/b.
  • Mixer: Fix a/b state after loading.
  • Don't stutter when undoing main bpm or main lpb.

New in Radium 4.6.6 (Apr 8, 2017)

  • Soundfile rendering: Fix rendering block.
  • Soundfile rendering: Option to set minimum resampler quality.
  • Soundfile rendering: Fix keyboard focus when finished editing the "post recording" value.
  • Less pause time when changing global BPM.
  • Continue playing range if changing global tempo.
  • Add mimetype support for .rad files. (Teteros)
  • Only let the left alt key operate main window menues if the main window has keyboard focus.
  • Ask "are you sure?"-questions, and so forth, in a new window, if the main window doesn't have keyboard focus.
  • Prevent stuttering when changing global bpm or global lpb.
  • Option to select random sample for all selected instruments. Keyboard shortcut: Left shift + R.
  • Sampler: Create undo point when selecting random sample.
  • Option to load song from command line.
  • Sequencer: Fix rare crash when zooming in too much while playing song.
  • Configure the color of all selected instruments simultaneously.
  • Add LLVM 3.8.1+ compat to bundled faust. (Teteros)
  • Add a .desktop file and more icons. (Teteros)
  • Fix misleading indentations in Juce. (Teteros)
  • A new song properties window in the project menu. Currently only has options to change accelerando and ritardando types.
  • New methods to calculate accelerando / ritardando
  • Add glide/hold options to the BPM track. I.e. not necessary to use the tempo automation track to gradually change tempo.
  • API: setRandomInstrumentSample, setRandomSampleForAllSelectedInstruments, getInstrumentTypeName, getInstrumentPluginName, getSelectedInstruments

New in Radium 4.6.4 (Apr 6, 2017)

  • Fix popup menu for instrument objects in the modular mixer
  • Song comment window: Change title from "Dialog" to "Song Comment" and don't open the window modally.

New in Radium 4.6.3 (Apr 3, 2017)

  • Fix removing BPM and LPB entries from the BPM track and LPB track.

New in Radium 4.6.2 (Apr 2, 2017)

  • Build: Compile with -O2 instead of -O3 for non-CPU intensive files to improve backtrace.
  • Mixer: Fix bug that could cause the Instrument widget to be positioned above the Modular Mixer widget.
  • Mouse: Make it possible to move the the editor scrollbar with the mouse.
  • Mixer: More work to avoid, and to track down why, the assertion reporter sometimes pops up (and undo/redo stops working) when releasing the mouse button. (It's a quite rare problem though.)
  • Fix tooltips for the BPM and LPB text input widgets.
  • Don't show assertion reporter when loading a new instrument preset and there are no preset files in the current directory.
  • API: Let getBlockLength, getSongLength, and lineDuration return double instead of float.
  • API: New functions: getCurrRealline, setCurrRealline, getNumReallines, getEditorScrollbarScrollerX1, getEditorScrollbarScrollerX2, getEditorScrollbarX1, getEditorScrollbarY1, getEditorScrollbarX2, getEditorScrollbarY2, getEditorScrollbarScrollerY1, getEditorScrollbarScrollerY2

New in Radium 4.6.0 (Mar 27, 2017)

  • Menus: remove "(under development)" from the mixer strips window entries.
  • Doc: Merge mixer and mixerstrips documentation into one page.
  • Menus: Add "Show Quantization and Track Monoization Window" entry to the windows menu.
  • Possible to press any key (not just return) to add signature when the cursor is placed in the signature track.
  • Fix pressing the DEL key to delete chance text.
  • No need to press return to add/edit numbers in the LPB and BPM tracks anymore. Instead, just write the numbers directly.
  • More attempts to avoid progress window flickering.
  • Minor performance improvement to Zita Reverb.
  • Mixer strip: Switch between wide/narrow mode when clicking the name of the current instrument.

New in Radium 4.5.9 (Mar 20, 2017)

  • Mixer strips: Draw blue color on top of sliders for the current instrument
  • Sequencer: Fix mouse handling when editor is not visible

New in Radium 4.5.6 (Mar 14, 2017)

  • VST: Fix saving FXB/FXP
  • Fix tool tip for the "half"/"full" buttons in the instrument widget.
  • Mixer strips: Draw a blue and thick border around the mixer strip for the current instrument.
  • Mixer strips: Change current instrument when clicking name. To switch between narrow and wide mode, right click and select/unselect "Wide". Clicking the name of the mixer strip of the current instrument changes wide/narrow mode, as before.
  • Mixer: Add an "I" checkbox to switch between putting the instrument widget in the bottom of the mixer, or putting the instrument widget in the bottom of the main window.
  • Mixer: Add a "W" button to show the mixer in a separate window
  • Mixer / Mixer strips: Various tweaks to reduce flickering.
  • MIDI: Ask "are you sure?" question if trying to make a recursive connection
  • Mixer: Clean up a/b states when loading song
  • Mixer strips: Update "send" values when changing a/b state
  • Mixer: Add an "M" button that switches between modular mixer and mixer strips.
  • API: getAllTemponodes/getAllLPB/getAllBPM
  • API: Changed "getSampleRate" to return integer instead of float

New in Radium 4.5.4 (Mar 4, 2017)

  • Mixer: Checkbox to show/hide connections.
  • Mixer: Apply volume/muting/soloing/bypassing changes to all selected objects.
  • Mixer: Update mixer object volume sliders when undoing.
  • Show arrow letter, not "=>", above the rightmost arrow in the instrument window.
  • Mixer: Popup menu options to unsolo/mute/unmute all objects, and options to solo/mute/unsolo/unmute all selected objects.
  • Mixerstrips: Update send sliders when a value is changed from another mixer strip.
  • OS X: Give up, and disable high CPU protection on this platform. It really seems like Apple goes to great lengths to make programs use 100% CPU in OpenGL applications when the window is not visible (i.e. they are not just transforming 'OpenGL Swap' into a dummy function, which would be stupid enough by itself, albeit managable). To illustrate how hard this problem is, the code in the JUCE library to work around the same problem doesn't work properly either, so in all JUCE OpenGL applications and plugins running on OS X, you are likely to see a little bit of graphics stuttering now and then caused by JUCE's high CPU protection logic. On most OpenGL applications, this is not a big deal, but in Radium, where there are very big movements and close interactions between user and OpenGL graphics, it's very noticable and annoying. A workaround may exist in OS X 10.9 and later, but I'm not sure I want to prevent Radium from running on OS X 10.8 yet.

New in Radium 4.5.2 (Feb 28, 2017)

  • OS X: Fix the 0,1,2,3,4,5,6,7,8,9 keys when using a french keyboard
  • OS X/sierra: Workaround for crash in qt when exiting program
  • Upgrade Visualization-Library. Fix for rare startup crash, especially on OSX.
  • Enable draw in separate process by default, and also force-enable it if it earlier had been excplicitly disabled.
  • Crashreporter: On windows, report crashes as crashes, not errors.
  • Don't crash crashreporter when showing assertion from a different thread than the main thread.
  • OS X: Fix system font on 10.12.
  • Use system font in the playlist.
  • Some debug code to try to track down an undo bug in the mixer
  • Make the "Quit" button in the system message window actually quit the program
  • Mixer strips: General speed up, plus fix ctrl to slow down mouse

New in Radium 4.5.0 (Feb 20, 2017)

  • OS X: Enable draw in separate process by default. Quick temporary workaround for OpenGL freeze problem.
  • Fix using left meta to force horizontal movement when pressing keyboard before mouse.
  • OS X: Use left alt instead of left meta to force horizontal movement. Left meta is already used to slow down mouse movement on OS X.
  • Updated keyboard modifiers in the Help -> Mouse menu so that they are correct for all three platforms.
  • Don't crash when selecting "Quit" after getting message that OpenGL is too old during startup.
  • Mixer strips: Various gfx improvements.
  • Mixer strips: Speed up rendering a lot.
  • Mixer strips: Menu options to show window with 1, 2, or 3 rows of mixer strips.
  • Mixer strips: Click name to switch between a narrow and a wide strip.
  • Mixerstrips: Fix full screen.
  • A general fix for popup menus not always working, especially in mixer strips.
  • Make the "ignore warnings and errors for two seconds" and "ignore warnings and errors for the rest of the program" buttons work again.
  • Preferences: Fix some usage of wrong font types.
  • Progress window: Should quit by itself now if Radium crashes (or is killed) while progress window is open.
  • Progress window: Remove flickering when printing new message. Works perfectly on Linux/Windows, but not on OS X, as usual.
  • Avoid rare deadlock when playing looped range.
  • Sequencer: Fix painting correct bar numbers when block tempo != 0.
  • Sequencer: Fix program freeze when painting bar numbers.
  • API: Renamed ctrlPressed to controlPressed. 'controlPressed' returns true if Ctrl is pressed on Linux/Windows, and if Cmd is pressed on OSX.
  • API: New functions: control2Pressed, gui_addPaintCallback, gui_update, hasWideInstrumentStrip, setWideInstrumentStrip, gui_toolTip, gui_drawVerticalText.

New in Radium 4.4.8 (Feb 11, 2017)

  • Audio: Make it optional whether to use buzy looping as synchronization primitive in the multicore scheduler. Buzy looping may cause CPU spikes if a plugin uses more than one thread to process audio.
  • More intelligent way to check if OpenGL uses too much CPU. On OSX the old way didn't work quite well since it seemed like the OS used a lot of time right after re-rendering the editor, which it also did, but not for so long that we needed to pause the rendering.
  • Removed the "Experimental feature" text from the auto-suspend and recalculate options in the preferences window. Those seems to work fine.
  • Mixer strips: Automatically scale font size, if necessary, so that we always see all text.
  • Added mixer strips help to the Help menu.
  • Add "Add automation to current sequencer track" option to effect slider popup menu

New in Radium 4.4.7 (Feb 8, 2017)

  • OS X: Let the Cmd key behave as Ctrl key again. This is an emergency fix since Ctrl+mouse click turned out to be interpreted as a right click on OSX. More work needed though.
  • Revert to multicore scheduler from Radium V4.4.4. The new one had CPU spikes.
  • Sequencer: Fix changing loop start position when mixer strip for current instrument is visible and on the left side
  • Cache sample directories.
  • Sequencer: Option to show bar numbers instead of time in the timeline.
  • Show loading sample directory progress status in the progress window instead of the editor, if the progress window is visible.
  • Disable painting when loading song. Less flickering, and hopefully also fixes a rare crash during startup.
  • Draw a tiny track header border when several tracks are merged together into one track header
  • Sequencer: Fix moving the navigation bar when the current mixer strip is visible and on the left side

New in Radium 4.4.6 (Feb 7, 2017)

  • Don't scroll editor when using the mouse wheel on various text fields, such as changing various ratios or a piano roll interval.
  • Fix tooltip for the piano roll header.
  • Fix a quite rare bug in mixer strip that prevented it from showing
  • Fix undo/redo when splitting a track into monophonic tracks
  • Add option to automatically split recorded tracks into monophonic tracks after recording.
  • Never swap OpenGL while creating or deleting a plugin or a plugin window. Could fix some rare crashes if using a semi-buggy GFX driver with plugins using OpenGL.
  • Option to turn off the high CPU usage check in the OpenGL thread.
  • Make sure the solo button in the mixer strips is updated when pressing the solo button in the instrument widget
  • Don't create undo when changing solo
  • Improved spinlock implementation
  • Many thread sanitizer fixes. Might fix subtle bugs.
  • Compile using boost 1.63 by default
  • API: numSelectedInstruments/instrumentIsSelected

New in Radium 4.4.5 (Feb 3, 2017)

  • Fix crash when loading song that has a sequencer track with no sequencer blocks.
  • Improve multi core scheduler somewhat. The improvement might not be measurable, but it shouldn't be worse than before. Still room for improvement.
  • Several thread sanitizer fixes. Could fix some subtle bugs.
  • Make it impossible to enable safe mode (it is not safe to enable safe mode).
  • Add c/c++ version and s7 version to about window.
  • Audio meters: Fix falloff speed. Don't falloff faster when there are more instruments.

New in Radium 4.4.4 (Jan 31, 2017)

  • Mixer strips: Don't set volume to 6Db if it's above +6 Db when showing mixer strip.
  • Fix bug causing assertion window to pop up when adding note with value 0 in the note text area.

New in Radium 4.4.3 (Jan 27, 2017)

  • OS X: Workaround for the OS failing to set normal threading priority on 10.12
  • Mixer strips: Make sure the windows are always on top of the main window
  • Fix a crash during shutdown
  • Draw green rectangle around mute buttons when the instrument is implicitly muted (i.e. muted because some other instrument is soloed)
  • Change audio multi core scheduler to buzy loop when waiting for new tasks. This increases audio performance, but also increases the overall CPU usage.
  • Audio recording: By default, save new audio files in a subdirectory of the song file.
  • Audio recording: Plug tiny memory leak.
  • Audio recording: Don't check in the realtime thread if the file path exists.
  • Mixer strip: By default, show the current mixer strip on the left side of the main window.
  • Sequencer: Fix sequencer automation when block tempo is not 1.0.
  • Preferences: Move some window related options from the "Various" tab to the "Windows" tab.
  • Mixer: Fix auto-position new mixer objects.
  • Add option to the Windows menu to show/hide current instrument GUI
  • Menu entry to show/hide current mixer strip
  • Preferences Option to show/hide current mixer strip during startup
  • Reorganize "Windows" menu a little bit
  • Build: Fix VST include path in the makefile
  • Show error message window if failing to parse keybindings file
  • Fix overriding keybinding, where the original keybinding only has integer arguments, while the new keybinding have at least one argument which is not integer
  • API: Rename instrumentActive to instrumentIsOpen,
  • API: Rename gui_is_open to gui_isOpen
  • API: New functions: schedule, hideInstrumentGui, instrumentGuiIsVisible

New in Radium 4.4.2 (Jan 25, 2017)

  • Don't un-mute an instrument when changing volume
  • Mixer: Don't create volume slider undo before actually moving the slider
  • Fix "Load" in the instrument widget and "Replace" for mixer strip plugins
  • Upgrade the S7 scheme interpreter

New in Radium 4.4.1 (Jan 22, 2017)

  • Mixerstrip: Implement ctrl-clicking mute and solo buttons
  • Mixerstrips: Fix F11 for mixer strips window, and only show full screen of the currently pointed at mixer strips window
  • Windows/OSX: Fix keyboard input for mixer strips windows
  • Sequencer: Don't crash when deleting instrument that has automation
  • Sequencer: Replace sequencer automation intelligently when an instrument is replaced. I.e. transfer system volume automation to new instrument, and so forth.
  • Made most popup menues async so that they don't block audio meters and so forth. Instrument selector is still synchronized though.
  • Added a little space to the left of the checkboxes in the popup menues.
  • Mixerstrips: Only show legal alternatives when replacing a send or a sink
  • Mixerstrips: Don't delete the old sink instrument when replacing, just disconnect it.
  • Plugin selector: Only enable plugins that fits. For example, if replacing an instrument that has both input and output connections, we can only replace it with a plugin that has input and output connections
  • Mixerstrips: Fix heigth so that it fits the window when horizontal slider is visible.
  • Mixer: Keep old position when replacing an instrument (bug introduced in 4.4.0)
  • API: Make sure cursor is always placed at the beginning when showing text input widgets (i.e. gui_line).
  • Never lose keyboard focus for the text input requester in the upper left of the main window.
  • Show single mixer strip for current instrument in the right part of the main window.
  • Mixerstrips: Add "Show GUI" and "Set current instrument" to the path popup menu
  • Mixerstrips: Use all available space for audio meters
  • Mixerstrips: Popup menu option to show instrument info
  • Mixer: Popup menu option to show instrument info
  • Mixerstrips: Fix replace plugin sink. Forgot to implement it in 4.4.0.
  • Mixerstrips: Include all instruments that you can send to when creating a new send. Bug fix.
  • Mixerstrips: Delete instrument when right-shift-clicking header name or anywhere inside the path
  • Mixerstrips: Option to configure instrument color in the popup menues
  • Don't enable reverb bus and chorus bus on new instruments
  • Mixerstrips: Sort mixer strip buses by connections so that the flow always goes from left to right
  • New API functions: gui_mousePointsMainlyAt, hasNativeInstrumentGui, getCurrentInstrument, setCurrentInstrument, instrumentActive, gui_is_open, gui_createString, showInstrumentInfo

New in Radium 4.4.0 (Jan 18, 2017)

  • Fix velocity pitch gradient colors when notes text is off.
  • Let chance 0 mean using previous chance for that instrument.
  • Add preferences option about whether to show playlist window during startup
  • Fix patch voice on/off when changing a/b/c/d/e/f/g/h
  • Fix Ctrl-key modifier on OSX. (I.e. don't use Cmd when slowing down mouse movement)
  • Sequencer menu: Make replace/clone also work on selected sequencer blocks
  • Sequencer: Fix moving blocks
  • Sequencer: Fix selecting/unselecting single blocks
  • Fix high CPU usage when using Intel GFX driver and Radium window is not visible. May fix high CPU usage if using AMD GFX card too.
  • Wait at least 1 second before turning off autosuspension graying for the mixer objects, to avoid flickering
  • Use same db2linear function in the mixer and sliders as in the mixer strips
  • Add decaying values to the audio meters
  • Change volume meter range from -70 -> +40 to -40 -> +35
  • Fix this information text: "a signal of at least 50db".
  • Linux: Fix running Radium if the full path contains space
  • Mixer strips window. A traditional mixer interface.
  • Add MOUSE_MIXERSTRIPS keyboard qualifier
  • Show playlist window by default when starting the program. It might make block handling less confusing for new users
  • Update mixer object graphics (if necessary) when calling changing instrument effects from the API.
  • API: Fix checking error and throwing exception when running Python.
  • Don't show assertion reporter if trying to add a note with illegal start and end values
  • API: Option to continue instead of throwing exception
  • API: Make it possible to paint on all types of gui, and rename canvas to widget.
  • API: make gui_addMouseCallback work on all gui types
  • New Api functions: gui_textWidth, hasAudioConnection, hasEventConnection, cancelLastUndo, showInstrumentGui, undoMixerConnections, deleteAudioConnection, deleteEventConnection, gui_addDoubleClickCallback, informAboutGuiBeingAMixerStrips, showMixerStrips, gui_setFullScreen, gui_isFullScreen, dbToGain, gainToDb, remakeMixerStrips, getAudioConnectionVolume, setAudioConnectionVolume, undoAudioConnectionVolume, getNumInputChannels, getNumOutputChannels, getInstrumentComment, setInstrumentComment, addAudioMeterPeakCallback, resetAudioMeterPeak, undoInstrumentEffect, gui_mixColors, gui_getBackgroundColor, getMinDb, getMaxDb, addEffectMonitor, removeEffectMonitor, gui_addCloseCallback, gui_setSize, gui_disableUpdates, gui_enableUpdates, gui_verticalAudioMeter, instrumentIsBusDescendant, gui_addLayoutSpace, gui_getX, gui_getY, gui_setPos, gui_getSystemFontheight, gui_horizontalScroll, gui_setMinWidth, gui_addResizeCallback, getInstrumentEffect, getAudioBusId, gui_scrollArea, gui_verticalScroll, gui_setLayoutSpacing, gui_setSizePolicy

New in Radium 4.3.6 (Dec 27, 2016)

  • Show message windows during startup, if necessary. Fixes apparent missing information about errors in keyboard configuration.
  • Don't save keybindings dictionary to file. Fixes keybindings in the menues if binary directory doesn't have write permission.
  • Add info about how to change keybindings to the help menu.
  • Always write "0.00 dB", not "-0.00 dB" or "+0.00 dB".
  • Make sure progress window positions and resizes properly.
  • Various tweaks to ensure Radium works and looks properly with larger system fonts.
  • Update sequencer immediately when editing notes.
  • Draw all pitch values in the sequencer.
  • Fix sequencer mouse handling when editor is invisible.
  • Color adjustments. The default colors have higher saturation + some minor stuff.
  • Fix minor sequencer rendering when doing smooth scrolling.
  • Use instrument color to paint sequencer block track background, and don't paint default sequencer block track background anymore.

New in Radium 4.3.5 (Dec 17, 2016)

  • Smooth sequencer scrolling. (can be enabled in the preferences)
  • If no sequencer block is selected, Ctrl+C copies the sequencer block under the mouse.
  • Protect statically stored scheme functions from disappearing
  • Plugins: Show warning window instead of trying to load incompatible plugin state, if state is incompatible.
  • Don't load invalid a/b state information from plugin state. (This means that previously saved a/b state information can be lost now and then when upgrading or downgrading Radium)
  • Fix a general program freeze introduced a couple of releases ago.
  • Fix memory leak. Very little memory was freed when loading or creating new song. (bug introduced a few releases ago)
  • Possible to automate note duplicator voice on/off.
  • Make sure sequencer cursor is always visible when playing song.
  • Loading/saving, copy/pasting, and undo/redo: Always keep same order for various types of editor nodes (e.g. notes, fx, velocities, etc.) when two or more nodes have the same time,
  • Fix unnecessary deletion in various situations when two or more velocity or pitch nodes have the same time position.
  • Scale bottom bar height based on system font height
  • Render last line as ranged when it is ranged
  • Fix a few usages of non-system font in the preferences dialog
  • OSX: Add some debug printing to track down why program doesn't start on sierra
  • Reorganize Window menu a little bit
  • Crashreporter: Send edited text, not original text.
  • Always position progress window on top of main window
  • Use system font size in the progress window
  • Allow use of Qt 5.5 on Linux if the file "kf5deprecatedwidgets.so" is deleted from the system.
  • Fix end pitch value when adding pitch to note
  • Only create whole note pitch values unless ctrl is pressed when adding a new pitch node to a note
  • Fix bug that in some situtaions caused pitch automation points to be deleted when moving a note up or down that contained both velocity automation and pitch automation
  • Fix import xm
  • Add qtbase5-private-dev to the list of ubuntu packages
  • Ctrl+J: Add options to move cursor to line and/or track
  • Various build and documentation fixes (Nil Geisweiller)
  • Fix status tex bar text when moving sequencer navigator
  • Option to ignore message windows for 2 seconds if a new message window pops up immediately after closing a message window
  • Fix the default track separator colors
  • S7: Don't allow any redefinition of global symbol during initialization
  • Improve compressor graphics rendering a tiny bit
  • Fix MIDI learn for solo
  • Fix statusbar text for sequencer
  • scheme: Show warning if redefining a global symbol
  • Upgrade s7
  • API changes:
  • deleteNote (same as deletePianonote 0)
  • hasRange/getRangeStartTrack/getRangeEndTrack/ getRangeStartPlace/getRangeEndPlace
  • handle error when note value is less than 0.001
  • Change order of arguments for setPitch
  • Change order of arguments for setVelocity
  • Replace all set*LogtypeHolding functions with set*Logtype functions
  • Let getPitchValue return 0 if pitch_end is 0
  • rename addFx to requestFx (because of nameclash)
  • addPitch/addPitchF/setPitch/setPitchF
  • Rename various create* functions into add*
  • Let createPianonote take Place as placement types instead of float
  • Let the velocity argument for addNote be a float and not an int
  • Remove getMaxVolume function.
  • deleteAllNotesInTrack
  • Let getGrid and getQuantitize return a Place and not a float
  • Removed deprecated functions getNotePlace, getNoteEndPlace, and setNoteEndPlace
  • let first argument to cutNote be a Place and not a float
  • Throw s7 exception in api functions. Get backtrace from where the error happened, and avoid getting several message windows popping up if something goes wrong.
  • getPitchValue/getPitchPlace/getPitchLogtype/deletePitch/ setPitchLogtypeHolding.
  • Replace isPianonoteLogtypeHolding with getPianonoteLogtype
  • Rename lots of *pitch* functions into *pitchnum*
  • Let getNoteStart and getNoteEnd return Place and not float

New in Radium 4.3.4 (Dec 8, 2016)

  • Switch keybindings for F8 and F9.
  • Don't show instrument widget when starting up.
  • Let F8 show/hide sequencer instead of playlist.
  • Don't show playlist window when starting up.
  • Don't allow moving sequencer blocks before time 0.
  • Sequencer: Let moving blocks have a different color than the selected blocks.
  • Sequencer: Make sure block positions stays the same when removing or adding a block that has a different tempo multiplier value than 1.0.
  • Sequencer: Fix moving several blocks when at least one of them has a tempo multiplier value other than 1.0, plus use the same skew value for all moving blocks.
  • Sequencer: Adjust when to swap the position of two blocks.
  • Fix ctrl-click to select/unselect sequencer block.
  • Always unselect seqblocks when finished moving.
  • Support Ctrl+X/C/V keyboard shortcuts in the sequencer.
  • Move several sequencer blocks simultaneously.
  • Fix swapping a seqblock when moving it to the left of a sequencer block with a size less than half than the one being moved.

New in Radium 4.3.3 (Dec 8, 2016)

  • Add Cut/Copy/Paste/Delete options to sequencer popup menu
  • Make ctrl-click select/unselect sequencer block
  • Ensure sequencer timeline isn't hidden after loading song
  • Make it possible to move sequencer blocks before previous blocks and after later blocks.
  • Disallow building Radium with Qt 5.5 on Linux because of a buggy KDE library which is automatically loaded.
  • Make mixer selection color configurable.
  • Update s7 scheme interpreter.
  • API: Various fixes for crashing or showing assertion reporter when providing an illegal index value.
  • s7: Write scheme function name in error messages, not the C function name
  • Select multiple sequencer blocks using selection rectangle to select several blocks at once, or ctrl-clicking to select/unselect.
  • Exclusively select when ctrl-clicking a mute/solo/bypass button in the mixer.
  • Only create one undo when moving a sequencer block between sequencer tracks.
  • Change solo behavior if two or more sound objects are selected. If two ore more sound objects are selected, solo will work on those objects instead of the instrument objects.
  • Ctrl+click an already selected sound object unselects it in the mixer.
  • Moving a sound object to the same position in the mixer doesn't create undo.
  • Clicking on a sound object button or slider doesn't make the object selected.
  • Moving a sound object to the same place doesn't cause assertion reporter to pop up in some situations.
  • Always let timeline triangles in the sequencer have the same width as height.
  • Fix various issues with sound file saver.
  • Show more warning information about the nouveau GFX driver.
  • API: Finish up the new gui functions.
  • Workaround for crash/etc. that could happen when using tempo automation on a splitted line.
  • Avoid some graphical glitches in the editor when restarting a loop.

New in Radium 4.3.2 (Nov 26, 2016)

  • Don't send pitch change messages when the value is the same as last time. Minor optimization + that it screwed up automatic portamento a little bit.
  • Always show warning during startup if VSync is turned off. It's most likely a mistake if it's turned off.
  • Sampler instrument: Automatic portamento effect. (I.e automatically glide between notes and pitches)
  • Change default behavior to not stop playing when saving song.
  • Make sure various information about Linux GFX drivers are not showed unless actually running Linux.
  • Add new option called "Glide to next note at mouse position" to the pianonote popup menu.
  • Sampler instrument: Options to select a random sample file (Accessible either by pressing the new "R" button, or by selecting "Select radium sample" in the sound object popup menu.)
  • API: Many new functions for creating GUIs.

New in Radium 4.3.1 (Nov 25, 2016)

  • Fix song tempo widget size after loading a song with a visible song tempo widget.

New in Radium 4.3.0 (Nov 23, 2016)

  • Add "Hide song tempo automation" option to song tempo automation popup menu.
  • Ensure graphics is updated when changing song tempo automation.

New in Radium 4.2.9 (Nov 23, 2016)

  • More fixes for open hand mouse pointer.
  • Fix high CPU usage when sequencer window is visible.

New in Radium 4.2.8 (Nov 23, 2016)

  • Write a warning in capitol letters next to the vsync option in the preferences. (Disabling vsync only makes sense using buggy gfx drivers.)
  • Sequencer looping.
  • Make sure the mouse pointer looks like a pointer when it is supposed to be a pointer.
  • Fix text cluttering in the sequencer timeline when using another system font than the default.
  • Make the range color alpha channel configurable.
  • Assign track MIDI channel to note when: 1. playing using MIDI keyboard, 2. Editing notes in piano roll, 3. Scrolling editor up and down with the arrow keys, and 4. When playing using the computer keyboard. Also add option to the preferences to keep original MIDI channel when using MIDI keyboard.
  • Use the system font height to determine sequencer dimensions, not the editor font height.
  • Send actual time to plugins. I.e. remove block tempo multiplication and song tempo automation out of the picture.
  • Add monitor refresh rate to the help->About window
  • Song tempo automation

New in Radium 4.2.7 (Nov 19, 2016)

  • Make fewer undo points when moving sequencer blocks
  • Attempt to lower file requester startup time on windows
  • Show sequencer grid graphically when moving blocks
  • Only use first sequencer track to define grid
  • Scrolling the mouse wheel down stops the player and sets cursor position in the sequencer.
  • Sampler: Don't change reverse value in real-time. I.e. already playing notes doesn't suddenly change between playing backwards and forwards.
  • Fix "Block Copy" and "Block Paste" in the menus
  • Fix semi-rare crash that could happen right after a sequencer is deleted or changed, for instance after loading a song.
  • Fix sequencer grid when a block tempo multiplier doesn't have the value 1.0.
  • Update note graphics in the sequencer immediately.
  • Configure instrument colors (select "Configure color" from the track header or mixer sound object popup menus).
  • Warn about all Mesa 10 Linux Intel GFX drivers during startup. It seems like Radium could crash at any time if using these drivers.
  • Possibly improve audio performance by reducing cache misses. Memory usage has decreased a little bit too.

New in Radium 4.2.6 (Nov 11, 2016)

  • Mouse: Don't bar-align the first block in the sequencer.
  • Mouse: Always move the sequencer blocks the same number of pixels.
  • Option to recalculate latency on the fly when turning on/off a bus connection. Saves a lot of CPU on songs with many instruments. This is probably just a temporary workaround for the CPU problem until a proper solution is implemented. Latency should not be recalculated when you turn on/off of a bus connection since it produces minor artifacts (caused by interpolation) and also causes minor temporary tempo changes (i.e. at least one beat will have a different length than the surrounding beats).
  • Fix mouse problems when moving sequencer blocks. A very common problem on OSX, but it has also been observed on Linux.
  • Fix rare assertion window popup when loading song.

New in Radium 4.2.5 (Nov 8, 2016)

  • Don't paste color when pasting block
  • Move sequencer blocks in the vertical direction as well as the horizontal direction.
  • Always hide sequencer window if instrument window is half or full size.
  • Let new blocks have 64 lines by default, not 70.
  • Mouse: Align sequencer blocks by bar positions in the sequencer track(s) above. Pressing ctrl (to finetune) prevents automatic alignment.
  • Update default sequencer colors.
  • Legalize sequencer block positions when timing has been changed.
  • Paint bars and beats in the sequencer.
  • Fix rare hang when loading song or protracker module.
  • Don't show assertion reporter if the user doesn't have physical jack output ports.
  • Always select the block when right clicking on a block in the sequencer.
  • Options to replace block under mouse with current/existing/new block, in sequencer popup menu.
  • Add "configure block" option to sequencer block popup menu.
  • Option to configure block colors. Block colors are also saved to disk.
  • Hide progress window when showing message so that it doesn't cover the message window.
  • Regularly make sure progress window is on top when open.
  • Various preferences gui adjustments.
  • Windows: Fix keyboard after Radium was brought to foreground again after being minimized by clicking the taskbar icon.
  • Include Linux Intel 10.3.3 driver in list of GFX drivers to show warning about.

New in Radium 4.2.4 (Nov 5, 2016)

  • Add options to the sequencer popup menu for deleting and inserting blocks.
  • Temporary fix to avoid tiny inaccuracies in the BPM value sent to plugins. Should fix some plugins from re-syncing.
  • Don't reset transport location when switching block while playing. (bug introduced in 4.2.17)
  • Fix quantitization on imported automation.
  • Tell plugins that we are in non-realtime mode when rendering sound files.
  • Add options to the sequencer popup menu for creating and deleting sequencer tracks.
  • Don't allow trying to set BPM or LPB to 0.
  • Avoid hanging note if receiving note on and note off at the same time from MIDI.
  • Fix note stop / velocity change / pitch change for notes that are scheduled to start in the future
  • Fix play note that has start time > 0 when playing notes triggered by MIDI or computer input.
  • Don't multiply tempo with the block tempo multiplier of block #0 when pausing.
  • Unique block colors in the sequencer.
  • Various sequencer navigator GFX tweaks.
  • Option to lock juce when swapping opengl. Might prevent some plugins from crashing when opening native GUI.
  • Minor pitch line GFX tweak.
  • Tweak sequencer "piano roll" painting.
  • Ensure scheduler is really cleared before starting to play. Should prevent the assertion reporter from popping up in some situations.
  • Ask VST3 and AU plugins for audio tail length instead of using default value.

New in Radium 4.2.3 (Oct 31, 2016)

  • Switch editor block when clicking a block in the sequencer
  • Draw blue border around current block in the sequencer
  • Pd: fix a bug that happened when loading long lines. The bug could for instance cause mininum and maximum slider values to be lost.
  • Fix the functions for selecting next and previous playlist position. (ra.selectNextPlaylistBlock and ra.selectPrevPlaylistBlock)
  • Fix play song from current position
  • Fix a scheduling bug that sometimes caused events to be scheduled at the wrong time.

New in Radium 4.2.2 (Oct 31, 2016)

  • Make mixer object peaks less invisible for instruments with more than 16 channels
  • Print jack samplerate in the about window
  • Fix automation from other instruments in a track (bug introduced in 4.1.7)
  • Fix GUI lockup which could happen if more than one special type of GUI element asked for keyboard input simultaneously and/or more than one input requester window was visible.
  • Upgrade to Juce 4.2.4
  • Some emergency scheduler fixes. Some things still not working.
  • Always draw the tiny pitch lines. Didn't always see if the notes continued playing into the next block before
  • Fix unnecessary drawing when velocity has height 0. Also avoids a divide by zero assertion in debug mode.
  • Fix possible freeze in automation scheduler
  • Fix a couple of memory corruptions when using the MIDI instrument.
  • Started work on a vertical timeline sequencer. More than one sequencer track is supported, but only one is visible for now.
  • Add 64 bit integer type to the API
  • Fix semi-rare scheduler crash(es) when doing pitch and velocity operations.
  • Fix a division by zero occurence in the Editor renderer.

New in Radium 4.2.1 (Oct 15, 2016)

  • Update block play positions in the playlist after changing a block length. (Bug introduced in 4.1.7)

New in Radium 4.2.0 (Oct 14, 2016)

  • Use less time deleting plugins that have thousands of parameters
  • Remove a couple of situations where the assertion reporter popped up unnecessarily.
  • Fix loading songs that contain AU and VST3 plugins.
  • Disable changing presets for VST3 plugins, at least for now since it's not working.

New in Radium 4.1.9 (Oct 13, 2016)

  • Play block when selecting a block in the block selector. It didn't work before when playing song.
  • Warn about old Intel Linux GFX driver during startup.
  • Reorganize the instrument header buttons.
  • Don't load a VST3 plugin when you meant to load the VST plugin with the same name, plus 5 other similar situations. I.e. set the type name of a VST3 plugins to "VST3" (not "VST") and the type name of audio unit plugins to "AudioUnit" (not "VST").
  • Various minor VST/VST3/AU fixes.
  • Fix various player bugs introduced in 4.1.7.
  • Support VST3 plugins under Windows and OSX, and AudioUnit pluins under OS X.

New in Radium 4.1.6 (Sep 27, 2016)

  • Don't fill up undo log when adding undo for all effects of an instrument.
  • Don't delete old song when importing MIDI, just put the midi data into a new appended block.
  • Add "reset" option to the a/b testing buttons when right clicking one.
  • Mixer a/b testing
  • Fix bug that sometimes caused player not to restart after undoing or redoing.
  • Update s7 scheme interpreter to latest version.
  • Keyboard shortcuts and menu entries for copy/paste/cut/delete mixer objects
  • Fix solo for instruments that have input event connections.
  • Add "Turn off solo for all instruments" entry to the Solo/Mute menu
  • API: Make the setInstrumentEffect function work on any instrument, not just the sample player.
  • Fix importing midi (and calling the "setNumLines" api function) while playing.
  • Mixer: Remove the "Zoom in" and "Zoom out" buttons.
  • Mixer: "Reset Zoom" -> "Zoom".
  • Mixer: "Show CPU usage" -> "CPU"
  • import mod: Fix looping when looping from last line of pattern

New in Radium 4.1.5 (Sep 22, 2016)

  • MIDI instrument: Fix bug that caused midi channel 2 to be send out at channel 3, channel 3 to be sent out at channel 4, and so forth.
  • Option to assign MIDI channel to track. Can be convenient for some VST instruments. Ignored by the MIDI instrument.
  • Display MIDI channel 1-16 instead of 0-15 in the MIDI messages instrument. (Radium has always used 1->16 for MIDI channel.)
  • Paint solid bars for the peak meters in the mixer, not just single lines.
  • Let the MIDI messages plugin receive notes from the editor, and add channel value to the notes.
  • Fix sliders in the FaustDev instrument when pressing "half" or "full".
  • Still show automation values in the sliders after selecting "half"/"full".
  • Don't open the window informing about new versions modally since this can block starting up the program if another window opens on top of it.
  • Fix peak colors when db > 0 (i.e. show yellow and red too, not just green).

New in Radium 4.1.3 (Sep 13, 2016)

  • Hide splashscreen if showing a message during startup.
  • Always autosuspend buses, pipes, patchbay instruments, and the sampler instrument.
  • Buttons for doing A/B testing (A/B/C/D/E/F/G/H testing).
  • Don't autosuspend current instrument when not playing. (Annoying to look at flickering mixer objects.)
  • Add a close button to the MIDI learn configuration window.
  • Rearrange plugin parameters when changing size between normal/half/full. (Show less tabs in half or full mode).
  • Fix display of CPU usage for the current instrument when showing CPU usage in the mixer.
  • Don't write "Auto-suspended" immediately in the top of the instrument widget when instrument is auto-suspended. Use the normal cpu usage update interval. (Less flickering)
  • Never shrink the note duplicator widget. Always let it have the same size.
  • Fix saving a song which had previously been saved with embedded samples.
  • Show restart instructions when jack is not running properly.
  • Option not to stop playing when saving song.
  • Do autobackups even while playing. (Can be turned off in the preferences window.)
  • Never grey out editor when editing colors, even if the editor doesn't have keyboard focus.
  • Fix undo/redo for system effect parameters.
  • Thicker track borders.
  • Lighter default track border color.
  • Start/continue/stop playing when receiving MIDI start/continue/stop messages.
  • Fix some always-on-top-of-main-window issues.

New in Radium 4.1.2 (Sep 5, 2016)

  • Rename auto-bypass to auto-suspend.
  • Optionally show CPU usage per instrument in the mixer.
  • Fix MIDI input-related crash when deleting instrument. Bug introduced in 4.1.1
  • Let Notes added by MIDI input be polyphonic when shift is pressed.
  • Fix bug causing both note on and note off be registered as note on when a note was added from MIDI input.
  • Add inputs/outputs/latency/tail/time of last last activity to the instrument info box.
  • Grey out auto-suspending sound objects in the mixer, in realtime.
  • Various auto-suspend tweaks and bug fixes
  • By default, disable auto-suspend for zita reverb in new songs.
  • Instruments can optionally override default auto-suspend behavior.
  • Autoposition instruments in the mixer (again) when importing MOD.
  • Fix general buggy behavior when closing text line requesters.
  • Allow cancelling adding a new MIDI port.
  • Many bug fixes and tweaks for auto-suspend.
  • Show requester windows at mouse position.
  • Let Escape key exit editing number boxes

New in Radium 4.1.0 (Sep 2, 2016)

  • Add bypass button to native VST GUI windows
  • Add option to the preferences to disable always-on-top for VST GUIs.
  • Fix latency compensation when dry/wet value is less than 100%, or we are bypassing.
  • Timeskew: Optionally report latency for positive skew values. (Practical when testing latency compensation)
  • VST timing info: Ensure bar start value is correct when starting to play.
  • Add plugin latency compensation to editor events (e.g. note on / note off, automation, pitch, etc.) when a plugin with latency is input-connected.
  • Add latency compensation to VST timing data, if needed.
  • Fix semi-rare startup crash introduced in 4.0.8.

New in Radium 4.0.3 (Aug 15, 2016)

  • ix player pausing when using play cursor (noticable for instance when changing tempo while playing)
  • Option to render range to soundfile
  • Only show .rad files in file requester when saving song
  • Make alt+w/ctrl+w widen automation area(s) as well, not just the note area.
  • Attempts to fix reported startup crash using debian + OpenGL 2.0.
  • play range: Ensure nothing is played below the range. (It could sometimes happen before). There is still a little delay right before starting to play the range again (when looping), but this delay has been reduced significantly.
  • Fix program freeze that could happen if trying to play a very small range, block or song. (range/block/song length must probably be less than 5 milliseconds)
  • Very simple fx quantization. (Keep last value only)
  • Add "Add automation to current track" slider option
  • VST: Automatically switch tab when changing parameter in external GUI
  • Only disable keyboard autorepeat when playing samples.
  • velocity text: Dont show last velocity value if the previous node was non-glide. (to avoid unnecessary "xxx" values)
  • Windows: Remove "AltGr -> play block" from the menues since it often doesn't work.
  • The FaustDev instrument has been removed from the Linux binaries for now. Hopefully this makes the Linux binaries run on Ubuntu 16.
  • Workarounds to avoid crashes in the TAP reflector plugin, and possibly other TAP plugins.
  • Actually reduce crackling when playing an instrument for the first time if using very low jack buffer size, or the CPU is very busy. (It was only applied in the debug builds in 4.0.2.)
  • Include fftw3 libraries in the Windows and OSX releases. Many additional LADSPA plugins are loading now. Pitch shifters, etc.

New in Radium 4.0.2 (Aug 8, 2016)

  • Slider text: show value set by the user, not the current value. (The current value can be also be set automation).
  • Reduced instrument memory usage significantly.
  • Reduce crackling when playing an instrument for the first time if using very low jack buffer size, or the CPU is very busy.
  • Fix quick-selecting preset.

New in Radium 4.0.1 (Aug 4, 2016)

  • Ignore keyboard when the mixer has focus
  • Ignore keyboard when the blocklist or playlist has focus
  • Support drag-dropping audio files
  • Support drag-droping preset files
  • When selecting "Load preset" in the mixer, or "Load" in the instrument widget, a popup menu is show with the existing presets in the last used preset directory, plus an option to load a preset from a different directory.
  • MIDI learn can also lear from input event connections.
  • MIDI Messages instrument: Fix CC values for the general purpose controllers. The instrument sent out 16/17/18/19 instead of 80/81/82/83.
  • Fix MIDI port name display in the MIDI learn configuration window.
  • Grey out editor when editor doesn't have keyboard focus.
  • Desparate attempt to find a workaround for rare OSX startup crash. (Please report if OSX still sometimes crashes on startup.)
  • Fix crash during startup on OSX when jack is not running.
  • Don't show assertion window when trying to load non-working preset file.
  • OSX: Don't wait for diagnotic report in the crashreporter when we show assertion instead of crash. Before this fix, the crashreporter window popped up at least 20 seconds after the assertion happened, and therefore a provided user description about what happened could be quite useless.
  • Fix double scroll wheel events, and possibly other types of doubly reported mouse events as well. (Qt5 fix)
  • Experimental option to prepare opengl data in separate thread. This helps making rendering smooth when there's lots of graphical data. Turned off by default.
  • Fix mouse drag not always working when dragging too fast or gfx is slow because of much graphical data. (Qt5 fix)
  • Increase rendering performance for blocks with many lines. Changing the LZ value shouldn't change performance that much anymore.

New in Radium 4.0.0 (Jul 26, 2016)

  • Automation record: Don't show assertion warning when trying (and failing) to add a new fx automation point at the same time position as an already existing fx automation point.
  • Thicker non-line-aligned beat lines. (0.6 pixels -> 2.3 pixels)
  • Fix memory corruption when rendering block with non-line-aligned beat lines.
  • Option to render multiple sound files, one for each instrument.
  • Fix memory corruption when using VST plugins. (bug introduced in 3.9.9)
  • Fix rare startup crash. (bug introduced in 3.9.9)
  • Fix crash when removing the system out instrument or loading a song where the system out instrument has been removed. (bug introduced in 3.9.9)
  • Reorganize project menu a little bit.
  • Fix note duplicator horizontal gui stretch.
  • Fix play cursor following. It didn't always follow.
  • Keep sample read position when switching from ping-pong to non-ping-pong while playing.
  • Fix a MIDI record position inaccuracy which could happen when switching to a block with a different length than the previous one.

New in Radium 3.9.8 Beta (Jul 18, 2016)

  • Turn off custom put-dialog-in-front system. Using the Qt::WindowStaysOnTopHint flag instead. (Less weird behavior when raising windows in front of others.)
  • Fix "Make track monophonic". It didn't handle velocities and pitch changes, and it didn't create undo data at the correct time.
  • Fix race condition when recording MIDI (fix rare crash).
  • OS X: Fix VST plugin keyboard focus for qt5.
  • Don't estimate monitor refresh rate when using qt5. The estimation is technically necessary since we need to know the refresh rate according to the sound card clock, and not the gfx card clock. But in practice it makes no difference since we interpolate the screen position anyway to avoid jumps. In qt5 there is a single function call to get the refresh rate without having to measure or dive into the OS APIs.
  • Faust: Allocate hash tables with malloc to avoid large .bss sections (This causes shorter garbage collector pause times.)
  • BDW-GC: Don't include data segments for dynamically loaded libraries. (This causes shorter garbage collector pause times.)
  • Use Qt::FramelessWindowHint instead of Qt::Popup for the progress window, to avoid locking up the X server on Linux.
  • Removed some unnecessary paint calls

New in Radium 3.9.7 Beta (Jul 14, 2016)

  • Fixed mod/xm import on OS X.
  • OSX: dont show dock icons for the helper programs
  • Clean up gfx update handling a bit. Should improve graphical performance.
  • Remove some pre-opengl gfx buffers that were not used. Using less memory now, and resizing might be noticable faster.
  • macosx: Enable full screen. Doesn't crash now, probably because of using Qt5 instead of Qt4.
  • Progress dialog when opening songs.
  • Option to save song with audio samples embedded. Works for the Sampler and Fluidsynth instruments. Could be useful when sending songs to other people or transfer songs between computers.
  • Add Reverse and Ping-Pong loop to the sampler instrument
  • Fix graphics for show/hide bpm track and tempo multiplier track
  • Double the number of effect columns before using tabs.
  • Tweak Patchbay gui a bit.
  • Adjusted tapiir gui.
  • Removed the custom Ctrl+C handler. Ctrl+C seems to work properly now without it.
  • OpenGL: Call glMakeCurrent / glDoneCurrent before and after rendering each frame. Before we only called glMakeCurrent during program startup. Don't know if it makes a difference.
  • disk: Give error message if the last step when saving a file (i.e. copying new file over the old file) failed.
  • Fix bug that could cause non-glide automation not to be played.
  • Force additional windows, such as the preferences window, to always display in front of the main window.
  • Upgrade to Qt5. It seems like the seemingly random OpenGL related crashes are gone now.
  • Some blocklist/playlist gfx tweaks
  • Don't ask for effect display value string when the effect is an on/off button (crash fix)
  • Fix pasting effects from other instruments
  • Tweak when to paint stipled automation node lines

New in Radium 3.9.6 Beta (Jul 4, 2016)

  • Update bus slider strings immediately when changing a bus instrument name
  • Fix freeze that could happen when pasting tracks and other situations
  • Fix crash when pasting block using a sampler instrument pointing to a directory with lots of samples.
  • Timeskew plugin. Like a delay, except that you can set negative values as well.
  • Plugin delay compensation.
  • Optimize rendering performance. Should especially be noticable on Windows 32 computers with slow disk.
  • Apply faust scroll wheel behavior to the mixer and editor as well, and document this behavior in the help menu.
  • Don't record CPU usage data for plugins that are not visible.
  • Draw missing horizontal lines to connect nodes where glide is set to OFF. This is not only visually better, but also necessary in order to show the last values without enabling text.
  • Update mute/solo/bypass buttons when automated
  • Upgrade BDW garbage collector to 7.4.4
  • More detailed information when getting "unknown effect number" error.
  • Add missing sustain pedal effect name handling in the Fluidsynth instrument.
  • Fix memory leak in FaustDev undo.
  • Fix splitting block while playing
  • Check errors when reading file from disk
  • Gray out selected objects in the mixer again.

New in Radium 3.9.5 Beta (Jun 27, 2016)

  • Draw a rounded rectangle around the current sound object in the mixer.
  • Various mixer graphics improvements.
  • Various thread sanitizer fixes
  • Finally fixed an old pesky race condition bug.
  • Updated package list for debian/ubuntu and fedora.
  • Remove xmessage, pygtk and libglade from bin/packages.
  • Mixer: Only open GUI if double clicking on the instrument name.
  • Mixer: double clicking is normally handled as two single clicks.
  • Add solo buttons to the sound objects in the mixer and the instrument window.
  • Change the Faust "Show C++" and "Options" buttons into checkboxes.
  • Make sure all dialogs remember geometry when they are reopened.
  • Fix loading LADSPA plugins.
  • Add options for LLVM optimization level and Faust GUI style in the preferences dialog.
  • Automatically increase slider font size when the instrument window is full size
  • Replaced the "maximum" checkbox with "half" and "full" checkboxes.
  • Don't crash if we can't read a song file.

New in Radium 3.9.4 Beta (Jun 23, 2016)

  • Show min/avg/max CPU usage for each individual instrument.
  • Fix rare divide by zero bug when displaying CPU usage.
  • 2Bar Demo Track by Tobias Lutzenkirchen included in the Project menu.
  • FaustDev instrument. Develop faust instruments inside Radium.
  • Instrument maximimize button.
  • Faust instruments GUI button. Only the blue style available for now.
  • Add separator between plugin and system effects in the effect popup menu.
  • Start counting tab pages from 0 (not 1) in the plugin effect widgets.
  • Don't play if pressing shift or altgr when the cursor is placed in a text field.
  • Load song: Inform user when the effect names of a plugin has changed and will be ignored.
  • LADSPA/Linux: Search for plugins in LADSPA_PATH (and bin/ladspa) before searching in the default locations.
  • Don't create undo data when loading song, and when exiting.
  • Ensure faust effect names are unique. Important when saving and loading songs since effects values are stored by name, not by index.
  • Make sure editor is updated when the instrument widget automatically adjusts its height.

New in Radium 3.9.3 Beta (Jun 10, 2016)

  • Fix crash when changing the pitch of a note
  • Don't show assertion window when a midi device name read from config file could not be found.

New in Radium 3.9.2 Beta (Jun 9, 2016)

  • Added some workaround code in an attempt to not crash if hitting an old bug (which I thought was gone).
  • Fix loading presets which were saved before 3.9.1
  • text: 0x80 is always 50% (instead of around 50.2%), and 0xff is now interpreted as 0x100. Setting an actual 0xff value is not possible.
  • Larger font for help texts

New in Radium 3.9.1 Beta (Jun 4, 2016)

  • Added "chance text", similar to velocity text, fx text, etc. Specify the chance of whether to play a note or a pitch.
  • Don't crash if trying to set centtext value on an end note
  • Fix the various show gui automations.
  • Fix old songs that was saved with "Gain (dB)" as volume effect name instead of "System Volume".
  • Add another voice to the note duplicator
  • Added three extra buses
  • Add highpass filter to equalizer
  • Add "chance" column to note duplicator. This can also be automated.
  • Add 16x16 and 24x24 patchbays
  • Change editor redraw mode on Windows and OSX to be similar to Linux. Might make a difference.
  • Don't show warning window if trying to switch solo mode on non-existing track
  • Fix keybindings in the menu for switching track on/off and track solo.
  • Prefix LADSPA and VST effect names with effect number to ensure effect names are always unique.
  • Some midi recording fixes. Might fix rare crashes.

New in Radium 3.9.0 Beta (May 31, 2016)

  • Make sure cursor is placed correctly when switching blocks
  • Don't show warning window when a vst plugin sends a MIDI sysex message
  • Fix block switch crash introduced in 3.8.9
  • Accept drag-and-dropped radium songs into the editor

New in Radium 3.8.9 Beta (May 31, 2016)

  • Check for for note name(s) under cursor first when finding note(s) to increase/decrease velocity of when pressing AltGr+left/right
  • pressing AltGtr+down/up jumps to next waveform start/end position when cursor is in the automation area.
  • api: cursorNextWaveform/cursorPrevWaveform
  • FX range: Fix copying automation for instruments with empty effect names
  • Fix adding new fx from another instrument when the track already has an fx with the same number
  • MIDI: Ask system to open default device when creating new midi instrument, instead of using the first one available
  • windows/midi: Use default device (instead of the first device) for output if the requested device could not be found
  • 32x32 patchbay instrument
  • Clean up MIDI recording code. More stable and accurately, and recording over several blocks should work better.
  • Fix potential undefined behavior when cutting track
  • Use JUCE instead of RtMidi for sending and receiving MIDI
  • More than one MIDI input port simultaneously.
  • Show most used plugins in the bottom of the pluginmenu. (All previously used plugins are shown in the "next" sub menues.)
  • Remove "keep left input", etc. instruments from the plugin menu (they take up space and the patchbay is better anyway)
  • Some assertions to try to hunt down ladspa initialization crash on osx
  • Ensure current line is legal when changing the LZ value
  • Send around midi channels in the note event system

New in Radium 3.8.8 Beta (May 23, 2016)

  • api: currentLine / setCurrentLine
  • Make scroll wheel behave as pressing up / down arrow key instead of scrolling up / down
  • Paint current connections in more distinct colors
  • Fix 1L1 key on apple keyboards. On ISO keyboards the 1L1 key has moved down to the ZL1 key. Dont know how to detect whether we are using an apple or iso keyboard, but mac users probably usually use apple keyboards.
  • OS X: Enable and fix crashreporter
  • Wait until opengl widget has updated before returning from gl_create_window
  • mouse: Fix editing lines below LZ
  • number of lines in block.
  • Another attempt to fix window reconfiguration crash on osx.
  • OS X: Fix keyboard focus in native VST GUIs

New in Radium 3.8.6 Beta (May 13, 2016)

  • Allow fx from other patches than the track patch
  • Fix playing note when editing in the piano roll for a MIDI instrument, and similarly, fix playing note when editing in the piano roll for an audio instruments that uses pitch instead of note id to identify which sound to turn off (e.g. fluid synth and VST instruments).

New in Radium 3.8.5 Beta (May 11, 2016)

  • Fix crash during midi instrument patchname undo. (Tito Latini)

New in Radium 3.8.4 Beta (May 11, 2016)

  • Play note when creating / moving note in pianoroll
  • api: playNote/stopNote, and replaced playRange with playRangeFromStart/playRangeFromCurrent
  • Make sure note stop event is sent out after note start event when the note is started and stopped at the same time
  • Always scroll down after editing if playing and using the play cursor
  • Restart player after doing undo/redo, if we were playing.
  • Ctrl key slows down slider movement whn moving the vertical compressor sliders
  • Fix fx when cloning instrument
  • Ctrl key slows down slider movement when moving volume sliders in the mixer
  • Show error message window if keybindings.conf has syntax error
  • Always read bin/keybindings.conf, then read ~/.radium/keybindings.conf if it exists
  • Add more undo information to crash log
  • Fix some range cut/copy/paste things

New in Radium 3.8.3 Beta (May 7, 2016)

  • Show message in editor when temporarily stopping player
  • In general, start player again if player had to be stopped before doing an operation.
  • Lowered undo block interval from 3 to 1/2 second. (computers have more memory now)
  • Revitalize PC_Pause and PC_StopPause
  • Disable faster render test code (which really wasn't faster, at least not noticably)
  • Render: Don"t crash if current track number doesn"t exist
  • Make sure "LZ" is updated in the window when the value changes
  • Zoom in/out exponentially
  • api: getLineZoomBlock, getBlockLength, getSongLength

New in Radium 3.8.2 Beta (May 5, 2016)

  • Fix reset bottom bar volume slider
  • Turn on GL pause by default for Linux users not using an nvidia card
  • mouse: Use track under mouse when turning on/off cent text / velocity text / fx text, not the track the cursor is placed on.
  • Upgraded to latest version of s7
  • api: msleep
  • Add Post-recording tools GUI to the quantization menu (in addition to the MIDI menu)
  • Fix inverted MIDI volume slider
  • Delete all MIDI instrument windows when creating new song. Also fixes crashes that can happen when loading new song.
  • Fix peaks in bottom bar volume slider, and don't crash if creating and deleting "System output" sound objects in a special order.
  • Don't do autobackup if the editor doesn't have keyboard focus
  • Obtain keyboard focus when showing popup menu
  • Can select MIDI instruments from track header again

New in Radium 3.8.1 Beta (May 5, 2016)

  • Track paste: Fix undo/redo if it was necessary to create instrument, and autoconnect to main bus if creating new instrument.
  • Don't try to replace mixer object if pressing shift while releasing right mouse button.
  • Refactoring automation/peak rendering in sliders. The program might be noticable faster and more stable now.
  • Update garbage collector help text in the preferences window.
  • Make automation/peak rendering in sliders visible also when value is at maximum.
  • Show "Please wait, loading samples directory ( / )" when it takes more than 1/2 second to load a samples directory in the sample browser.
  • Paint automation and peak in sliders with subpixel accuracy.
  • Make sure the bottom bar volume peaks points always show peaks of a "System out" object, if one exist.
  • Popup menu: Fix selecting entries with same name. (Fixes the bug that caused instruments to be cloned when trying to select instrument for a track.)
  • Bookmarks for the sample instrument sample browser.
  • mouse: "Apply tempo" option to popup menu when right clicking the block tempo multiplier slider
  • api: getSignature/getLPB/getBPM/getTemponodePlace
  • Option to turn off GL pause (plus perform a GL pause when opening a popup menu, which I had forgotten). Also turn off GL pause by default now, since it's probably (i.e. hopefully) only necessary if using older AMD or Intel drivers on Linux.
  • Save note duplicator data + forward events into preset files, plus clone these data when cloning instruments
  • Refactor audio instrument creation / deletion / etc. Major change. Radium should be more stable when creating and deleting instruments.

New in Radium 3.8.0 Beta (Apr 25, 2016)

  • Don't crash if deleting jack or pd plugin (bug introduced in 3.7.9)
  • Add filename/linenumber/etc. to undo entries, and add undo entries to crash log.
  • VST: Print unit in Radium sliders
  • VST: Don't crash when parameter string provided by the plugin is garbled.
  • OS X: Fix loading VST plugins with mismatched plugin name and library file name. (And don't abort during startup.)

New in Radium 3.7.9 Beta (Apr 24, 2016)

  • Fix for VST plugins that have other files in Contents/MacOS/ than the plugin file itself.
  • Many band aids for various problems caused by running timers in instrument windows after the plugins have been deleted. Peaks and automation indicator lines on top of the sliders are not updated after undo or redo now, but it will be fixed later.
  • Code cleanup
  • api: many new functions and fixes for instruments and undo/redo
  • Fix computer keyboard release key to stop playing note

New in Radium 3.7.8 Beta (Apr 21, 2016)

  • Fix fx text editing when cent text and/or velocity text is enabled
  • Sampler instrument: Remember loop on/off setting when changing sample
  • mouse: Don"t add new note or pitch if it"s placed on last legal position
  • Fix "scroll editor to line" function.
  • Sampler instrument: Fix loading of "Note adjustment" and "Hold".
  • Fix "Set instrument for track" -> undo -> redo.

New in Radium 3.7.7 Beta (Apr 20, 2016)

  • Update gfx as soon as possible when switching block while playing if edit mode is off. (test code, this shouldn't make a difference)
  • Color tweaks
  • Configurable check button color
  • Configurable line slider color
  • Configurable button text color
  • Configurable track slider color
  • Fix setting high note in pianoroll header. (bug introduced in 3.7.6)
  • Don't allow adding LPB or BPM with value 0.
  • Options for trying/using incremental garbage collector
  • Don't wait one second during startup
  • Don't redraw twice. (bug introduced in 3.7.6)
  • Don't crash when changing number of lines for a block with custom signatures
  • Mouse: Try to fix some warnings

New in Radium 3.7.5 Beta (Apr 16, 2016)

  • osx: Support the 1L1 key on non-iso keyboards.
  • playlist move up/down buttons
  • Make slider text color configurable
  • Don't change play position when play cursor is enabled
  • Scroll down when adding note, and playing, and play cursor is enabled
  • If trying to scroll past last line, jump to line 1 instead of stopping at last line.
  • Fix not smoothly scrolling the last line (bug introduced in 3.7.3)
  • Keep "glide" when pasting pitches.
  • Keep "glide" when pasting velocities
  • Switch glide mode in text tracks by pressing T
  • api: numSignatures/numLPBs/numBPMs
  • Possible to hide centtext track if notetext track is not visible
  • vst: Don't do debug printing in the callbacks
  • Fix vst sliders in radium might not always update if the slider was updated in the native gui. (The bug is quite unlikely to have ever happened though)

New in Radium 3.7.4 Beta (Apr 13, 2016)

  • OS X: Fix modifier keys when clicking mouse
  • Hack fixes for positioning leftmost track. We don't show half-tracks anymore on the leftmost part of the editor since its both confusing for the user and complicated to implement.
  • Fix deleting FX node by shift+right clicking
  • Handle corner case situation where if we play really extremely fast (probably a billion times faster than anyone ever will ever have use for), editor stops moving.
  • Make velocity text a bit more yellow/brown
  • Option to show key code in the editor. Useful when reporting non-working keys.
  • Cent text track. Enable by right clicking the track header. It is also enabled automatically if there are notes with cents not equal to 0, and other "text" tracks.
  • Don't paint pianoroll if it's to the left of the track area.
  • Recreate sound object if pasting a track using a deleted sound object (This also fixes crash if the track with the deleted sound object contained FX)
  • Use floats for transpose in the note duplicator. Step also changed from 1 to 0.25.
  • OS X: Disable full screen (since it makes the program crash)
  • player: Possible to change play position while playing
  • Copy audio instrument. (select "copy instrument" in the track header left clicking or pressing F12)
  • Remove some potential crash bugs by disallowing to replace/load permanent sound object (i.e. buses + main pipe)
  • Fix instrument assignment for track when selecting new audio -> load preset from track header
  • sampler: Set browser to the dir of the current sound file
  • Option to clear all muted tracks (under Edit -> Block)
  • range paste: Options to cut note at cursor (if any) and pasted notes at next note, and option to automatically scroll down after pasting
  • AltGr + left/right arrow changes all velocities of a note, not just the first velocity.
  • Only show Blowfish song in the Project menu on Linux
  • Fix focus issues for the line requester (e.g. when asking yes/no questions)
  • Show correct color for current sample file name
  • OS X: Workaround for various bugs in QColorDialog on OS X.

New in Radium 3.7.2 Beta (Apr 9, 2016)

  • Upgrade s7 scheme interpreter
  • Render: Use thin stipled lines for those vertical fx lines (instead of showing nothing, like now)
  • Show mixer help window in the help menu,
  • Right mouse button + shift is now the general way to delete things.
  • mouse: clean up popup menues a bit
  • Fix Dry/Wet and Pan slider display
  • Mouse: Add glide option to fx/velocity/pitch and clean up various tings
  • popup menues: Close popup menu after clicking on a checkable item
  • Only draw pianonote text if it is approximately inside the pianobar is the current pianonote
  • Show the "Please wait, saving backup" message in the editor, not in a popup window
  • Make automation colors more distinct
  • Show percentages in bottom bar for automation values (it's impossible to show the real values without doing some tricks we really dont want to do)
  • FX text (similar to velocity text). Enable by right clicking in the track header and select "FX text".
  • Only disable autorepeat if the editor currently has keyboard focus
  • Another attempt to fix resize
  • Make velocity/fx/mixer help windows non-modal

New in Radium 3.7.1 Beta (Apr 4, 2016)

  • Update scroll length in bottom bar when pressing Ctrl+1/2/3/4/5
  • Hide all pianoroll track headers from previously visible block when switching to a new block
  • Set correct x1 value for track slider
  • Behave correctly if trying to nest Undo_Open / Undo_Close calls. The user still gets a warning though (because there shouldn't be any situations where this is needed).

New in Radium 3.7.0 Beta (Apr 4, 2016)

  • Fixed various issues when recording MIDI
  • Show correct line when playing a block with a low multiplier value
  • Make sure editor is updated after resizing
  • Popup menu when right clicking on track header. (copy track / insert track / delete track / etc.)

New in Radium 3.4.3 Beta (Nov 29, 2015)

  • Various internal fixes
  • Exit radium if included file is not found (don't report it as an internal bug when radium is not installed properly)
  • Som xm import improvements

New in Radium 3.4.2 Beta (Nov 10, 2015)

  • Importing fasttracker modules (xm). Quite buggy for now.
  • Fix common crash introduced in 3.4.1
  • Fix internal ratio bug (less warnings, and probably bugs)
  • Speed up clearing the mixer. Loading a new song only takes a couple of seconds now.
  • Fix import large MIDI files in windows
  • crashreporter: Ask linux users not to report bugs caused by non-properly compiled versions of Radium
  • Don't crash if reporting assert failure before mixer has been initialized
  • Sampler instrument: Add vibrato effect
  • Updated info texts about various gfx drivers on Linux shown during startup
  • Remove common warning about non-existing tracks when switching blocks.
  • Import mod files. Pitch changes, vibrato and portamento effects missing.
  • Only write ":" in the track header when the trackheader only spans one track
  • Workaround for fx rendering crash
  • Linux: Don't report that crash was just an assert.
  • Pause GL thread when opening a QLineEdit widget. Should fix more crashes caused by buggy gfx drivers
  • Fix glitches in sound when opening a VST GUI while doing automation
  • Don't move end position of previous note automatically if pressing ctrl
  • Make it possible to move last position of a note below the start of the next note if pressing ctrl key
  • Don't limit where to set a pianobar note note start/end position based on prev/next note positions when the moving note has portamento
  • Don't crash when trying to move the start of a note before the start position of a previous note on a different subtrack
  • qjackctl: Import newest version from upstream
  • qjackctl: Fix autocomplete bug for the "Server prefix" text field
  • qjackctl: Show a "please wait, probing" window if probing audio hardware takes more than 1/2 second. Also made it possible to cancel probing if it takes really long time.
  • qjackctl: Only probe hardware once
  • qjackctl: Made hardware selector combobox wider
  • Don't show assert window if trying to load broken wave file
  • Undo/Redo: Move cursor back to where the undo event was made
  • Fixed keyboard handling for OSX
  • Windows: Don't show the qt context menu when configuring block
  • Don't start to navigate menues when using left alt as a modifier key (bug introduced in 3.3.5)
  • Fix QWERTY_F key (bug introduced in 3.3.5)
  • Fixed "-S" argument check for jack on windows
  • Always swallow EVENT_ALT_R to avoid Qt starting to navigate the menues
  • Ignore autorepeat keyboard events, except for arrow keys and page up / page down
  • Update editor graphics immediately when pressing the "Edit" button, and write "Edit On/Off" in the status bar, not "MIDI Input On/Off"
  • Fix open MIDI preferences dialog
  • Dont run the bubble example when pressing the 7 key
  • Dont crash if trying to load a soundfont preset name containing non-ascii characters
  • Clean up keyboard handling a bit, and remove unused setxkbmap build.
  • Don't reset undo if loading fails
  • Add "Mouse" and "Menues" to help menu
  • Fix crash when displaying peaks for soundfonts (and sometimes normal samples too) in the sampler instrument
  • Mainly use scancode to find key on Windows. Should solve various problems, for instance note order on non-qwerty keyboards
  • More organized color order
  • When right-clicking a pianonote, give option to either delete note, delete portamento, or add portamento
  • Also reset current color in the color dialog color when resetting color
  • Set normal mouse pointer when leaving editor
  • Made button color completely configurable
  • Diffentiate between error and warning, and make it clear that radium has NOT crashed when showing the assertion reporter.
  • Set assert reporter window title to "Report suspicious state" (not "crashreporter.exe").
  • Don't show assert window when trying to create a velocity after note end

New in Radium 3.3.4 Beta (Sep 1, 2015)

  • Adjusted minimum OpenGL version to 3.0
  • Initialize monotonic timer manually. Fix startup crash seen on 32 bit Windows.
  • Play range loop correctly when block tempo is not 1.0
  • Optional play cursor. Instead of scrolling the editor while playing, a red horizontal line moves down instead, denoting the current play position. Enabled when the "PC" button is pressed in the bottom bar.
  • Fixed some issues with the piano roll and locally zoomed lines
  • Lots of color configuration improvements

New in Radium 3.3.3 Beta (Aug 24, 2015)

  • Changed default editor font from Bold to Regular
  • Loop when playing range
  • Make it possible to see all popup menu entries if the number of them fills up the screen (the screen must be able to show at least 200 entries at once)
  • Don't use Qt3Support anymore
  • Preview samples in both left and right channel in the sampler instrument file browser, not just the left channel.
  • Improved font rendering, especially for white text
  • Enable multi core by default, using QThread::idealThreadCount() to find the number of CPUs.
  • Also update sliders when changing vst preset
  • Don't use saved keyboard octave when loading songs.
  • Optimized VST preset widgets updating
  • New color configuration dialog:
  • Not limited to 16 colors
  • Separated cursor and pianonote colors
  • Separated peaks and button colors
  • Possible to configure slider colors

New in Radium 3.3.2 Beta (Aug 15, 2015)

  • Possible to select VST presets in the instrument widget
  • Possible to change name of the current VST preset in the instrument widget
  • Don't crash when deleting vst plugin (bug introduced in 3.3.1)
  • Don't add undo if we couldn't create fx node or pitch
  • Don't assert crash reporter if trying to create an fx node in the first legal position, or the last legal position. Only show assert reporter if trying to create before first legal position, or after last legal position.

New in Radium 3.3.1 Beta (Aug 13, 2015)

  • Fix a copy-and-paste error which caused ppqPositionOfLastBarStart to always have the value 0.0. Might make a difference on some VST plugins.
  • Automatically uncheck the "GUI" button in the instrument widget if the native plugin gui was closed by closing the window directly.

New in Radium 3.3.0 Beta (Aug 11, 2015)

  • Don't inform more than one time about a newer version of radium
  • Removed comment in the preferences dialog about MultiCore being an experimental feature. It seems stable.
  • Pause the gl thread for a second when opening a new window or dialog. This might prevent some crashes caused by buggy gfx driver
  • Turn off modal windows by default for AMD/catalyst and Intel drivers on Linux since the pausing seems to fix the crashes

New in Radium 3.2.9 Beta (Aug 6, 2015)

  • VST: load/save FXB and FXP files
  • Fix note add bug. Dont make it polyphonic unless polyphonic is true. Bug was introduced in V3.2.4.
  • Update instrument widget after undo/redo (fix for non-moving peaks after undoing/redoing)
  • Try to fix cpu label width in Windows
  • Do automatic backup every minute if there are unsaved edits and radium is not playing. The backup interval can be changed in the preferences. It can also be turned off.
  • Replaced a bunch of calls to RError with calls to GFX_Message (RError was used the wrong way, causing uses messages to be reported as program errors)
  • Always show message if there is a disk error
  • Write to temporary file first if saving to an existing file to avoid destroying an existing file if saving fails
  • Tried to improve stability after jack has shut down. Still not working well though. User should not do anything else than save and exit if jack shuts down.
  • Fix plugin names in crashreporter when running multi core

New in Radium 3.2.3 Beta (Jul 20, 2015)

  • Fix qt version mismatch problem on linux binaries (and possibly windows and osx as well)
  • windows: Fix search for missing "-S" argument for jackd.
  • Replaced the use of QSemaphore with a native one based on this code: https://github.com/preshing/cpp11-on-multicore/blob/master/common/sema.h The previous code could in rare situations cause priority inversion.
  • Improved multi core a lot. Seems to work fine on Windows now.

New in Radium 3.2.2 Beta (Jul 18, 2015)

  • Show message during startup if there is a newer version of the program available.
  • Reorganized the edit menu a little bit
  • Moved show/hide line numbers configuration from the menues and into the preferences dialog
  • "CPU": Show min/avg/max instead of just max. Useful while figuring out multi core implementation. (it's not working that well on Windows yet)
  • Remove some unnecessary locking/waiting in the multicore scheduler (probably has very little impact on performance though)

New in Radium 3.2.1 Beta (Jul 18, 2015)

  • Another default color scheme. A little bit darker and white text.
  • Increase default font size from 10 to 11 to get less flickering when using a white-on-black color scheme
  • Make color schemes with white text on black background look better.
  • Shut down jack at the right moment. Avoids crash at exit.
  • Fix some mixer UI/GUI issues.
  • Changed various button handlers from "pressed" callbacks into "clicked" callbacks. Fixes buttons stuck in pressed state.
  • Removed the "scrollplay" and "window update" options from the menues.
  • Moved the MIDI preferences stuff from the MIDI menu and into the preferences dialog
  • Band-aid to avoid crash if song is saved with a patch that has no corresponding chip.
  • Tooltip for the quantization value in the MIDI post-recording dialog.
  • Also delete elinks when deleting all connections, not just the links. Fixes crash if redoing an undoing of a deletion of a sound object.
  • Improve multi core by running most cpu intensive sound objects first
  • CPU: Show the maximum CPU usage which was measured during the last second, not just the current CPU usage.
  • Include the custom qjackctl in the 32 bit windows binaries, not just the 64 bit binaries.

New in Radium 3.2.0 Beta (Jul 13, 2015)

  • Include a custom version of qjackctl in the Windows version. (i.e the "Jack Command" program). Hopefully there will be less struggle to start jack now since this version has better default options and some bugs fixed.
  • Ensure all source files are compiled with sse support (-mfpmath=sse -msse2) in the binaries.
  • Move scrollplay and the "multiply etc." option into the preferences dialog under a new "Edit" tab.
  • Save scrollplay in config file
  • Rename the default "Chorus" and "Reverb" buses to "Corus Bus" and "Reverb Bus"
  • Moved OpenGL, CPU and VST preferences into a new Preferences dialog.
  • Dont stop processing plugins if using too much CPU. Some plugins might overcompensate when they start again. Instead just stop playing, and if that didn't help, stop processing plugins as well.
  • Fix soundfile saving (don't stop because using too much CPU)
  • Show warning message if unable to acquire real time priority
  • Multithreaded audio processing (i.e. "Multi-core")

New in Radium 3.1.3 Beta (Jun 25, 2015)

  • Don't crash if reducing the number of lines in a block. (This also fixes some crashes when importing MIDI file)
  • Sort notes by pitch for same-positioned notes.
  • Handle gracefully if jack shuts down. (dont freeze program)
  • Fixed moving the start of a pianonote when the pianonote has pitch changes.

New in Radium 3.1.2 Beta (Jun 17, 2015)

  • Fix automation after loading song
  • Fix a memory corruption for plugins with more than 2 channels
  • Send automation messages when track is ON, not OFF

New in Radium 3.1.0 Beta (Jun 15, 2015)

  • Weak-link to the Jack library to avoid having to use the included version of Jack.
  • Don't crash if EL=0 and mousewheeling, plus behave like EL=1 if just scrolling and EL=0 ("edit lines").
  • Don't crash if pressing redo after loading a song.
  • Write notename above notes in the pianobar, and other graphical improvements.
  • Fix mouse issues when first pitch or first velocity in a note.
  • A new sound object called "Midi Messages" which can be used to send MIDI messages to other sound objects. Can for instance be used to send pitch bend changes to VST plugins.
  • Option to show linenumbers instead of bars/beats
  • Updated ladspa rdf info for the kokkinizita plugins.
  • Customly compiled LADSPA plugins for OSX, Win32, and Win64. The included plugin sets are now: calf, caps, cmt, swh, tap, and all kokkinizita plugins.
  • 64 binaries for windows
  • Include instructions on how to get audio from other simultaneously running ASIO programs in and out of the Radium mixer.

New in Radium 3.0.1 Beta (May 11, 2015)

  • Added a note that the qjackctl "Delay time" value might need to be increased on windows for the system to start up
  • Remove the "createVelocity: placement before note start for note #%d" error entirely

New in Radium 3.0 RC 22 (May 4, 2015)

  • Re-added calf chorus effect to new_song and demo song.

New in Radium 3.0 RC 21 (May 1, 2015)

  • Don't show error window if trying to create velocity before start of the first note
  • build: Check for the steinberg vst headers in check_dependencies.sh

New in Radium 3.0 RC 18 (Apr 27, 2015)

  • Fix crash in certain situations if changing instrument for a track with automation data, while playing

New in Radium 3.0 RC 17 (Apr 20, 2015)

  • Set octave 4 as keyboard octave in new_song.rad (not 10)
  • Fix scheduler memory handling. Crash fix.
  • Turn up main volume on the demo song

New in Radium 3.0 RC 15 (Apr 8, 2015)

  • vst/linux: Wait for child window to be created (fix for no content in vst window)
  • Fix memory corruption for plugins with more than 2 output channels when running in 32 bit mode, and more than 4 output channels when running in 64 bit mode.
  • Fix crash when the cursor is placed on the last line and changing the LZ value.
  • windows: Provoke crashreporter to kick in when selecting "quit" in the error/warning window
  • Minor improvement to the vst preferences dialog
  • VST: Make sure all timing info are defined
  • Remove support for CFLAGS and LDFLAGS. Seemed like the rtmidi (or possible) juce cflags somehow smitted over to radium somehow.
  • Fix non-realtime behavior in VST plugins. For instance, audio shouldn't stall for a short while anymore when opening the GUI.
  • Provide ppq value of the last bar start to VST plugins.
  • Hack juce into not compiling -march=native. Might fix issues with VST plugins on computers with AMD CPU or older intel CPU.
  • Don't show a show/hide track popup when right-clicking on the reltempo slider
  • Hide LPB track in new_song.rad
  • Draw cents on top of the peaks, not below.

New in Radium 3.0 RC 12 (Apr 2, 2015)

  • Show bars and beats instead of line numbers
  • Rearranged timing tracks order.
  • Don't show signature and lpb track in the demo song
  • Update lz tooltip
  • Protect all calls QFileDialog with GL_lock() (Linux Intel/AMD gfx card crash fix)
  • Show popup for selecting instrument when right-clicking in the fx area of a track
  • Update editor graphics when pressing or releasing mouse in the mixer
  • Don't crash if pasting track containing deleted instrument
  • crashreporter: Send OpenGL information
  • crashreporter: Try to make the text clearer about only sending one report per crash
  • Fix focus issues in the MIDI tools post recording dialog
  • Adjusted grid track width
  • More quantization options
  • Readd chorus effect to newsong.rad
  • Fixed bug in path resolver
  • Darker color for measure start beat
  • Import time signatures from MIDI files
  • More accurate tempo graph rendering
  • VST plugins: Never set isLooping to true since we never jump back in time
  • Improve the examples when adding/editing note/pitch
  • Add popup menues to show/hide the time tracks
  • Ctrl+J jumps to line
  • Time signature track
  • Hide some menu entries in win/mac that only works in linux

New in Radium 3.0 RC 11 (Mar 21, 2015)

  • Make the default track volume 100%. (MIDI recordings should not sound differently when played back)
  • Windows: Fix left alt key
  • Improved waveform graphics rendering. Improved quality and put a limit on cpu usage
  • Make the fluidsynth instrument support pitch wheel and control change when played directly from MIDI.
  • Fixed a few MIDI input issues
  • midi/alsa: Use SCHED_RR for input threads, not SCHED_OTHER.
  • Improved PPQ/BPM calculation
  • Crashreporter: Detect currently running plugin
  • Linux: Don't report that Nvidia users have AMD card.
  • Pause plugins for 5 seconds if using too much cpu
  • Show a "stop playing" button in the realtime warning message window.
  • midi: Send all raw midi data from input into current patch
  • VST: Send and receive raw midi, not just "note on"/"note off"/ "polyphonic aftertouch".
  • scheduler: Run events generated by RT_process functions functions right away if they belong to the current audio block
  • Make sure the sampleposition values genereted by vst plugins are in the legal range
  • Fix block tempo timing for events generated by a VST plugin (still not tested though, need plugin to test with)
  • clap: The "time" argument for RT_Process is already a "steady_time" variable. (not necessary to manually generate one)
  • Ensure event-producing soundproducers are run before the receivers
  • Pd: Fix MIDI velocity when receiving notes
  • Show warning/error message as popup window in RELEASE mode.
  • "About" window

New in Radium 3.0 RC 10 (Mar 10, 2015)

  • Render: Write "rec" in the track being recorded (MIDI that is)
  • Windows: Fix crash if get_windows_command_lines fails
  • MIDI post-recording tools dialog (make monophonic and quantitize functions)
  • Proper implementation of PlaceAdd/Sub/Mul/Div (actually just use s7 rational)
  • Protect g_times_storage with mutex (crash fix)
  • Use rational number for quantization (no rounding errors anymore)
  • Allow strings with just one number when reading rational string (grid/lz/quantization)
  • Add a "split track into monophonic tracks" function
  • Dont stop playing if adding a stop "note".
  • Function to make track monophonic destructively
  • Refactor UpdateReallines to avoid holding the player lock all the time
  • Dont let error window be a popup window. (Couldn't switch virtual desktop then)
  • Record MIDI note on/note off accurately while playing, as a MIDI sequencer
  • Use posix priority inheritance in Linux instead of boosting/unboosting manually + various threading/mutex fixes

New in Radium 3.0 RC 9 (Mar 10, 2015)

  • Don't use clang in Linux. SIGSEGV signal is not catched, and crashreporter is not working (tested both 3.4 and 3.5)
  • Update nouveau warning
  • Don't give additional warning about mesa if using intel or nouveau driver on Linux.
  • Use custom THREADING_get_priority/THREADING_set_priority functions for manual priority inheritance (crash fix when using MIDI input).
  • Update graphics when adding notes using MIDI input

New in Radium 3.0 RC 7 (Mar 2, 2015)

  • opengl: Update instructions for intel driver
  • opengl: Show instructions for AMD users during startup
  • Just show() the comment window, dont run exec() on it
  • Fix degree symbol in the pan slider (ascii->utf8 fix)
  • Don't freeze program if moving the cursor beyond the leftmost track when either the lpb, bpm, or the reltempo track is not visible.
  • OpenGL preferences dialog
  • Upgrade to latest visualization library from github (fixes for AMD, etc.)
  • Fix crash when undoing block while playing
  • opengl: Use TRIANGLES+shader to draw that gradient line above the note name instead of GL_LINE+textile
  • OpenGL: Dont use GL_LINES. Create lines from triangles instead. Seems like only nvidia draws GL_LINES decently.
  • opengl: Reduce number of contexts by OR-ing 15 into the color values. Doesnt seem noticable, and cpu usage is reduced significantly
  • Tweaked how the tracker cursor looks

New in Radium 3.0 RC 6 (Feb 23, 2015)

  • Replaced "" with "(click me)"
  • Give option to init LADSPA first if initing VST first and TLS is empty
  • Fix write access check
  • Don't resolve VST plugins during startup if initializing LADSPA plugins first. Just assume it is a VST plugin if the suffix is right.
  • Don't show GUI button for gui-less vst plugins. (and don't crash if double clicking it in the mixer)
  • Upgrade to latest visualization library at github
  • Fix keyboard handling in windows
  • Give warning and option to exit if OpenGL is older than 1.4.
  • Mouse: Fix one-track blocks
  • Clap plugin skeleton

New in Radium 3.0 RC 5 (Feb 9, 2015)

  • Workaround for empty TLS when loading VST plugins (Fix for u-he plugins)
  • Support VST shell plugins
  • Fix VST GUI close and re-open (not just show/hide window)
  • VST sub menus
  • Only keep LADSPA plugin libraries in memory when they are used
  • Cleaned up native keyboard handling a little bit
  • Force message window in front
  • Various OSX fixes
  • Improved gfx driver warnings
  • Give specific information about Intel GFX, instead of warning about using MESA
  • fix "./" in the sample file requester
  • More Unicode fixes

New in Radium 3.0 RC 4 (Jan 28, 2015)

  • Make sure packages are not built with -march=native for the binaries
  • Fix nasty memory corruption bug (introduced in 3.0.rc3)
  • Calculate current BPM from beat position values (used by VST plugins)
  • Always show cents if cents!=0
  • Always show notes graphically when noteshowtype==GFXTYPE1
  • Right mouse button reset slider values in the editor
  • Show warning if there is no write access to the binary directory

New in Radium 3.0 RC 3 (Jan 26, 2015)

  • Fix pd plugin on fedora 21 (and other distributions having wish8.6)
  • Fix various crashes related to changing the number of visible lines while playing
  • Use Unicode everywhere. Don't crash if running Radium in a non-ascii path.
  • Fix "use last estimated vblank value" button
  • Fix clang 3.5 compilation
  • Give specific warning if using the Nouveau driver
  • Fix memory leaks when loading samples

New in Radium 3.0 RC 1 (Jan 20, 2015)

  • Mouse handling rewritten
  • Various graphics enhancements
  • Lots of bugs removed
  • Lots of features added

New in Radium 3.0 Beta 2 (Jan 20, 2015)

  • Set CMAKE_BUILD_TYPE for Visualisation library to RelWithDebInfo

New in Radium 1.9.43 (Sep 2, 2014)

  • Remember and edit jack port names
  • Removed use of libiberty.h. Also add check for -liberty in check_dependies.sh
  • Pd: Simplified API a bit and added r_time.pd
  • Simplify install instructions
  • Also exit crashreporter if main program crashes extremely hard
  • Also reset patch timing when stopping to play
  • Pd: Upgraded to latest libpds. It contains a bunch of new radium entries in the Put menu
  • Pd: Finishing the new API. Various fixes, improvements, documentations
  • Make sure FX are scheduled with highest priority (i.e. ensure effects are sent out before note on), plus clean up the scheduler priority system
  • Pd: pipe help patches, and Note_Off_Position.pd example patch
  • Pd: Message for setting block reltempo
  • PD: Finishing the note api
  • Fix bug in scheduler
  • Pd: Add native functions for sending and receiving notes. (r_note_on, r_note_off, and radium_receive_note_on and radium_receive_note_off messages)
  • Pd: Fix duration bugs in r_line and r_subline
  • Fix voice is not turned off
  • Use float for notenum everywhere, and use id as note identifier.
  • Pd: Frame-accurate time information + line and subline duration
  • Temporary fixes for crashing if deleting System Out.
  • 1024x800 tweaks
  • Various smaller bug fixes and internal improvements

New in Radium 1.9.42 (Apr 28, 2014)

  • Support 1024x800 screens
  • Add show/hide buttons for sample browser and plugin controls.

New in Radium 1.9.41 (Apr 28, 2014)

  • Fix VST plugin scan

New in Radium 1.9.40 (Apr 28, 2014)

  • Temporary fixes for crashing if deleting System Out.
  • Ask each 30th seconds if continuing searching for vst plugins. (prevent program from spending a long time if, for instance, searching root)

New in Radium 1.9.39 (Apr 28, 2014)

  • Never disable the voices widget (instrument widget)

New in Radium 1.9.38 (Apr 28, 2014)

  • Fix crash-bug when inserting lines
  • Add "dontshowagain" button to RT_Message
  • Give proper warning when jack port init fails, and dont crash

New in Radium 1.9.37 (Apr 7, 2014)

  • Add "All files" option to the file requesters
  • Proper postfix filter in filerequester when importing midi file
  • text draw: Fix for crash when painting ranged notes with subpitch
  • vst: Return correct samplePos in audioMasterGetTime
  • Fix GFX_Menu not being able to return selection higher than 9
  • Pd: radium_time message (containing time and line information)
  • Non-OSX: Search for VST plugins recursively
  • Get "keys" file path the same way as color and config, plus support comment after key
  • Bottom bar and mixer widget tooltips (Atte Jensen)
  • Atte Jensen's patch to read key names from ~/.radium/keys
  • Make left alt open menues
  • Fix ESC and Arrow keys while navigating menues.
  • Fix keys for non-US language setting
  • Reset Font size resetted to the default font size, not user font size. Fixed
  • New event keys: CALCULATOR, MAIL, HOMEPAGE
  • Add missing key events, such as 0R1, LR1, etc.
  • Turn off drunk velocity by default
  • Changed default ADSR(+H) values to neutral
  • Put the instruments first when selecting track instrument (F12)
  • Always write cents if track is wide
  • Fix keyboard modifier keys
  • Configurable line separator opacity
  • LPB line coloring (opacity can be set in edit -> global config)
  • Renamed "MIDI input on/off" to "Edit On/off" (because that's what it really is)
  • Update midi input checkbutton when pressing esc
  • Fix SPS spinbox focus
  • Only show song files in load/save requesters
  • Added $HOME/.ladspa to the list of ladspa paths, when LADSPA_PATH is not defined
  • Instructions on where radium gets menues.conf and keybindings.conf
  • Use $HOME/.radium/menues.conf and $HOME/.radium/keybindings.conf if they exist
  • Mapped XK_ISO_Level3_Shift to EVENT_ALT_R
  • Fix open editor when editor is "emacs -nw"
  • Make escape key exit string req, same as return
  • Add "import radium as ra" in top of keybindings.conf, plus example code how to make space play/stop depending on whether you are playing
  • New API function: isPlaying
  • Updated ubuntu/debian package list in README

New in Radium 1.9.30 (Apr 29, 2013)

  • Fix for saving floats in wrong format for certain country settings
  • Always show slot indicator in mixer gui

New in Radium 1.9.29 (Mar 9, 2013)

  • Make it compile.

New in Radium 1.9.28 (Mar 9, 2013)

  • Revert back to fausts denormal handling. Hopefully fixes crash on CPUs without sse2.
  • Fix vst plugin memory corruption

New in Radium 1.9.27 (Mar 9, 2013)

  • Undo/redo for the compressor.

New in Radium 1.9.26 (Mar 9, 2013)

  • Fix union compilation error.

New in Radium 1.9.25 (Mar 9, 2013)

  • System compressor
  • Compressor and equalizer GUI can be shown/hidden.
  • Use fast log/exp functions for the multiband compressor. (Huge improvement in CPU usage for the demo song)
  • Fixed key used for shared memory in crashreporter.

New in Radium 0.69.3 Beta (Nov 16, 2012)

  • Never expand editor area when changing track width
  • Various build fixes from Dominique Michel
  • Use system font size for menues, not 8
  • Adjust slider text position
  • Dont crash if loading plugin fails