ardour.git
7 years agocanvas HSV color serialization needs LocaleGuard
Paul Davis [Thu, 14 Jul 2016 15:46:02 +0000 (11:46 -0400)]
canvas HSV color serialization needs LocaleGuard

7 years agoUIConfig needs C numeric locale while setting GTK color theme
Paul Davis [Thu, 14 Jul 2016 15:37:37 +0000 (11:37 -0400)]
UIConfig needs C numeric locale while setting GTK color theme

7 years agocorrectly initialize C++ locale as well as C locale
Paul Davis [Thu, 14 Jul 2016 15:36:40 +0000 (11:36 -0400)]
correctly initialize C++ locale as well as C locale

7 years agoredesign PBD::LocaleGuard to work correctly (i.e. not break translations)
Paul Davis [Thu, 14 Jul 2016 15:35:55 +0000 (11:35 -0400)]
redesign PBD::LocaleGuard to work correctly (i.e. not break translations)

7 years agoconsistent height of a-eq a-hp/lp
Robin Gareus [Thu, 14 Jul 2016 14:48:28 +0000 (16:48 +0200)]
consistent height of a-eq a-hp/lp

7 years agoproperly sort port-names
Robin Gareus [Thu, 14 Jul 2016 14:47:27 +0000 (16:47 +0200)]
properly sort port-names

7 years agoadd a natural sort algorithm
Robin Gareus [Thu, 14 Jul 2016 14:52:19 +0000 (16:52 +0200)]
add a natural sort algorithm

7 years agoOSC: Fix off by one error
Len Ovens [Thu, 14 Jul 2016 13:52:09 +0000 (06:52 -0700)]
OSC: Fix off by one error

7 years agoanother i18n/.po update
Paul Davis [Thu, 14 Jul 2016 10:21:03 +0000 (06:21 -0400)]
another i18n/.po update

7 years agofix plural form snafu in translation macro
Paul Davis [Wed, 13 Jul 2016 22:27:14 +0000 (18:27 -0400)]
fix plural form snafu in translation macro

7 years agoanother i18n/.po update
Paul Davis [Thu, 14 Jul 2016 10:19:10 +0000 (06:19 -0400)]
another i18n/.po update

7 years agoregenerate and manually fix all PO files so that ./waf i18n doesn't generate unnecess...
Paul Davis [Wed, 13 Jul 2016 22:27:53 +0000 (18:27 -0400)]
regenerate and manually fix all PO files so that ./waf i18n doesn't generate unnecessary errors

7 years agoRemove a (no longer needed) source file from our MSVC project (evoral)
John Emmas [Thu, 14 Jul 2016 08:42:55 +0000 (09:42 +0100)]
Remove a (no longer needed) source file from our MSVC project (evoral)

7 years agoa-EQ, a-Reverb: Tweaks to parameter smoothing
Damien Zammit [Thu, 14 Jul 2016 06:38:40 +0000 (16:38 +1000)]
a-EQ, a-Reverb: Tweaks to parameter smoothing

7 years agorefactoring to prepare for real-time export
Robin Gareus [Thu, 14 Jul 2016 02:34:18 +0000 (04:34 +0200)]
refactoring to prepare for real-time export

* add a threaded TmpFile Writer
* update API calls to that process_export_fw() can be used as
  process_function

The idea is to re-use export infrastructure from normalization:
export to a tmp-file and then encode target formats after that.

7 years agomake ./waf install do the right thing with color files
Paul Davis [Thu, 14 Jul 2016 01:49:28 +0000 (21:49 -0400)]
make ./waf install do the right thing with color files

7 years agobetter color choice for control master controls box in editor
Paul Davis [Wed, 13 Jul 2016 22:04:00 +0000 (18:04 -0400)]
better color choice for control master controls box in editor

7 years agofix CUE/TOC file creation with non ISO-8859-1 chars in source text (substitute unders...
Paul Davis [Wed, 13 Jul 2016 20:39:21 +0000 (16:39 -0400)]
fix CUE/TOC file creation with non ISO-8859-1 chars in source text (substitute underscores)

7 years agofix save/restore of preferences torn-off-window state
Paul Davis [Wed, 13 Jul 2016 20:38:08 +0000 (16:38 -0400)]
fix save/restore of preferences torn-off-window state

7 years agoa-EQ: Tweak bandwidth range on parametric eq and use log controls
Damien Zammit [Wed, 13 Jul 2016 19:42:35 +0000 (05:42 +1000)]
a-EQ: Tweak bandwidth range on parametric eq and use log controls

7 years agouse Session::cancel_all_solo()
Paul Davis [Wed, 13 Jul 2016 18:33:46 +0000 (14:33 -0400)]
use Session::cancel_all_solo()

7 years agouse Session::cancel_all_solo()
Paul Davis [Wed, 13 Jul 2016 18:33:43 +0000 (14:33 -0400)]
use Session::cancel_all_solo()

7 years agoa better, deeper fix for "cancel all solo", as Session::cancel_all_solo()
Paul Davis [Wed, 13 Jul 2016 18:33:23 +0000 (14:33 -0400)]
a better, deeper fix for "cancel all solo", as Session::cancel_all_solo()

7 years agofix odd double conditional
Paul Davis [Wed, 13 Jul 2016 17:43:31 +0000 (13:43 -0400)]
fix odd double conditional

7 years agomackie: fix behaviour of clear solo button
Paul Davis [Wed, 13 Jul 2016 17:43:20 +0000 (13:43 -0400)]
mackie: fix behaviour of clear solo button

7 years agoset a theme color for VCA axes in the editor
Paul Davis [Wed, 13 Jul 2016 17:09:02 +0000 (13:09 -0400)]
set a theme color for VCA axes in the editor

7 years agoa-EQ: Fixed transfer functions, now boost/cut cancel out correctly
Damien Zammit [Wed, 13 Jul 2016 17:05:54 +0000 (03:05 +1000)]
a-EQ: Fixed transfer functions, now boost/cut cancel out correctly

7 years agoOSC: Add global soloing indicator/cancel
Len Ovens [Wed, 13 Jul 2016 16:56:35 +0000 (09:56 -0700)]
OSC: Add global soloing indicator/cancel

7 years agoa-EQ: Tidy transfer function calculation
Damien Zammit [Wed, 13 Jul 2016 16:03:08 +0000 (02:03 +1000)]
a-EQ: Tidy transfer function calculation

7 years agoa-Reverb: Interpolate parameters, stable version
Damien Zammit [Wed, 13 Jul 2016 13:58:07 +0000 (23:58 +1000)]
a-Reverb: Interpolate parameters, stable version

7 years agoa-Reverb: Revert some of previous changes, sound of reverb much improved
Damien Zammit [Wed, 13 Jul 2016 09:30:03 +0000 (19:30 +1000)]
a-Reverb: Revert some of previous changes, sound of reverb much improved

7 years agoa-Reverb: Using new algorithm based on FreeVerb
Damien Zammit [Wed, 13 Jul 2016 08:07:02 +0000 (18:07 +1000)]
a-Reverb: Using new algorithm based on FreeVerb

7 years agofix stem-export of no-input busses/tracks
Robin Gareus [Wed, 13 Jul 2016 02:59:26 +0000 (04:59 +0200)]
fix stem-export of no-input busses/tracks

7 years agouse aligned malloc for luaDSP
Robin Gareus [Wed, 13 Jul 2016 02:31:15 +0000 (04:31 +0200)]
use aligned malloc for luaDSP

7 years agoinitialize more uninitialized variables..
Robin Gareus [Wed, 13 Jul 2016 02:29:01 +0000 (04:29 +0200)]
initialize more uninitialized variables..

7 years agoinitialize some uninitialized variables
Robin Gareus [Wed, 13 Jul 2016 00:35:20 +0000 (02:35 +0200)]
initialize some uninitialized variables

7 years agoremove VCA drop button
Paul Davis [Tue, 12 Jul 2016 21:03:09 +0000 (17:03 -0400)]
remove VCA drop button

7 years agomidimon: add option to format note-names
Robin Gareus [Tue, 12 Jul 2016 21:02:30 +0000 (23:02 +0200)]
midimon: add option to format note-names

7 years agoremove old midi-note name API
Robin Gareus [Tue, 12 Jul 2016 21:00:44 +0000 (23:00 +0200)]
remove old midi-note name API

7 years agouse new midi-note-name API
Robin Gareus [Tue, 12 Jul 2016 21:00:31 +0000 (23:00 +0200)]
use new midi-note-name API

7 years agoAdd a new API to format midi-note-names with translation: Do Re Mi...
Robin Gareus [Tue, 12 Jul 2016 21:00:15 +0000 (23:00 +0200)]
Add a new API to format midi-note-names with translation: Do Re Mi...

This deprecates Evoral::midi_note_name(). we don't maintain i18n
for libevoral.

7 years agoadd a safe-guard
Robin Gareus [Tue, 12 Jul 2016 20:06:14 +0000 (22:06 +0200)]
add a safe-guard

7 years agoVCA/Control Masters are displayed at fixed positions (initially), so insert-at option...
Paul Davis [Tue, 12 Jul 2016 20:55:12 +0000 (16:55 -0400)]
VCA/Control Masters are displayed at fixed positions (initially), so insert-at options are irrelevant when adding them

7 years agoVCA/Control Masters have no signal, so output i/o options are irrelevant when adding...
Paul Davis [Tue, 12 Jul 2016 20:50:53 +0000 (16:50 -0400)]
VCA/Control Masters have no signal, so output i/o options are irrelevant when adding them

7 years agoOSC: Add /path/band extension for eq_* bands
Len Ovens [Tue, 12 Jul 2016 20:33:28 +0000 (13:33 -0700)]
OSC: Add /path/band extension for eq_* bands

7 years agotwo more places where the user can explicitly set the session end now also make the...
Paul Davis [Tue, 12 Jul 2016 15:50:12 +0000 (11:50 -0400)]
two more places where the user can explicitly set the session end now also make the end non-free

7 years agoOSC: Added EQ control, use interface_to_internal to normalize control range
Len Ovens [Tue, 12 Jul 2016 16:13:53 +0000 (09:13 -0700)]
OSC: Added EQ control, use interface_to_internal to normalize control range

7 years agoa-Reverb: fix typo in plugin name
Damien Zammit [Tue, 12 Jul 2016 15:26:29 +0000 (01:26 +1000)]
a-Reverb: fix typo in plugin name

7 years agoGUI side of : once the user has explicitly set the session range end, playlist/range...
Paul Davis [Tue, 12 Jul 2016 15:19:34 +0000 (11:19 -0400)]
GUI side of : once the user has explicitly set the session range end, playlist/range changes do not move it.

The user may drag the marker, edit in the Location UI, or use nudge, to set the end

7 years agoonce the user has explicitly set the session range end, playlist/range changes do...
Paul Davis [Tue, 12 Jul 2016 15:19:15 +0000 (11:19 -0400)]
once the user has explicitly set the session range end, playlist/range changes do not move it.

The user may drag the marker, edit in the Location UI, or use nudge, to set the end

7 years agoa-Reverb: Fix ttl and tweak maximum input gain
Damien Zammit [Tue, 12 Jul 2016 15:16:08 +0000 (01:16 +1000)]
a-Reverb: Fix ttl and tweak maximum input gain

7 years agoa-EQ: Transfer function curves improvement
Damien Zammit [Tue, 12 Jul 2016 14:54:43 +0000 (00:54 +1000)]
a-EQ: Transfer function curves improvement

7 years agofix a-eq library extension
Robin Gareus [Tue, 12 Jul 2016 14:42:41 +0000 (16:42 +0200)]
fix a-eq library extension

7 years agoa-reverb prototype (based on setBfree b_reverb)
Robin Gareus [Tue, 12 Jul 2016 14:42:29 +0000 (16:42 +0200)]
a-reverb prototype (based on setBfree b_reverb)

7 years agore-classify bundled lua scripts
Robin Gareus [Tue, 12 Jul 2016 13:21:23 +0000 (15:21 +0200)]
re-classify bundled lua scripts

* search by author:
  - "Ardour Team" for "ready to use" plugins
  - "Ardour Lua Task Force" = example plugins

* search by Category
  - use "Example" for DSP plugins (except instruments)

7 years agodo not show windows derived from ArdourDialog at startup.
Paul Davis [Tue, 12 Jul 2016 14:27:19 +0000 (10:27 -0400)]
do not show windows derived from ArdourDialog at startup.

See code comment for more details

7 years agowhen using toggle-editor-and-mixer, if current tab is neither, go to mixer first.
Paul Davis [Tue, 12 Jul 2016 13:42:34 +0000 (09:42 -0400)]
when using toggle-editor-and-mixer, if current tab is neither, go to mixer first.

This makes using Alt-m (the default binding) feel a lot more sensible

7 years agoremove pointless version of Stripable::set_presentation_order()
Paul Davis [Tue, 12 Jul 2016 13:17:55 +0000 (09:17 -0400)]
remove pointless version of Stripable::set_presentation_order()

7 years agofix a a-eq ttl typo
Robin Gareus [Tue, 12 Jul 2016 12:38:19 +0000 (14:38 +0200)]
fix a a-eq ttl typo

7 years agoadd mouse interaction to inline display
Robin Gareus [Tue, 12 Jul 2016 12:38:05 +0000 (14:38 +0200)]
add mouse interaction to inline display

7 years agofix simple but fatal mistake in defining PBD::Controllable::Flags enums.
Paul Davis [Tue, 12 Jul 2016 12:20:46 +0000 (08:20 -0400)]
fix simple but fatal mistake in defining PBD::Controllable::Flags enums.

This error caused the flags to be saved as an empty string, thus losing all state when the session is reloaded

7 years agofix compilation with lv2 < 1.10 (lv2 extended)
Robin Gareus [Tue, 12 Jul 2016 11:44:55 +0000 (13:44 +0200)]
fix compilation with lv2 < 1.10 (lv2 extended)

7 years agomore compact generic knob-ui layout
Robin Gareus [Tue, 12 Jul 2016 02:02:33 +0000 (04:02 +0200)]
more compact generic knob-ui layout

7 years agoa-eq tweaks:
Robin Gareus [Tue, 12 Jul 2016 02:01:56 +0000 (04:01 +0200)]
a-eq tweaks:

* shorten e-eq Hz display (no decimals)
* use 16:9 aspect inline display
* fix a compiler warning

7 years agoMake MIDI monitor a pass-through for audio and midi
Julien "_FrnchFrgg_" RIVAUD [Mon, 11 Jul 2016 22:13:01 +0000 (00:13 +0200)]
Make MIDI monitor a pass-through for audio and midi

MIDI monitor only accepted midi data and output that same data. That was
logical for a MIDI plugin, but a consequence is that automatic pin
configuration makes MIDI monitors opaque to audio data, which means
drag'n'dropping a MIDI monitor for debugging purposes can suddenly cut
audio, or even change the channel count if strict I/O is enabled.

Improve the MIDI monitor so that it passes through all incoming data
unchanged.

7 years agoupdate MIDIEvent lua bindings/example
Robin Gareus [Mon, 11 Jul 2016 23:46:17 +0000 (01:46 +0200)]
update MIDIEvent lua bindings/example

7 years agoOSC: finish feedback for well known controls. Simplify some others.
Len Ovens [Mon, 11 Jul 2016 23:00:14 +0000 (16:00 -0700)]
OSC: finish feedback for well known controls. Simplify some others.

7 years agoremove debug output
Robin Gareus [Mon, 11 Jul 2016 20:53:13 +0000 (22:53 +0200)]
remove debug output

7 years agoadd a convenient lua forward mapped buffers method
Robin Gareus [Mon, 11 Jul 2016 20:36:00 +0000 (22:36 +0200)]
add a convenient lua forward mapped buffers method

7 years agoproper semantics for variable port-count
Robin Gareus [Mon, 11 Jul 2016 20:22:17 +0000 (22:22 +0200)]
proper semantics for variable port-count

Ardour takes the closest pin/port match yet still offers a plugin with
variable i/o access to all port-buffers.

the "reported" (user visible) pin-count now defaults to the actual
selected configuration (precise) and lua_dsp_configure() can
override it.

7 years agoadd _FrnchFrgg_ to credits
Robin Gareus [Mon, 11 Jul 2016 16:57:04 +0000 (18:57 +0200)]
add _FrnchFrgg_ to credits

7 years agoImprove MIDI monitor
Julien "_FrnchFrgg_" RIVAUD [Mon, 11 Jul 2016 15:39:59 +0000 (17:39 +0200)]
Improve MIDI monitor

7 years agoremove implicit labels from a-eq
Robin Gareus [Mon, 11 Jul 2016 14:57:02 +0000 (16:57 +0200)]
remove implicit labels from a-eq

7 years agoadd a MTC/sysex test sequence
Robin Gareus [Mon, 11 Jul 2016 14:55:28 +0000 (16:55 +0200)]
add a MTC/sysex test sequence

7 years agoAdd a new MIDI monitor plugin
Julien "_FrnchFrgg_" RIVAUD [Mon, 11 Jul 2016 13:29:56 +0000 (15:29 +0200)]
Add a new MIDI monitor plugin

This plugin lets through all incoming MIDI events, and also shows the
latest ones in a human-readable format directly on the mixer strip. The
user can choose the font size and the number of recent events displayed,
as well as whether to print values in decimal or hexadecimal, and
whether to print system events.

7 years agofix OSX compilation (flat namespace)
Robin Gareus [Mon, 11 Jul 2016 11:42:42 +0000 (13:42 +0200)]
fix OSX compilation (flat namespace)

reference to 'Rect' is ambiguous
..../CarbonCore.framework/Headers/MacTypes.h defines
typedef struct Rect

7 years agotweak generic plugin knob-widgets
Robin Gareus [Mon, 11 Jul 2016 01:46:33 +0000 (03:46 +0200)]
tweak generic plugin knob-widgets

remove label, use tooltip (saves space, more compact layout)

7 years agoextend ArdourKnob ToolTips
Robin Gareus [Mon, 11 Jul 2016 01:45:13 +0000 (03:45 +0200)]
extend ArdourKnob ToolTips

allow to set/change tooltip-prefix and set a "printer" in preparation
for properly using the Knob in Plugin UIs

7 years agoelaborate documented raw audio/midi buffer lua example
Robin Gareus [Mon, 11 Jul 2016 01:05:43 +0000 (03:05 +0200)]
elaborate documented raw audio/midi buffer lua example

7 years agolua MidiBuffer bindings
Robin Gareus [Mon, 11 Jul 2016 01:04:29 +0000 (03:04 +0200)]
lua MidiBuffer bindings

7 years agoFix potential infinite loop in TempoCurve::set_position()
nick_m [Sun, 10 Jul 2016 17:53:36 +0000 (03:53 +1000)]
Fix potential infinite loop in TempoCurve::set_position()

- it was previously possible for frame_step to be zero for tempo sections with
  a short duration, resulting in endlessly adding 0 to current_frame.

7 years agoWhite space fix only. (Spaces to tabs)
Len Ovens [Sun, 10 Jul 2016 15:20:05 +0000 (08:20 -0700)]
White space fix only. (Spaces to tabs)

7 years agorefine lua-script documentation
Robin Gareus [Sun, 10 Jul 2016 14:48:38 +0000 (16:48 +0200)]
refine lua-script documentation

7 years agoNO-OP whitespace
Robin Gareus [Sun, 10 Jul 2016 13:59:50 +0000 (15:59 +0200)]
NO-OP whitespace

7 years agoadd a single-element ring-buffer write function
Robin Gareus [Sun, 10 Jul 2016 13:56:18 +0000 (15:56 +0200)]
add a single-element ring-buffer write function

7 years agoremove reference "const int32_t&" -> const int32_t"
Robin Gareus [Sun, 10 Jul 2016 13:30:41 +0000 (15:30 +0200)]
remove reference  "const int32_t&" -> const int32_t"

this simplifies lua-bindings and also let's the compiler worry about
constant primitive types.

7 years agocomplete ringbuffer bindings
Robin Gareus [Sun, 10 Jul 2016 13:01:29 +0000 (15:01 +0200)]
complete ringbuffer bindings

7 years agoadd a raw midi buffer plugin example
Robin Gareus [Sun, 10 Jul 2016 12:46:41 +0000 (14:46 +0200)]
add a raw midi buffer plugin example

7 years agoadd raw midi buffer binding
Robin Gareus [Sun, 10 Jul 2016 12:45:58 +0000 (14:45 +0200)]
add raw midi buffer binding

7 years agore-layout import dialog (better fit for narrow screens)
Robin Gareus [Sun, 10 Jul 2016 12:08:24 +0000 (14:08 +0200)]
re-layout import dialog (better fit for narrow screens)

The instrument dropdown can be very wide (depending on available synths)
and combined with other dropdowns and the copy-checkbox in a single row,
the min. width was well above 1400px.

7 years agofix plugin bypass -- thinko in 54d8def6
Robin Gareus [Sun, 10 Jul 2016 02:02:02 +0000 (04:02 +0200)]
fix plugin bypass -- thinko in 54d8def6

7 years agotowards export latency compensation
Robin Gareus [Sun, 10 Jul 2016 01:20:35 +0000 (03:20 +0200)]
towards export latency compensation

7 years agoalign stem-export (raw track outputs (with and w/p processing)
Robin Gareus [Sun, 10 Jul 2016 00:40:24 +0000 (02:40 +0200)]
align stem-export (raw track outputs (with and w/p processing)

7 years agopossible fix for off-by-one issue with MIDI binding maps etc.
Paul Davis [Sat, 9 Jul 2016 22:19:27 +0000 (18:19 -0400)]
possible fix for off-by-one issue with MIDI binding maps etc.

7 years agofix initialization order
Paul Davis [Sat, 9 Jul 2016 21:53:17 +0000 (17:53 -0400)]
fix initialization order

7 years agoconst bool METHOD() const makes no sense
Paul Davis [Sat, 9 Jul 2016 21:15:17 +0000 (17:15 -0400)]
const bool METHOD() const makes no sense

7 years agoBetter heuristics for guessing the primary type of an input or output
Julien "_FrnchFrgg_" RIVAUD [Thu, 7 Jul 2016 17:17:16 +0000 (19:17 +0200)]
Better heuristics for guessing the primary type of an input or output

In order to choose which port name to display (if any) in the button,
MixerStrip::update_io_button() first chose a primary type for the input
or output. It was AUDIO in all cases, except if the route was a
MidiTrack where the primary type was MIDI.

In the latter case, it enabled the following code of update_io_button()
to show the MIDI sources feeding the MidiTrack rather than showing an
unhelpful dash.

But this simple heuristic has several shortcommings:
 - Going further, tracks and busses will probably loose strong types so
   the approach is not future-proof;
 - It doesn't take midi busses into account, yet there is no reason for
   them to be handled differently than midi tracks;
 - It falls short when the midi track contains a synthesiser and is
   meant to output audio.

Improve the heuristics by choosing the data type as follows:
 A) If there are connected audio ports, consider audio as primary type.
 B) Else, if there are connected midi ports, consider midi as primary type.
 C) If there are audio ports, consider audio as primary type.
 D) Else, if there are midi ports, consider midi as primary type.

These new heuristics give the same results for audio tracks and busses
(whose audio inputs have not been removed), and the same result for the
input of midi tracks (again, provided the inputs have not been tampered
with). It improves the situation for inputs of midi busses, and output
of midi tracks and busses, especially when synthesisers are in use.

7 years agoupdate_io_button: store input() or output() in a variable
Julien "_FrnchFrgg_" RIVAUD [Thu, 7 Jul 2016 17:12:23 +0000 (19:12 +0200)]
update_io_button: store input() or output() in a variable

This avoids repeating "if (for_input)" checks.

7 years agobetter safe than sorry
Robin Gareus [Sat, 9 Jul 2016 16:31:40 +0000 (18:31 +0200)]
better safe than sorry

7 years agoRevert incorrect 'optimisation' from 4f7a4cd2333.
nick_m [Sat, 9 Jul 2016 16:11:36 +0000 (02:11 +1000)]
Revert incorrect 'optimisation' from 4f7a4cd2333.

- fixes regression in stacked layering display.