Commit Graph

27752 Commits

Author SHA1 Message Date
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
9cfcb0bd92
Mixbus uses K14 (not K20) master meter by default (see also 297ed001d) 2019-07-02 20:18:26 +02:00
db2ed6ade5
Remove unused API -- there is no default backend. 2019-07-02 20:16:56 +02:00
dc4dc048a9
Improve headless Ardour somewhat
* Allow to exit cleanly (using access-action)
* Terminate when the backend is halted
* Handle various commandline arguments as advertised
  - print version
  - disable hardware optimization
  - set client-name
  - prevent port-connections
* Use JACK -- previously hardour only worked if
  Ardour was compiled with JACK as *only* backend.
  Other backends are listed before JACK, set_default_backend()
  never picks JACK unless it's the only one.
  Other backends need configuration, or EngineState from config.
  This is currently handled in the GUI's engine-dialog..
2019-07-02 20:16:48 +02:00
1801c33ee4
Consolidate headless startup scripts and make hardev work again
This fixes an issue with inconsistent startup scripts.
LD_LIBRARY_PATH was incomplete since at least 5.0 (5.12 is broken, too)
likewise ctrl surface path were outdated, etc.

Prefer to use `gtk2_ardour/ardev_common.sh.in` as the central
point to define environment variables for running Ardour from
the source-tree.
Other start scripts e.g. `vst/ardevst` already did this.
2019-07-02 17:33:56 +02:00
08f8b810d5
Remove non-existent backend-paths from start-script 2019-07-02 16:48:07 +02:00
297ed001d0
Mixbus/master is always using K20 by default
This only affects the meter-bridge, toolbar and editor track-header
(Mixbus' mixer is always using DPM, which is always enabled).
2019-07-02 16:12:06 +02:00
3630113414
LV2 support is not optional since 04ccd328dc 2019-06-24 21:52:27 +02:00
0bd6b0ee3d
NO-OP: documentation/comments 2019-06-24 15:09:54 +02:00
a3f8449595 Update to upstream ptformat 777686b (remove strndup && cleanup) 2019-06-24 22:54:45 +10:00
0a62d70a43 Revert "Huh?? I can't believe that MSVC doesn't support strndup() !!!"
This reverts commit 1a7a23a5ce.
2019-06-24 22:52:46 +10:00
1a7a23a5ce Huh?? I can't believe that MSVC doesn't support strndup() !!! 2019-06-23 15:52:59 +01:00
675759c167 Update references to ptfformat -> ptformat && fix api calls 2019-06-22 17:26:05 +10:00
f5524ddf37 ptformat: Update lib from legacy parser to new parser 6240b87 2019-06-22 17:26:05 +10:00
632ab8c421
NO-OP: whitespace 2019-06-21 00:46:23 +02:00
ad3d68b5b9
Show some Lua script buttons by default
This improves discoverability of edior action scripts
2019-06-21 00:44:33 +02:00
8a78b19e1b
Add Lua script to sort tracks by name 2019-06-21 00:43:29 +02:00
Johannes Mueller
3a2b577719 Honor the current start position when exporting chapter marks 2019-06-16 01:30:55 +02:00
Johannes Mueller
79db200bdb Some more frame -> sample changes (in scripts) 2019-06-16 01:30:34 +02:00