13
0
Commit Graph

26904 Commits

Author SHA1 Message Date
5fa05b403c Prepare export-format codec-quality setting 2018-11-19 22:26:16 +01:00
d18b247a05 Fix Windows and Mac Builds
* missing include for locale_to_utf8 (amend 4c6ff5f7e7)
* avoid void* arithemtic (amend 103ef2ba)
2018-11-19 12:54:07 +01:00
df72e1ba4f Initial backend support for external export encoder
This adds an experimental pipe to ffmpeg to encode mp3. Currently
quality is hardcoded and various aspects remain to be implemented.
However, it is sufficient for initial testing.
2018-11-19 05:21:17 +01:00
e4cbd5115e Add Pipe-to-command export backend
A first step towards allowing external encoders without intermediate
temporary file.
2018-11-19 03:30:40 +01:00
a5b38fd6dc Use libardour video-tool path (2/2) 2018-11-19 03:20:11 +01:00
4c6ff5f7e7 Move video-tool paths to libardour (1/2)
This is in preparation to allow calling ffmpeg, or similar (sox, lame,..)
directly from libardour.
2018-11-19 03:18:48 +01:00
103ef2ba08 Add API to write raw data to child processes. 2018-11-19 02:26:43 +01:00
3977fbae51 Lower impact of periodic backup script. 2018-11-17 00:13:12 +01:00
e14694bfa3 Update classkeys to match new total LuaSignal count (windows only) 2018-11-17 00:12:43 +01:00
821ab4aae2 Add a 1Hz Lua Callback Signal 2018-11-17 00:12:10 +01:00
9b3fd34b6b Properly limit generic-UI window size
Initially screen() is not unset, the window only exists after the
scroller has been realized. Also prevent initially over-sized window.
2018-11-15 23:05:22 +01:00
c0a94b8399 Add headless split benchmark script 2018-11-15 23:05:22 +01:00
f83e87cf3b LuaSession: allow multi-line commands and functions 2018-11-15 23:05:22 +01:00
9b2612f686 Make foldback bus match foldback sends namewise
to avoid confusion with listener sends or monitor bus
2018-11-12 22:30:32 -08:00
f27ca29d6c Changed send/deliver role "Personal" to "Foldback" so bus type can match 2018-11-12 22:30:32 -08:00
e9013c0f99 OSC: New personal monitor buses no longer need to be hidden 2018-11-12 22:30:32 -08:00
1b2b3452cb OSC: logic thinko fix 2018-11-12 22:30:32 -08:00
848187b264 Fix load/save Lua Editor scripts
* callbacks are unregistered during session-deletion, skip saving them
  during session destruction.
* prevent duplicate state restore, re-load script with the session, not
  window instance.
2018-11-12 02:30:46 +01:00
9e20a24db0 Fix saving Lua Callbacks when un/register succeeds
This fix an issue introduce in 9971e718
2018-11-12 02:06:23 +01:00
693b579253 amend 02f92300, skip backup snapshot when recording 2018-11-12 01:58:12 +01:00
549e01feaa Add Lua script to benchmark region-split operation 2018-11-11 21:28:15 +01:00
02f92300da Add callback script to periodically save a backup snapshot 2018-11-11 21:26:50 +01:00
Jan Lentfer
fb1fe5ce30 LCXL: some final fixes 2018-11-11 19:52:37 +01:00
8f216afa24 Another engine dialog edge-case fix to set the samplerate
Honor the sesssion's sample-rate when showing the dialog with the engine
stopped. This can happen when then engine dies or hide/show the dialog
after manually stopping the engine.
2018-11-11 19:51:56 +01:00
38301c808c Fix sample-rate override when changing backends or devices
This indirectly honors session_loaded() and prevents that restoring
engine-state can change the sample-rate dropdown when a session is loaded.
2018-11-11 18:50:01 +01:00
5396385b95 Fix playhead smoothing when auditioning.
Don't use timer to keep moving the playhead when auditioning.
This fixes playhead jiggling during audition.
2018-11-11 03:38:34 +01:00
894145c527 OSC: specify which stiripable type we want 2018-11-07 17:00:16 -08:00
0140b24248 Change get_routes to get_routelist where appropriate. 2018-11-07 17:00:16 -08:00
80fd215a5c get_stripables and get_routelist are now presentationinfo aware 2018-11-07 17:00:16 -08:00
41abf75077 Consolidate VST Plugin Info
This unifies common PluginManager VST code to construct *VSTPluginInfo
and also provides a dedicated is_instrument() method for VST plugins.
2018-11-07 23:37:10 +01:00
bc83e6f753 Force VST category to be "Instrument" for instruments.
This way it is picked up by the default PluginInfo::is_instrument()
method.
2018-11-07 23:05:54 +01:00
0b9c648e49 Honor effFlagsIsSynth and always assume those VSTs are instruments
This will incorrectly list some vocders or reaktor and the likes of
plugins with audio + midi input as Instruments IFF they also announce
effFlagsIsSynth flag.

NB. this is a first step only. we still need to override PluginInfo
2018-11-07 21:39:52 +01:00
b06713bd8e GUI options to select FLAC as media format 2018-11-07 19:59:51 +01:00
2991afaf0d Add support for recording to .flac 2018-11-07 19:21:39 +01:00
1ca76c4e18 NO-OP: whitespace 2018-11-07 19:21:10 +01:00
197a1e4446 Close files at rec-stop (re-open as needed)
This is in preparation to allow recording .flac files which are either
read or write not cannot be in read/write mode
2018-11-07 19:13:03 +01:00
a58f7caca1 Skip updating options for hidden file-dialog
This may also fix an edge-case issue where changing track selection
combined with invalid file selection may trigger a bad_file_message.
2018-11-06 23:00:26 +01:00
2bb22d2a14 DSP-Load Window: subscribe to newly added routes
This fixes an issue when adding plugins with the route (e.g MIDI)
or showing the window before adding a route in the first place.
2018-11-05 20:15:01 +01:00
9971e718fe Save Lua UI scripts separately
Previously EditorAction and ExitorHook scripts were saved with
instant.xml. The were saved with each session and in the config
dir (for new sessions). This allowed inconsistent UI setups, especially
when loading old sessions that had no or different scripts.

Now Editor scripts (actions and hooks) are saved in a dedicated file,
session-independently. This goes along with ui_config in general
e.g. action-table-columns

The scripts are not saved with ui_config file for two reasons:
ui_config settings related to built-in  ui_config_vars.h,
and in the future there may be further indirection like "ui-rc-file".

Note: previously loaded editor scripts are lost with this change.
2018-11-04 18:47:14 +01:00
Johannes Mueller
abb0957028 NO-OP: whitespace 2018-11-04 17:03:11 +01:00
8a4518d76f Remove C++11'ism
While gnu-gcc had `std::map:at const` as non-standard extension
it is n/a for older gcc on OSX.

Surprisingly this const& p() const; performs a tad better as well, likely
due to different exception handling.

Perhaps it is also worth investigating boost::flat_map<> as replacement
for std::map<>, here. Our common case is just a single entry, so using
a std::vector emulated mapping might help.
2018-11-04 15:37:46 +01:00
c9bf89392f Fix AudioUnit, missing const in cbef72b8a1 2018-11-04 04:10:07 +01:00
8d6d0b3232 Prefer const references for Pin/Channel maps
Another micro-optmization shaving off some ten microseconds for every
plugin. Also copying maps isn't RT-safe.

This may however cause issue if const map references can change
while a plugin is running.
2018-11-04 03:25:36 +01:00
e4c7cb1e75 Plugin pin-mapping micro-optimization
Prefer std::map::at() over std::map::operator[] to allow const maps.
For debug builds, there should probably some try{} catch{} along with this.
2018-11-04 02:21:53 +01:00
cbef72b8a1 Optimize Plugin connect & run API, use const maps 2018-11-04 02:16:34 +01:00
51e33796f1 Optimize Parameter Control Loop
For plugins with 10000 Control Inputs, dynamic_pointer_cast<> overhead
is significant, here ~2msec (~0.2usec per cast, optimized build, i7-5600U,
2.60GHz)
2018-11-04 02:16:34 +01:00
6bd583803e rename TransportMasterManager::init() to ::set_default_configuration() to make its purpose more clear 2018-11-02 21:52:00 -04:00
bf2d9e7a34 fix crash during first-run configuration of the application, caused by using an incomplete TransportMasterManager 2018-11-02 21:52:00 -04:00
c04fc2efe2 Allow strips to add or remove personal sends
in processor box context menu
2018-11-01 17:43:35 -07:00
06ffebca76 A listen route has no aux sends 2018-11-01 17:43:35 -07:00