ardour.git
4 years agosingle action punch in 5.2
Paul Davis [Sat, 27 Aug 2016 23:57:40 +0000 (19:57 -0400)]
single action punch in

Consecutive execution (e.g. from a control surface button) engages punch in, then punch out, then clears both.
Patch by Nathan Stewart

4 years agonotch: narrow the bandwidth with increasing frequency
Robin Gareus [Sat, 27 Aug 2016 22:18:06 +0000 (00:18 +0200)]
notch: narrow the bandwidth with increasing frequency

4 years agofix typo in notch example script
Robin Gareus [Sat, 27 Aug 2016 22:02:16 +0000 (00:02 +0200)]
fix typo in notch example script

4 years agonewbie documentation
Robin Gareus [Sat, 27 Aug 2016 21:35:02 +0000 (23:35 +0200)]
newbie documentation

4 years agonotch-bank: increase max Q, use logscale
Robin Gareus [Sat, 27 Aug 2016 17:56:08 +0000 (19:56 +0200)]
notch-bank: increase max Q, use logscale

4 years agoupdate notch-bank to variable i/o, increase max stages to 100
Robin Gareus [Sat, 27 Aug 2016 17:47:53 +0000 (19:47 +0200)]
update notch-bank to variable i/o, increase max stages to 100

4 years agobackwards compatible a-comp stereo sidechain ports
Robin Gareus [Sat, 27 Aug 2016 16:08:46 +0000 (18:08 +0200)]
backwards compatible a-comp stereo sidechain ports

4 years agoadd a notch-bank filter
Robin Gareus [Sat, 27 Aug 2016 15:48:11 +0000 (17:48 +0200)]
add a notch-bank filter

4 years agoNo discrimination against systems which don't have a PI define
Robin Gareus [Sat, 27 Aug 2016 15:20:27 +0000 (17:20 +0200)]
No discrimination against systems which don't have a PI define

4 years agoPrepare a-comp for click-free bypass/enable
Robin Gareus [Sat, 27 Aug 2016 15:14:49 +0000 (17:14 +0200)]
Prepare a-comp for click-free bypass/enable

4 years agoclick-free a-delay bypass/enable
Robin Gareus [Sat, 27 Aug 2016 14:59:15 +0000 (16:59 +0200)]
click-free a-delay bypass/enable

4 years agoNO-OP clean up plugin ttl
Robin Gareus [Sat, 27 Aug 2016 14:01:16 +0000 (16:01 +0200)]
NO-OP clean up plugin ttl

4 years agofix copy/paste typo in 1d7c14496
Robin Gareus [Sat, 27 Aug 2016 13:53:38 +0000 (15:53 +0200)]
fix copy/paste typo in 1d7c14496

4 years agoadd NaN/Inf protection now that bypass no longer de/activates
Robin Gareus [Sat, 27 Aug 2016 12:10:51 +0000 (14:10 +0200)]
add NaN/Inf protection now that bypass no longer de/activates

4 years agoclick-free a-reverb bypass
Robin Gareus [Sat, 27 Aug 2016 12:09:47 +0000 (14:09 +0200)]
click-free a-reverb bypass

4 years agoAdd automatable click-free bypass/enable feature to a-eq
Robin Gareus [Sat, 27 Aug 2016 11:23:25 +0000 (13:23 +0200)]
Add automatable click-free bypass/enable feature to a-eq

4 years agoNO-OP: indentation
Paul Davis [Sat, 27 Aug 2016 10:02:43 +0000 (06:02 -0400)]
NO-OP: indentation

4 years agofix display of preferences window when detached.
Paul Davis [Sat, 27 Aug 2016 10:02:28 +0000 (06:02 -0400)]
fix display of preferences window when detached.

GTK+ apparently unpacks/hides a widget whose requistion at window show/packing time is negative for x or y axes. The RC option editor
was being created AFTER its Tabbable self packed it into its own window (when detached), and GTK+ rejected it because the
treeview had a size requisition with -1 for width.

So build it first, then call Tabbable::set_state() later

4 years agoExpose PluginInfo bindings (eg plugin-type, unique id, etc)
Robin Gareus [Fri, 26 Aug 2016 17:04:07 +0000 (19:04 +0200)]
Expose PluginInfo bindings (eg plugin-type, unique id, etc)

processor:to_insert():plugin(0):get_info().type

4 years agoallow to access data-members in weak/shared ptr classes
Robin Gareus [Fri, 26 Aug 2016 17:01:09 +0000 (19:01 +0200)]
allow to access data-members in weak/shared ptr classes

4 years agoadd "sameinstance()" lua binding for all shared/weak ptrs
Robin Gareus [Fri, 26 Aug 2016 16:25:15 +0000 (18:25 +0200)]
add "sameinstance()" lua binding for all shared/weak ptrs

4 years agoforward Lua print() to Ardour's Log.
Robin Gareus [Fri, 26 Aug 2016 14:59:11 +0000 (16:59 +0200)]
forward Lua print() to Ardour's Log.

4 years agoUpdate CC automation menu when changing channel selection
Julien "_FrnchFrgg_" RIVAUD [Fri, 26 Aug 2016 14:18:28 +0000 (16:18 +0200)]
Update CC automation menu when changing channel selection

4 years agoadd a static function to access processor selection from a Lua script
Robin Gareus [Fri, 26 Aug 2016 01:24:06 +0000 (03:24 +0200)]
add a static function to access processor selection from a Lua script

  local ps = ArdourUI.processor_selection()
  for p in ps:iter() do print (p:name ()) end

4 years agoAdd Lua bindings for ProcessorVector (really ProcSelection)
Robin Gareus [Fri, 26 Aug 2016 01:21:05 +0000 (03:21 +0200)]
Add Lua bindings for ProcessorVector (really ProcSelection)

4 years agoincrease pre-allocated Lua DSP memory pool size to 3MB
Robin Gareus [Thu, 25 Aug 2016 23:47:05 +0000 (01:47 +0200)]
increase pre-allocated Lua DSP memory pool size to 3MB

...now that bindings alone need approx 700K and some more complex DSP
scripts are showing up 2MB is not much :(

4 years agotweak lua GC (once again)
Robin Gareus [Thu, 25 Aug 2016 23:18:48 +0000 (01:18 +0200)]
tweak lua GC (once again)

fixes OOM with extreme automation in HP/LP.

4 years agofix a-eq grid layout
Robin Gareus [Thu, 25 Aug 2016 23:10:38 +0000 (01:10 +0200)]
fix a-eq grid layout

4 years agoupdate fluidsynth patch
Robin Gareus [Thu, 25 Aug 2016 20:37:12 +0000 (22:37 +0200)]
update fluidsynth patch

4 years agoremove unneeded includes that may break with winegcc
Robin Gareus [Thu, 25 Aug 2016 20:29:50 +0000 (22:29 +0200)]
remove unneeded includes that may break with winegcc

4 years agowine-gcc hacks -- fixes #6984
Robin Gareus [Thu, 25 Aug 2016 19:36:02 +0000 (21:36 +0200)]
wine-gcc hacks -- fixes #6984

4 years agoRevert "Revert "patch for waflib internals to allow tarball to be created even when...
Paul Davis [Thu, 25 Aug 2016 17:44:23 +0000 (13:44 -0400)]
Revert "Revert "patch for waflib internals to allow tarball to be created even when using UTF-8 non-Latin filenames""

There was never any problem with this going public! Stupid Paul.

This reverts commit 6063ec2dbb718e3db37b5149f3cf5ee663e7eecd.

4 years agoRevert "patch for waflib internals to allow tarball to be created even when using...
Paul Davis [Thu, 25 Aug 2016 17:43:47 +0000 (13:43 -0400)]
Revert "patch for waflib internals to allow tarball to be created even when using UTF-8 non-Latin filenames"

This was not supposed to go public.

This reverts commit e8f7f458e12d16fb8e441eccbaa7520d103b50af.

4 years agoadd len ovens to the authors list
Paul Davis [Thu, 25 Aug 2016 17:42:28 +0000 (13:42 -0400)]
add len ovens to the authors list

4 years agopatch for waflib internals to allow tarball to be created even when using UTF-8 non...
Paul Davis [Thu, 25 Aug 2016 11:57:52 +0000 (07:57 -0400)]
patch for waflib internals to allow tarball to be created even when using UTF-8 non-Latin filenames

4 years agoadd nascent poly-phonic pressure to automation menu for MIDI tracks
Paul Davis [Wed, 24 Aug 2016 21:38:25 +0000 (17:38 -0400)]
add nascent poly-phonic pressure to automation menu for MIDI tracks

4 years agoFix astate setting for combo parameters when setting all astate
Julien "_FrnchFrgg_" RIVAUD [Thu, 25 Aug 2016 17:20:17 +0000 (19:20 +0200)]
Fix astate setting for combo parameters when setting all astate

Don't try to be smart when chosing which parameters need their
automation updated but rather trust the list that was populated at
creation time when all relevant information had been gathered.

4 years agoAvoid 1px size changes when sizing_text() is used
Julien "_FrnchFrgg_" RIVAUD [Thu, 25 Aug 2016 17:00:05 +0000 (19:00 +0200)]
Avoid 1px size changes when sizing_text() is used

When requesting a size for ArdourButton, the width and height of the
button could be increased by one to ensure the center of the text would
lie exactly at the center of the button.

I initially thought that it was a good idea even when the text used for
sizing was frozen, but the main (and only?) use-case for that is to
actually freeze the size of the button regardless of the actual
displayed text, so jittering by one pixel is not welcome.

Only do the centering tweak if there is no sizing text.

4 years agoa reverb is a reverb is a reverb 5.1
Robin Gareus [Wed, 24 Aug 2016 21:45:02 +0000 (23:45 +0200)]
a reverb is a reverb is a reverb

4 years agoadd missing include
Robin Gareus [Wed, 24 Aug 2016 21:06:52 +0000 (23:06 +0200)]
add missing include

4 years agofix copy/paste mistake
Robin Gareus [Wed, 24 Aug 2016 20:46:36 +0000 (22:46 +0200)]
fix copy/paste mistake

4 years agoNO-OP: whitespace
Robin Gareus [Wed, 24 Aug 2016 20:39:44 +0000 (22:39 +0200)]
NO-OP: whitespace

4 years agolessons learned from a-fluidsynth
Robin Gareus [Wed, 24 Aug 2016 19:32:45 +0000 (21:32 +0200)]
lessons learned from a-fluidsynth

4 years agoOSC: Add preset loading to OSC GUI
Len Ovens [Wed, 24 Aug 2016 17:07:21 +0000 (10:07 -0700)]
OSC: Add preset loading to OSC GUI

4 years agoreduce initial fluidsynth load
Robin Gareus [Wed, 24 Aug 2016 15:51:15 +0000 (17:51 +0200)]
reduce initial fluidsynth load

4 years agoTake process-lock before processor-lock
Robin Gareus [Wed, 24 Aug 2016 15:21:43 +0000 (17:21 +0200)]
Take process-lock before processor-lock

This [hopefully] fixes jack1 zombification on session-load with large
plugin-states. Previously it was possible to block
Route::process_output_buffers().

4 years agoprevent a unlikely race: concurrent restore() + work_response ()
Robin Gareus [Wed, 24 Aug 2016 13:38:36 +0000 (15:38 +0200)]
prevent a unlikely race: concurrent restore() + work_response ()

4 years agoupdate fluidsynth patch
Robin Gareus [Wed, 24 Aug 2016 11:04:03 +0000 (13:04 +0200)]
update fluidsynth patch

4 years agotweak a-fluidsynth reinit strategy.
Robin Gareus [Wed, 24 Aug 2016 11:01:40 +0000 (13:01 +0200)]
tweak a-fluidsynth reinit strategy.

reset synth in offline thread, queue panic on deactivate to be
called in run() after first re-activate.

Initial activation does not warrant a panic.

4 years agostrip down libfluidsynth a bit more
Robin Gareus [Wed, 24 Aug 2016 11:00:20 +0000 (13:00 +0200)]
strip down libfluidsynth a bit more

4 years agoFix string to float conversion when typing gain values in Gain Meter
Tim Mayberry [Sun, 21 Aug 2016 11:52:04 +0000 (21:52 +1000)]
Fix string to float conversion when typing gain values in Gain Meter

Remove the LocaleGuard so that the value of LC_NUMERIC is that of the users
locale and sscanf will parse the string correctly. For instance, with a locale
like nl_NL or fr_FR where the decimal point is different than the "C" locale,
only the number up to the decimal point will be parsed by sscanf and input
values will be rounded down.

4 years agoadd support for reverb & chorus in a-fluidsynth
Robin Gareus [Wed, 24 Aug 2016 03:33:18 +0000 (05:33 +0200)]
add support for reverb & chorus in a-fluidsynth

4 years agoARDOUR::FluidSynth automatically assign first 16 channels
Robin Gareus [Wed, 24 Aug 2016 03:31:30 +0000 (05:31 +0200)]
ARDOUR::FluidSynth automatically assign first 16 channels

4 years agofix generic GUI layout for no-control UIs
Robin Gareus [Wed, 24 Aug 2016 01:18:28 +0000 (03:18 +0200)]
fix generic GUI layout for no-control UIs

4 years agoa-fluidsynth
Robin Gareus [Wed, 24 Aug 2016 01:18:14 +0000 (03:18 +0200)]
a-fluidsynth

4 years agoproperly fix copy/paste typos
Robin Gareus [Wed, 24 Aug 2016 00:26:39 +0000 (02:26 +0200)]
properly fix copy/paste typos

4 years agofluidsynth 1.1.6 actually
Robin Gareus [Wed, 24 Aug 2016 00:21:30 +0000 (02:21 +0200)]
fluidsynth 1.1.6 actually

4 years agofix windows build/runtime
Robin Gareus [Tue, 23 Aug 2016 20:58:03 +0000 (22:58 +0200)]
fix windows build/runtime

4 years agoexample fluidsynth lua script (currently: hardcoded .sf2)
Robin Gareus [Tue, 23 Aug 2016 20:19:34 +0000 (22:19 +0200)]
example fluidsynth lua script (currently: hardcoded .sf2)

4 years agoadd FluidSynth Lua Bindings
Robin Gareus [Tue, 23 Aug 2016 20:18:04 +0000 (22:18 +0200)]
add FluidSynth Lua Bindings

4 years agoadd basic libardour wrapper for fluidsynth (for Lua bindings)
Robin Gareus [Tue, 23 Aug 2016 20:17:46 +0000 (22:17 +0200)]
add basic libardour wrapper for fluidsynth (for Lua bindings)

4 years agoImport libfluidsynth into the Ardour codebase
Robin Gareus [Tue, 23 Aug 2016 16:50:54 +0000 (18:50 +0200)]
Import libfluidsynth into the Ardour codebase

4 years agoDon't attempt to snap to the current musical grid when dragging tempi.
nick_m [Tue, 23 Aug 2016 17:41:42 +0000 (03:41 +1000)]
Don't attempt to snap to the current musical grid when dragging tempi.

4 years agoTempo marker movement snaps to the future grid, rather than the current one.
nick_m [Tue, 23 Aug 2016 17:38:46 +0000 (03:38 +1000)]
Tempo marker movement snaps to the future grid, rather than the current one.

- fixes jittery tempo movement when snapping within large gradients.

4 years agoRound to bar correctly in TempoMap::exact_beat_at_frame_locked().
nick_m [Tue, 23 Aug 2016 17:23:04 +0000 (03:23 +1000)]
Round to bar correctly in TempoMap::exact_beat_at_frame_locked().

4 years agoNyquist (pronounce it like Klopstock!)
Robin Gareus [Tue, 23 Aug 2016 11:44:00 +0000 (13:44 +0200)]
Nyquist (pronounce it like Klopstock!)

4 years agofix threaded state restore (duplicate calls to restore during init)
Robin Gareus [Tue, 23 Aug 2016 11:40:42 +0000 (13:40 +0200)]
fix threaded state restore (duplicate calls to restore during init)

and also allow immediate work during use latency-compute runs.

At session load, Ardour calls a plugins "set default" state (GUI thread).
Some plugins may schedule work during state-restore. Ardour immediately
proceeded to restore the actual session plugin state without processing
the already scheduled work and without calling run() for a plugin
to apply state synchronously.

4 years agoOSC: Tweak GUI to be more user obvious.
Len Ovens [Mon, 22 Aug 2016 20:23:04 +0000 (13:23 -0700)]
OSC: Tweak GUI to be more user obvious.

4 years agoupdate session utils for API change in 636522
Robin Gareus [Mon, 22 Aug 2016 16:52:08 +0000 (18:52 +0200)]
update session utils for API change in 636522

4 years agoprint a warning if CoreAudio falls back to non realtime priority
Robin Gareus [Mon, 22 Aug 2016 15:38:45 +0000 (17:38 +0200)]
print a warning if CoreAudio falls back to non realtime priority

4 years agobetter late than never
Robin Gareus [Mon, 22 Aug 2016 14:29:16 +0000 (16:29 +0200)]
better late than never

4 years agouse user-specified insertion point when adding new tracks/busses with a template
Paul Davis [Mon, 22 Aug 2016 13:44:48 +0000 (09:44 -0400)]
use user-specified insertion point when adding new tracks/busses with a template

4 years agouse insert at specification when duplicating tracks/busses
Paul Davis [Mon, 22 Aug 2016 13:41:53 +0000 (09:41 -0400)]
use insert at specification when duplicating tracks/busses

4 years agofix signed/unsigned warning
Paul Davis [Mon, 22 Aug 2016 13:41:28 +0000 (09:41 -0400)]
fix signed/unsigned warning

4 years agonew libardour API for Session::new_route_from_template to allow specifying insertion...
Paul Davis [Mon, 22 Aug 2016 13:41:08 +0000 (09:41 -0400)]
new libardour API for Session::new_route_from_template to allow specifying insertion point

4 years agoadd insert-at combo selector for duplicate tracks dialog
Paul Davis [Mon, 22 Aug 2016 13:06:13 +0000 (09:06 -0400)]
add insert-at combo selector for duplicate tracks dialog

4 years agoParse information from harvid independent from the locale
Robin Gareus [Mon, 22 Aug 2016 12:47:19 +0000 (14:47 +0200)]
Parse information from harvid independent from the locale

This fixes a crash where aspect ratio "0.5" from harvid was interpreted
as "0" in the French locale (expecting 0,5).

Note: harvid uses a portable, not localized snprintf() implementation

4 years agofactor out "new route insertion point" enums so they can be shared by relevant dialogs
Paul Davis [Mon, 22 Aug 2016 12:40:12 +0000 (08:40 -0400)]
factor out "new route insertion point" enums so they can be shared by relevant dialogs

4 years agoremove debug output from last commit
Paul Davis [Mon, 22 Aug 2016 01:44:33 +0000 (21:44 -0400)]
remove debug output from last commit

4 years agoediting plugin with generic GUI has a tooltip saying it uses the primary modifier...
Paul Davis [Mon, 22 Aug 2016 01:41:57 +0000 (21:41 -0400)]
editing plugin with generic GUI has a tooltip saying it uses the primary modifier. Make it so

4 years agopong on the major scale (and fix a typo)
Robin Gareus [Mon, 22 Aug 2016 01:26:14 +0000 (03:26 +0200)]
pong on the major scale (and fix a typo)

4 years agoRepeat INSENSITIVE colors instead of relying on inheritance
Julien "_FrnchFrgg_" RIVAUD [Sun, 21 Aug 2016 23:57:20 +0000 (01:57 +0200)]
Repeat INSENSITIVE colors instead of relying on inheritance

Since inheritance doesn't seem to work on some systems, though it worked
on mine.

4 years agoOSC: populate check boxes with default settings at session start
Len Ovens [Sun, 21 Aug 2016 23:31:22 +0000 (16:31 -0700)]
OSC: populate check boxes with default settings at session start

4 years agoOSC: set global variables in global space - crash fix
Len Ovens [Sun, 21 Aug 2016 21:15:54 +0000 (14:15 -0700)]
OSC: set global variables in global space - crash fix

4 years agoremove close buttons from Bundle Manager (rely on WM provided button)
Robin Gareus [Sun, 21 Aug 2016 20:58:52 +0000 (22:58 +0200)]
remove close buttons from Bundle Manager (rely on WM provided button)

4 years agoeven more consistent labels in the mundle manager
Robin Gareus [Sun, 21 Aug 2016 20:58:01 +0000 (22:58 +0200)]
even more consistent labels in the mundle manager

4 years agomore musical pong. uhm ping.
Robin Gareus [Sun, 21 Aug 2016 20:57:18 +0000 (22:57 +0200)]
more musical pong. uhm ping.

4 years agoFix another crash at exit:
Robin Gareus [Sun, 21 Aug 2016 20:08:54 +0000 (22:08 +0200)]
Fix another crash at exit:

Collecting bindings after ::finish() has already destroyed half the GUI
will result in memory corruption invalid Glib::RefPtr<Gtk::Action>

 Gtkmm2ext::ActionMap::get_actions()
 Gtkmm2ext::Bindings::get_all_actions()
 KeyEditor::Tab::populate()
 KeyEditor::refresh()
 Editor::set_script_action_name()
 LuaInstance::session_going_away()
 PBD::Destructible::drop_references()
 ARDOUR::Session::destroy()
 ARDOUR::Session::~Session()
 ARDOUR_UI::finish()

4 years agoOSC GUI: Add Strip types and feedback check boxes
Len Ovens [Sun, 21 Aug 2016 20:25:11 +0000 (13:25 -0700)]
OSC GUI: Add Strip types and feedback check boxes

4 years agoResolve Bundle Manager Input/Output label ambiguity
Robin Gareus [Sun, 21 Aug 2016 17:12:16 +0000 (19:12 +0200)]
Resolve Bundle Manager Input/Output label ambiguity

4 years agoNO-OP: more source code comments
Robin Gareus [Sun, 21 Aug 2016 15:43:24 +0000 (17:43 +0200)]
NO-OP: more source code comments

4 years agoMerge set_pango_fontsize() into reset_dpi()
Julien "_FrnchFrgg_" RIVAUD [Sun, 21 Aug 2016 09:51:54 +0000 (11:51 +0200)]
Merge set_pango_fontsize() into reset_dpi()

… since reset_dpi() is the only caller.

4 years agoSilence a GCC initialization order warning
Julien "_FrnchFrgg_" RIVAUD [Sun, 21 Aug 2016 08:51:47 +0000 (10:51 +0200)]
Silence a GCC initialization order warning

4 years agorefurbish a-pong
Robin Gareus [Sun, 21 Aug 2016 10:34:15 +0000 (12:34 +0200)]
refurbish a-pong

* add code comments
* support no-inplace audio processing
* display score
* add re-init & difficulty settings

4 years agoclean up a-pong
Robin Gareus [Sat, 20 Aug 2016 23:36:50 +0000 (01:36 +0200)]
clean up a-pong

4 years agoExclude dev/example Lua scripts from packages
Robin Gareus [Sat, 20 Aug 2016 22:41:49 +0000 (00:41 +0200)]
Exclude dev/example Lua scripts from packages

4 years agoshowcase
Robin Gareus [Sat, 20 Aug 2016 22:23:55 +0000 (00:23 +0200)]
showcase

4 years agoLua bind MonitorProcessor
Robin Gareus [Fri, 19 Aug 2016 19:31:38 +0000 (21:31 +0200)]
Lua bind MonitorProcessor

4 years agoAvoid jitter of track headers width when changing automation states
Julien "_FrnchFrgg_" RIVAUD [Sat, 20 Aug 2016 16:32:37 +0000 (18:32 +0200)]
Avoid jitter of track headers width when changing automation states

4 years agoMake knobs size requests dynamic
Julien "_FrnchFrgg_" RIVAUD [Sat, 20 Aug 2016 16:12:49 +0000 (18:12 +0200)]
Make knobs size requests dynamic

At the point of creation, the automate_button size request is wrong
since it has not the correct style yet. Instead of trying ugly hacks to
fix that, connect to the knob's size_request signal and get the button's
requisition only when needed. If the system font changes to one that has
different extents (even if the point size is the same), the UI will thus
correctly update.