Robin Gareus
7b709b3cea
Implement vorbis encoder quality
...
This also prepares for codec-quality defaults, but
ExportFormatSpecification does not yet set those for previously unset
or new formats/presets.
2018-11-20 03:21:17 +01:00
Robin Gareus
cdc5b88c91
Handle port-export report of unplayable files
2018-11-20 00:44:40 +01:00
Robin Gareus
731a745c1c
Add some mp3 export presets
2018-11-20 00:21:51 +01:00
Robin Gareus
dfef8b7f62
FFMPEG/MP3 encoder quality select GUI
2018-11-20 00:21:15 +01:00
Robin Gareus
27e0e78e1d
Implement FFMPEG/MP3 export-format spec and profile
2018-11-20 00:21:01 +01:00
Robin Gareus
5fa05b403c
Prepare export-format codec-quality setting
2018-11-19 22:26:16 +01:00
Robin Gareus
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
Robin Gareus
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
Robin Gareus
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
Robin Gareus
a5b38fd6dc
Use libardour video-tool path (2/2)
2018-11-19 03:20:11 +01:00
Robin Gareus
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
Robin Gareus
103ef2ba08
Add API to write raw data to child processes.
2018-11-19 02:26:43 +01:00
Robin Gareus
3977fbae51
Lower impact of periodic backup script.
2018-11-17 00:13:12 +01:00
Robin Gareus
e14694bfa3
Update classkeys to match new total LuaSignal count (windows only)
2018-11-17 00:12:43 +01:00
Robin Gareus
821ab4aae2
Add a 1Hz Lua Callback Signal
2018-11-17 00:12:10 +01:00
Robin Gareus
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
Robin Gareus
c0a94b8399
Add headless split benchmark script
2018-11-15 23:05:22 +01:00
Robin Gareus
f83e87cf3b
LuaSession: allow multi-line commands and functions
2018-11-15 23:05:22 +01:00
Len Ovens
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
Len Ovens
f27ca29d6c
Changed send/deliver role "Personal" to "Foldback" so bus type can match
2018-11-12 22:30:32 -08:00
Len Ovens
e9013c0f99
OSC: New personal monitor buses no longer need to be hidden
2018-11-12 22:30:32 -08:00
Len Ovens
1b2b3452cb
OSC: logic thinko fix
2018-11-12 22:30:32 -08:00
Robin Gareus
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
Robin Gareus
9e20a24db0
Fix saving Lua Callbacks when un/register succeeds
...
This fix an issue introduce in 9971e718
2018-11-12 02:06:23 +01:00
Robin Gareus
693b579253
amend 02f92300, skip backup snapshot when recording
2018-11-12 01:58:12 +01:00
Robin Gareus
549e01feaa
Add Lua script to benchmark region-split operation
2018-11-11 21:28:15 +01:00
Robin Gareus
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
Robin Gareus
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
Robin Gareus
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
Robin Gareus
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
Len Ovens
894145c527
OSC: specify which stiripable type we want
2018-11-07 17:00:16 -08:00
Len Ovens
0140b24248
Change get_routes to get_routelist where appropriate.
2018-11-07 17:00:16 -08:00
Len Ovens
80fd215a5c
get_stripables and get_routelist are now presentationinfo aware
2018-11-07 17:00:16 -08:00
Robin Gareus
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
Robin Gareus
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
Robin Gareus
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
Robin Gareus
b06713bd8e
GUI options to select FLAC as media format
2018-11-07 19:59:51 +01:00
Robin Gareus
2991afaf0d
Add support for recording to .flac
2018-11-07 19:21:39 +01:00
Robin Gareus
1ca76c4e18
NO-OP: whitespace
2018-11-07 19:21:10 +01:00
Robin Gareus
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
Robin Gareus
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
Robin Gareus
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
Robin Gareus
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
Robin Gareus
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
Robin Gareus
c9bf89392f
Fix AudioUnit, missing const in cbef72b8a1
2018-11-04 04:10:07 +01:00
Robin Gareus
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
Robin Gareus
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
Robin Gareus
cbef72b8a1
Optimize Plugin connect & run API, use const maps
2018-11-04 02:16:34 +01:00