13
0
Commit Graph

27720 Commits

Author SHA1 Message Date
771f2d2499
ALSA backend: fix play/capture device param detection 2019-07-24 16:40:40 +02:00
0fe3cba8b1
Fix ALSA available buffersize detection:
buffer-size = periods * period-size

Previously, buffersize was used for period-size.

This fixes an issue with a dedicated .asoundrc configuring a specific
period-size or buffer-size that has to be exact.
Ardour's device configuration failed in this case.

This has not been an issues since most hardware devices offer a wide
range: 8 < period-size < 262144 ; 16 < buffer-size < 524288.
Only a subset of which (32 .8192) is allowed by Ardour.
2019-07-24 16:40:32 +02:00
Nikolaus Gullotta
31ec8ce7d1 Location timestamp changes - can now sort by location creation date: gtk part 2019-07-22 15:47:17 -05:00
Nikolaus Gullotta
7d4f72174c Location timestamp changes - can now sort by location creation date: lib ardour part 2019-07-22 15:47:01 -05:00
b5a50821fc 'ARDOUR::LuaScripting::Sorter()' needs to be exportable (since it gets used outside of libardour) 2019-07-19 15:40:06 +01:00
3506600270
Refine Stem-Export selection options
Allow to exclude muted, or hidden tracks from stem-export
selection actions.
2019-07-19 02:14:09 +02:00
0d1d6d6975 remove -C,-E and -U command line options 2019-07-18 14:08:07 -06:00
b058356d1e reverse part of a previous change to session dialog
Back-button sensitive has a more complex semantic than the change
took into account
2019-07-18 13:39:56 -06:00
6f506962a7 Revert "fix use of session-creation via template, when just template name is given"
This reverts commit ce7add1481.
2019-07-18 13:38:43 -06:00
ce7add1481 fix use of session-creation via template, when just template name is given 2019-07-18 12:27:16 -06:00
4679439af9 some cleanups to the use of "require_new" in the SessionDialog
This removes some redundant code and makes the logic slightly
easier to read
2019-07-18 10:54:06 -06:00
47fcc85b19 remove debug output 2019-07-18 10:53:55 -06:00
b47df18d5c don't bother with session dialog if user has already provided the name
This recognizes that if a template is desired, it can be also be
set from the cmdline
2019-07-18 10:53:44 -06:00
5f8c9a4e60 if a user specifies just a session name (not path) and it does not exist, use the default session folder 2019-07-18 10:53:34 -06:00
473fd45ca2
Allow to use session-init/setup scripts from the commandline 2019-07-18 16:30:08 +02:00
aebdf5f00b
Fix --template commandline option
This fixed an issue with incorrect ".template" suffix on path itself,
and also correctly hides the dialog's template list.
2019-07-18 16:16:11 +02:00
d33423a8bd
Add session-util to create new session 2019-07-18 15:52:46 +02:00
59fe1e5bdd
Consolidate code: use libardour API to sort scripts 2019-07-18 15:52:32 +02:00
9748656a90
Sort Lua scripts case-insensitive and expose sort-struct 2019-07-18 15:52:29 +02:00
8d98dfe8fc
Remove debug output 2019-07-18 15:52:25 +02:00
214a92fcd5
Add Lua bindings to query&reset x-run count 2019-07-18 05:22:17 +02:00
728b53fa09
Expose mixer window screenshot method as Lua binding 2019-07-18 01:31:30 +02:00
c4cb9ef4d7
Tweak Mixer screenshot method, include VCA, master-bus 2019-07-18 00:05:32 +02:00
9cd1fd9e4a
Prepare screenshot of all mixer-strips
This will allow to create a PNG of all mixer-strips, even those currently
off-screen due to scrolling. It currently shows the main scroll-pane
page only (master-bus, VCAs are not included).

This method is not yet exposed.
2019-07-17 22:57:30 +02:00
90cf829f67
Use an explicit class-member for the mixer-strip container 2019-07-17 22:21:08 +02:00
2fc90b0bdd
Re-use existing latency display method 2019-07-17 17:31:11 +02:00
42fef35299
Update Latency GUI behavior
This allows to set the current nominal latency as custom latency.
Previously it was not possible to use the "initial_value" as custom
parameter.
2019-07-17 17:31:08 +02:00
2fd57d23fa
Track/Bus Inspector: remove unused latency "apply" button
Latency changes, and reset, are always directly applied.
LatencyGUI::finish is invoked by every change
2019-07-17 17:30:59 +02:00
7f12483336
NO-OP: whitespace 2019-07-17 17:30:53 +02:00
e68d441aa0
Fix patch-change bank update loop
Without an object, the Unwinder has no scope and the "ignore" variable
is never set.

In this case: When the patch-bank was changed externally this
lead to a duplicate recursive call to "refill_banks".
2019-07-17 17:30:50 +02:00
0e60060c62
Fix meter type/position context-menu issues 2019-07-17 17:30:47 +02:00
acf26b03a6
FFT analysis: use actual latency
Ardour allows to override a plugin's reported latency. So far this
was not taken into account when plotting the phase/freq response.
2019-07-17 17:30:43 +02:00
45f1220aa5
Fix deadlock when removing routes (initialization issues)
_setup_chain needs to point to the unused graph-chain, and not
_current_chain. Otherwise Graph::clear_other_chain() waits forever.
2019-07-15 00:55:51 +02:00
53c677e08f
Remember MIDI-track note-range -- #7773
Previously only manual changes of the note-range using the scroomer.
The NoteRangeChanged() was ignored for implicit changes (e.g. while
recording, step-entry) and automatic-fit that didn't involve a drag
event.
2019-07-14 18:49:30 +02:00
18958af3d8
Remove cruft: unused callback 2019-07-14 18:49:25 +02:00
169e15483a Implement a derived function for 'GainMeter::redraw_metrics()'
I'm not sure why exactly but at this line in 'GainMeter::set_controls ()' :-

    model_connections, invalidator (*this), boost::bind (&GainMeter::redraw_metrics, this), gui_context()

MSVC will not allow us to pass a base class function to boost::bind(). I tried explicitly specifying the base class and I also tried making the function public / making it virtual etc but the only thing which works is to implement a derived function.

It's somehow related to changing the signal from 'TypeChanged' to 'MeterTypeChanged' but I don't entirely understand why... :-(
2019-07-13 13:57:57 +01:00
dc131da53b
Hide "Add MIDI Port" in the GUI if there is already one 2019-07-11 22:58:27 +02:00
c6740b7cb0
Prevent adding a 2nd MIDI input/output port
Ardour's Tracks/Routes are not capable of handing more than one
MIDI port per per route properly. Most Plugin standards don't support
this either.

However, at this point in time IO::ensure_ports_locked() is not
limited by this restriction!

It is still possible to indirectly add a 2nd MIDI data-buffer
and output-port via plugin pin-management, or simply plugins with
two MIDI output ports when using flexible I/O.
2019-07-11 22:57:34 +02:00
b7369f421f
Re-work process-graph to use lock-free queues
This removes the trigger_mutex which was used for exclusive access
of the work-queue for concurrent processing.
2019-07-10 20:39:27 +02:00
929ecf622b
Add lock-free multiple producer multiple reader queue 2019-07-10 20:21:06 +02:00
57c3eaacf6
Fix process-thread naming 2019-07-10 20:20:44 +02:00
e8c2e43dc4
Tweak dump-playlist script to indicate current playlist 2019-07-06 18:10:36 +02:00
e85c10256b
Add Lua binding to set/create track playlists 2019-07-06 18:09:27 +02:00
d35ee75c77
NO-OP: whitespace 2019-07-04 22:35:07 +02:00
83d54e79d3
Cleanup headless getopt 2019-07-04 22:34:04 +02:00
31b4bc9166
Delay headless startup, allow background threads to start 2019-07-04 22:23:42 +02:00
8f9a1e1cf4
Use exit-status macros for compatibility 3/3 2019-07-04 22:21:49 +02:00
e76e18af96
Use exit-status macros for compatibility 2/3 2019-07-04 22:21:35 +02:00
dbc0c54ced
Use exit-status macros for compatibility 1/3 2019-07-04 22:21:14 +02:00
bd8897686a
headless: Use direct x-thread wakeup instead of sleep/spin 2019-07-04 22:02:52 +02:00