ardour.git
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.

7 years agoMinimise duplicate calls to CairoWidget::set_dirty() in the editor summary.
nick_m [Sat, 9 Jul 2016 15:50:38 +0000 (01:50 +1000)]
Minimise duplicate calls to CairoWidget::set_dirty() in the editor summary.

- many regions may be changed by one operation.

7 years agoEdit note dialog fixes.
nick_m [Thu, 7 Jul 2016 16:45:07 +0000 (02:45 +1000)]
Edit note dialog fixes.

- position display is session-relative

- Add missing undo to note edit.

7 years agoAlways set the musical position in Region::recompute_position_from_lock_style().
nick_m [Thu, 7 Jul 2016 12:37:28 +0000 (22:37 +1000)]
Always set the musical position in Region::recompute_position_from_lock_style().

7 years agoFix missing note divisor when creating regions, ensure an existing musical time is...
nick_m [Tue, 5 Jul 2016 18:36:48 +0000 (04:36 +1000)]
Fix missing note divisor when creating regions, ensure an existing musical time is not altered.

7 years agoMidi note resizing uses exact beat.
nick_m [Tue, 5 Jul 2016 16:03:06 +0000 (02:03 +1000)]
Midi note resizing uses exact beat.

7 years agoUse exact beat when adding midi notes.
nick_m [Tue, 5 Jul 2016 14:18:09 +0000 (00:18 +1000)]
Use exact beat when adding midi notes.

7 years agoSimplify Editor::mouse_add_new_meter_event() a bit.
nick_m [Mon, 4 Jul 2016 15:11:48 +0000 (01:11 +1000)]
Simplify Editor::mouse_add_new_meter_event() a bit.

7 years agoTempo map updates.
nick_m [Mon, 4 Jul 2016 15:10:14 +0000 (01:10 +1000)]
Tempo map updates.

- cleanup audio-locked meter removal code

- recompute and warn if map is left unsolved due to adding a metric

- handle corner case wrt overlapping audio-locked musical sections.

7 years agoFix long-standing spelling bug.
nick_m [Sun, 3 Jul 2016 15:45:41 +0000 (01:45 +1000)]
Fix long-standing spelling bug.

- should be a no-op.

7 years agoFix missing tempi recompute, improve adding meter/tempo failure.
nick_m [Sun, 3 Jul 2016 15:21:36 +0000 (01:21 +1000)]
Fix missing tempi recompute, improve adding meter/tempo failure.

7 years agoStop passing references to things that may disappear when a metric section is replaced.
nick_m [Sun, 3 Jul 2016 15:12:55 +0000 (01:12 +1000)]
Stop passing references to things that may disappear when a metric section is replaced.

7 years agoFail properly when adding a new audio locked meter's tempo.
nick_m [Fri, 1 Jul 2016 19:38:25 +0000 (05:38 +1000)]
Fail properly when adding a new audio locked meter's tempo.

7 years agoCheck meter/tempo section exists in copy drag.
nick_m [Fri, 1 Jul 2016 19:35:27 +0000 (05:35 +1000)]
Check meter/tempo section exists in copy drag.

7 years agoIndicate meter frame even when adding a music-locked meter from the gui.
nick_m [Fri, 1 Jul 2016 17:06:49 +0000 (03:06 +1000)]
Indicate meter frame even when adding a music-locked meter from the gui.

7 years agoFix broken meter manipulation in exact_beat.
nick_m [Fri, 1 Jul 2016 17:04:55 +0000 (03:04 +1000)]
Fix broken meter manipulation in exact_beat.

7 years agoBack to using exact beats for midi region start_beats calculation when trimming.
nick_m [Tue, 28 Jun 2016 19:23:52 +0000 (05:23 +1000)]
Back to using exact beats for midi region start_beats calculation when trimming.

- seems to work quite well, but not tested on live recording.

7 years agoFix bad comment.
nick_m [Tue, 28 Jun 2016 18:06:33 +0000 (04:06 +1000)]
Fix bad comment.

7 years agoUse frame-based (non-exact) beat calculation to set new start in midi region trim.
nick_m [Tue, 28 Jun 2016 17:46:26 +0000 (03:46 +1000)]
Use frame-based (non-exact) beat calculation to set new start in midi region trim.

7 years agoExperimental patch to ensure playback buffer bounds use minimal beat->frame rounding.
nick_m [Tue, 28 Jun 2016 15:19:59 +0000 (01:19 +1000)]
Experimental patch to ensure playback buffer bounds use minimal beat->frame rounding.

7 years agoAudioPlaylist doesn't double-notify that contents have changed if bounds have changed.
nick_m [Sun, 26 Jun 2016 18:35:16 +0000 (04:35 +1000)]
AudioPlaylist doesn't double-notify that contents have changed if bounds have changed.

7 years agoAudioRegionView - don't do coverage frames unless we're in stacked mode.
nick_m [Sun, 26 Jun 2016 18:31:25 +0000 (04:31 +1000)]
AudioRegionView - don't do coverage frames unless we're in stacked mode.

7 years agoEditor region list only updates columns that have changed,
nick_m [Sun, 26 Jun 2016 18:29:41 +0000 (04:29 +1000)]
Editor region list only updates columns that have changed,

7 years agoRemove extra ContentsChanged signal on tempo map change.
nick_m [Sat, 25 Jun 2016 20:22:09 +0000 (06:22 +1000)]
Remove extra ContentsChanged signal on tempo map change.

7 years agoMake bbt ruler visible in default session.
nick_m [Sat, 25 Jun 2016 13:28:05 +0000 (23:28 +1000)]
Make bbt ruler visible in default session.