8c4c97d1e2
Update Fluidsynth to v2.0.2
2018-11-23 16:05:19 +01:00
afee22d5fa
Add/remove source(s) in our MSVC project (audiographer)
2018-11-23 07:27:32 +00:00
b7317eb1b3
Add/remove source(s) in our MSVC project (libardour)
2018-11-23 07:25:54 +00:00
04fe6d6fb4
Amend prev. commit, actually remove (1.0 - x) as was documented
2018-11-22 21:05:03 +01:00
7ed37d67ff
Backwards compatible sndfile support
...
SFC_SET_COMPRESSION_LEVEL was only added in 2012 and only available in
libsndfile 1.0.26 or later.
2018-11-22 20:36:41 +01:00
f795462100
Save LV2 Port Property values locally
...
This keeps track of lv2:Parameter properties modified with Port:Set,
currently file-paths.
2018-11-22 14:58:44 +01:00
9326ced760
Allow to revert export-format from disk
...
This allows to restore ProfileManager's ExportFormatSpec without
re-instantiating the ProfileManager.
2018-11-21 23:14:52 +01:00
3d366053e2
Set encoder quality for existing ExportFormatSpecs
2018-11-21 21:19:01 +01:00
d6a92dc521
Include session-metadata in external/ffmpeg export
2018-11-21 00:03:36 +01:00
d169864b5b
Prepare session-metadata export to external command
2018-11-20 23:56:12 +01:00
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
27e0e78e1d
Implement FFMPEG/MP3 export-format spec and profile
2018-11-20 00:21:01 +01:00
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
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
e14694bfa3
Update classkeys to match new total LuaSignal count (windows only)
2018-11-17 00:12:43 +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
Jan Lentfer
fb1fe5ce30
LCXL: some final fixes
2018-11-11 19:52:37 +01:00
894145c527
OSC: specify which stiripable type we want
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
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
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
Johannes Mueller
fe318c0cd5
Create sidechain ports when created from template ( #0007680 )
...
When a route with a sidechain is created from a template or by route
duplication the number of ports of the sidechain are set according to the
XMLNode defining the sidechain. Then the names are set according to the name of
the newly created route.
Thus all the pin connections defined in the template are replicated in the
newly created route.
2018-11-01 22:17:01 +01:00
Johannes Mueller
732fd75f9b
Update names of sidechains.
...
When a PluginInsert is created it does not have an owner right away. That's why
a we need to set the sidechains name once the owner is known, in order to
include owner's name into the name.
Furthermore we need to follow renames of the owner.
2018-11-01 18:53:27 +01:00
694c5fcfa6
Skip VST version check to detect MIDI inputs
...
Some plugins return 0 from effGetVstVersion and are hence not detected
as instruments. e.g. VeeSeeVSTRack (VCV). This may also explain why MIDI
port of some other VSTs are not exposed.
Most VST2.4 return 2400, so checking [effGetVstVersion] >=2 (and not 2000)
was incorrect to begin with.
2018-11-01 15:27:08 +01:00
fd832d9d1a
Add option to limit automatable control parmaters
...
VCVRack VST currently exposes 9999 automatable-control parmaters.
This slows down various GUI dropdown lists and dialogs.
(even worse: those parameters are not mapped to anything by default).
This change allows to limit automatable parameters to a reasonable number,
without loosing state of already automated parameters in existing sessions.
2018-10-31 23:44:04 +01:00
befa339d4b
Remove duplicate call
...
Automatable::add_control() already does insert a given parameter
to the _can_automate_list list if it's automatable.
2018-10-31 23:44:04 +01:00
f7b67501a9
OSC: Allow non-cue surfaces to create personal send and ListenBus
2018-10-30 12:15:28 -07:00
be5a89aa22
Add ListenBus to stripable types
2018-10-30 12:15:28 -07:00
5bd9bf868f
Safe-guard non-rt-safe sidechain operations
...
This is required by 7d8b93ad
for showing error when actively recording.
It also prevents other UIs (OSC, Lua,..) to change re-configuring
sidechain ports/plugins while recording.
2018-10-29 21:52:47 +01:00
383bd2526c
Fix incorrect VST callback fall-though (effective NOOP)
2018-10-27 10:33:58 +02:00
c1e68c91b5
Fix another compiler warning
2018-10-27 10:33:07 +02:00
c98fc1099d
Fix some Wimplicit-fallthrough
...
A "fall through" comment is most portable way to indicate
"no break, fallthru" cases.
* __attribute__ ((fallthrough)) // is not portable
* [[fallthrough]]; // is C++17
2018-10-26 14:53:44 +02:00
08d205c533
Fix some compiler warnings (exception catches)
2018-10-26 14:25:55 +02:00
7c3fd2fe79
Glib throws a const FileError exception
2018-10-26 13:40:03 +02:00
770a1a8a36
Fix Lua bindings (music-time, mapping)
2018-10-26 13:38:28 +02:00
5599cdb911
Fix race-condition/deadlock, plugin-copy while rolling
...
lili93's session (#ardour) triggered this w/jackd 512fpp:
Drag/Drop copy a latent plugin from one track to another while rolling.
The GUI-thread as well as the auto-connect thread concurrently call
jack_recompute_total_latencies(). The auto-connect thread holds
a process lock while doing so. The GUI does not use any mutexes.
This randomly deadlocks in libjack.
backtrace: https://pastebin.com/6m3KGhWS
2018-10-25 02:00:08 +02:00
d53f49acf4
Fix typo in binding, amend 9bbbc7fbe
2018-10-24 00:16:05 +02:00
c1626bee39
Add some missing link libs to MSVC zita-convolver
2018-10-23 09:55:31 +01:00
4e4c6e7d1e
Fix an edge-case in Dummy backend's random generator
...
INT_MAX == 2^31 is not a valid random seed for this LCG.
2018-10-22 15:46:59 +02:00
4e1464e70f
Sort VST factory presets
...
This is more of a workaround than a fix. Simply by forcing the
URI to be sortable (VST-user presets are sorted at the end).
This eventually needs a deeper cleanup and API consolidation
PluginInfo::get_presets(bool) returns an ordered std::vector.
However this API is only used in a few cases where the plugin is
not instantiated. PluginInfo::get_presets(bool).
The problem is Plugin::get_presets(). The method returns
information that was previously cached by Plugin::find_presets() in
std::map<URI, ...>
2018-10-22 15:46:59 +02:00
947f6c78b2
Remaining changes needed to build zita-convolver with MSVC
2018-10-22 08:56:22 +01:00
16927d747f
Add MSVC support for building the 'zita-convolver' library (which is now needed by libardour)
2018-10-22 08:53:20 +01:00
5003bef0e3
Accommodate newly introduced source(s) in our MSVC project (fluidsynth)
2018-10-22 08:46:59 +01:00
504ba49c6d
Potential fix for lost VST MIDI events
...
Ardour's VST MIDI buffer API does not yet implement offsets and limits.
When a cycle is split, the same midi-buffer is used for all sub-divisions
leading to duplicate, offset, events.
2018-10-21 20:48:11 +02:00
1229d50e45
MSVC compatibility for zita-convolver
2018-10-21 17:02:14 +02:00
Christopher Arndt
47d341434e
Avoid use of 'std::to_string
...
Signed-off-by: Christopher Arndt <chris@chrisarndt.de>
2018-10-21 01:08:09 +02:00
Christopher Arndt
8e25b4d193
Add plugin version and parameter count to VST user presets
...
Signed-off-by: Christopher Arndt <chris@chrisarndt.de>
2018-10-21 01:08:09 +02:00
83a0b1e3a8
Personal monitor now saves and restores
2018-10-19 16:59:44 -07:00
4c02780262
Lua bindings for convolution DSP
2018-10-20 00:24:38 +02:00
087b8d7f33
Implement basic libardour convolution DSP
2018-10-20 00:24:38 +02:00
fec787c8f4
zita-convolver windows/mingw build fix
...
- semaphore is available,
- pthread_t is not a pointer type (but here it's not used anyway)
2018-10-20 00:24:38 +02:00
8e78827deb
NO-OP: clang-format whitespace
2018-10-20 00:24:38 +02:00
876e780e4d
zita-convolver: add namespace & visibility, remove global externs
2018-10-20 00:24:38 +02:00
e554d1fad5
Add upstream libzita-convolver 4.0.3
2018-10-20 00:24:38 +02:00
c6955d4994
Allow Lua DSP processors to report latency
2018-10-20 00:24:38 +02:00
777fe3c68f
Add personal monitor sends
2018-10-19 08:51:29 -07:00
070f370e40
Fix copy/edit in e047b01aa2
2018-10-18 15:07:45 +02:00
897258f5f1
Fix scalar initialization of shared_ptr<>.
2018-10-18 04:15:47 +02:00
2de7ee24a8
Fluidsynth 2.0 uses anonymous unions (added in c11, or gnu99)
2018-10-18 04:09:25 +02:00
Andreas Müller
5b03c41f6c
Follow fluidsynth's API changes introduced with 2.0.0
...
Updated patch from Andreas Müller <schnitzeltony@gmail.com>
2018-10-18 01:43:43 +02:00
abf7905d5f
Update Fluidsynth to 2.0.1
2018-10-18 01:43:43 +02:00
5b280463ce
Noop: fix white space
2018-10-17 16:25:49 -07:00
5e21b6633d
Option to hide send if aux is hidden
2018-10-17 15:59:00 -07:00
Andreas Müller
d2aa57af3b
Prevent excessive meter redraws for inactive meters at zero II
...
Same as be826f3635
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2018-10-17 22:35:29 +02:00
0e55f33f38
correct comment
2018-10-17 14:13:52 -04:00
e047b01aa2
add new API for retrieving port flags from backend
2018-10-17 14:11:37 -04:00
70c0e34c4d
when calling Session::engine_halted() after a user-driven engine stop, make sure Engine::running() will be false
2018-10-17 13:15:52 -04:00
Jan Lentfer
05d3539591
LCXL: complete overhaul and Mixbus support
2018-10-17 15:14:59 +02:00
Térence Clastres
a33a5cdeaf
LCXL: Assign one callback function per Knob/Fader
2018-10-17 15:14:59 +02:00
1b7cb8aec4
OSC: personal monitor can hide the aux bus
2018-10-16 13:56:52 -07:00
87ab15c862
OSC: personal monitor send hidden follows aux hidden
2018-10-16 13:56:52 -07:00
8160fd1348
OSC: personal monitor should only send signal present on change
2018-10-16 13:56:52 -07:00
5e27b6de2f
indentation fix
2018-10-15 16:38:21 -04:00
f7f5a096d5
#include tidy-up
2018-10-15 16:38:07 -04:00
e31bae4d09
Remove a #include and substitute a forward declaration (to simplify and speed up compilation)
2018-10-15 10:21:45 +01:00
20cd325f4e
Adapt some MSVC projects to accommodate the changes to 'ptformat' library
2018-10-15 10:19:26 +01:00
b35283caa1
OSC: allow personal monitor to add a send.
2018-10-14 21:20:57 -07:00
8ed33f1bc7
remove use of hardcoded -fPIC compiler flag, and use compiler flag dict instead
2018-10-14 22:06:11 -04:00
d7fca7c828
fix mixup with previous commit
2018-10-14 21:22:39 -04:00
0cf27fd2cd
fix several inter-related problems with libptformat
2018-10-14 20:35:29 -04:00
a5a5ba1ace
Clarify where the file 'ptfformat.h' can be found
2018-10-13 13:49:50 +01:00
8d3312990c
Accommodate newly introduced source(s) in our MSVC project (libardour)
2018-10-13 13:46:30 +01:00
0e6d88f39a
PT import: Fix circular dependency with libptformat <-> libardour
2018-10-12 19:09:40 +11:00
3fd7f9478f
PT import: Minor changes to session
2018-10-12 19:09:40 +11:00
244098cb40
PT import: Add new import_pt.cc session methods
2018-10-12 19:09:40 +11:00
ca6c11dbca
libptformat: Update lib to upstream e75320e (+source lengths)
2018-10-12 19:09:40 +11:00
2a9af2d2f6
Always use internal, modified, zita-resampler
...
zita-resampler was modified from the original:
* a dedicated mono variable-resampler version was added
* full-cycle no-resampling was optimized into a delayline
2018-10-11 15:30:28 +02:00
78a3683233
Consolidate relative sched_get_priority computation
2018-10-11 15:29:50 +02:00
3a776b58ce
Use new RT-priority API
2018-10-11 15:29:43 +02:00
94e6164bc3
Add API to query backend realtime thread priority
2018-10-11 15:29:40 +02:00
5c47ce32ec
Fix master_send_enable_controllable for Mixbusses
2018-10-10 22:41:49 +02:00
19bbbc7fbe
Fix inconsistent controllable Lua binding names
...
This also fixes incorrectly mapped send_level/enable
2018-10-10 22:32:08 +02:00
96b4a85fed
Fix well-known control Lua bindings
2018-10-10 22:16:08 +02:00
b27a8169d2
Ignore small (or negative) radii.
...
Some calls use e.g. (corner_radius - 1.5). With small radii or boxy
layout the radius can become negative.
2018-10-09 19:31:01 +02:00
b32b9ceb58
Constant radian/degree factor
2018-10-09 19:31:01 +02:00
425c54883a
Remove unused variable
2018-10-09 19:31:01 +02:00
970c8939d4
some rather simple code to allow MIDI Clock to set the tempo of the session.
...
This is only allowed if the session has only 1 tempo marker
2018-10-08 12:59:51 -04:00
ad4dc4460d
fix duplicate name check for new transport master
2018-10-07 12:43:28 -04:00
a4692389b8
fix return value and avoid unnecessary extra conditional
2018-10-07 12:29:37 -04:00
1168ffecad
remove crazy thinko
2018-10-07 12:28:53 -04:00
0f6e67a32f
Faderport(Classic): Add Record-PreRoll and Record-CountIn actions to the footswitch selections. Could make this menu access -any- action, but I think a short useful list of transport items is better in this case.
2018-10-07 10:10:03 -05:00
16dc3a1613
Properly disable looping when deleting loop-range
2018-10-05 21:50:55 +02:00
32b7343927
NO-OP: whitespace
2018-10-05 21:50:55 +02:00
e4a914e26e
make remove work for transport masters (bug fix, really)
2018-10-05 14:29:15 -04:00
f0a395e7cd
stop MIDIClock transport master reporting continued timestamps
2018-10-05 14:15:02 -04:00
4c7e5dbc74
move away from "sync source" concepts
2018-10-05 14:15:02 -04:00
67ba0bd992
laying the groundwork for adding/removing transport masters
2018-10-05 14:15:02 -04:00
ccccac7a10
Fix the User button for Mixbus; we use it as a button, not a modifier.
2018-10-04 19:29:14 -05:00
e6aeb9d6e8
remove LTC port parameter, since it's no longer a thing.
...
This commit does not remove this concept from the libs/ardour/engine_state_controller code,
which is used exclusively by Waves Track Live (to the extent that this can be said to
be "used").
2018-10-04 10:17:40 -04:00
22061310c0
add new ::update_interval() method for transport masters, and use in shared ::speed_and_position() implementation
2018-10-04 00:42:14 -04:00
1dc35d157e
fix error introduced in MTC transport master
2018-10-04 00:42:14 -04:00
59b789d2bb
Sort Session templates alphabetically
2018-10-04 03:36:14 +02:00
b6b353d452
Handle generic-midi bindings per session.
...
This allows to special-cases session-specific control-surface state.
e.g. midi-learn.
Only restore midi-learned, session-specific, bindings when loading a
session with generic-midi enabled.
Also dis/re-enable generic-midi resets midi-learned, but no other
session-independent settings.
This also handles the edge case:
1) load global config, generic-midi = ON, w/ bindings.
state is remembered as cpi->state
2) load session-condig, generic-midi = OFF, cpi->state is retained
3) user enables the surface, cpi->state from (1) is applied.
-> invalid bindings applied -> fail
2018-10-04 02:30:21 +02:00
9df6e334fc
Persistent ctrl-surface state
...
Keep latest surface configuration, regardless if surface is active
or being deactivated. Current state after de-activation is retained.
Currently state loaded from a session overrides global state from
global preferences, if the surface is marked active in the session.
This is to allow midi-learn.
generic-midi and session-specific midi-learn will require additional
work.
2018-10-04 01:36:51 +02:00
be826f3635
Prevent excessive meter redraws for inactive meters at zero
2018-10-03 20:54:14 +02:00
cdc64358ec
Properly initialize midi-meters
...
Midi meters are using linear 0..1 range, (not decibels, no log-scale
falloff).
If a track is deactivated, run() is never called. the queued reset never
executed and the meter remained at the initialization default -inf
(visually it looked like a pegged meter).
2018-10-03 20:22:30 +02:00
e01582dd9a
Prepare a boxy, no round borders, button-style
2018-10-02 21:28:49 +02:00
62cd539143
Fix false-positive duplicate format detection
...
Previously, stem-exports of more than 1 channel always included
the export-format, even if only one format was exported.
2018-10-02 21:28:49 +02:00
feb2763a8a
libptformat: Add ability to reuse object && add path to ptf to api
2018-10-02 20:14:04 +10:00
b60e9f7df9
Remove a call to 'fst_audio_master_idle()'
...
Nobody seems quite sure why it's needed but it seems to be crashing a lot of plugins:-
http://tracker.ardour.org/view.php?id=7668
2018-10-02 09:17:32 +01:00
87559a6054
Fix Mixbus master-bus tape-saturation controllable
2018-09-30 15:34:59 +02:00
cf652331ad
Adapt our remaining MSVC projects for 'boost::atomic' (in case it later gets extended to the other libs)
...
Stage 3 of 3
2018-09-30 09:19:28 +01:00
b519434744
Adapt our remaining MSVC projects for 'boost::atomic' (in case it later gets extended to the other libs)
...
Stage 2 of 3 (more to follow)
2018-09-30 09:06:25 +01:00
9506a294c7
Adapt our remaining MSVC projects for 'boost::atomic' (in case it later gets extended to the other libs)
...
Stage 1 of 3 (more to follow)
2018-09-30 08:56:12 +01:00
097176696b
Add support (in our MSVC projects) for using 'boost::atomic'
...
(only done "where necessary" for the moment - more to follow...)
2018-09-29 12:22:47 +01:00
d76589d90f
FP8/16: include makeup gain control
2018-09-28 16:19:40 +02:00
Albert Graef
65693a72a2
MCP: Fix up the feedback for the view selection buttons.
2018-09-27 11:31:13 -04:00
Albert Graef
38bccabeca
MCP: Allow the current bank to move right one channel even if this results in a partial bank.
...
Rationale: This change is trivial, but Ardour's behavior of refusing to move right one channel unless a full bank remains has been there for a long time, and there are probably good reasons for it. This design was likely conceived when all MCP-compatible devices had banks of 8 faders anyway. However, with the advent of affordable single-strip devices like the X-Touch ONE it becomes a real issue.
Single-strip devices can only access the first channel in the current bank, so relaxing this restriction is the easiest way to enable such devices to access all strips, while still maintaining the usual bank size of 8. Note that maintaining a bank size of 8 is beneficial even with single-strip devices for several reasons:
- It allows use of the bank switch buttons to flip through a large number of strips more quickly.
- It maintains compatibility with existing device descriptions. E.g., the X-Touch ONE can be used with the existing X-Touch device description without any ado.
- Most importantly, it maintains compatibility with other MCP-compatible controllers which do have 8 strips and may be connected to Ardour at the same time. E.g., one might want to use an X-Touch Mini, or even a full-size X-Touch along with the X-Touch ONE in some use cases. Changing the bank size to 1 affects all connected MCP devices, so you'd rather keep the bank size to 8 in such scenarios. (Ardour should preferably have separate bank size settings for each connected MCP device, but that isn't possible right now since only one MCP device description can be active at the same time.)
2018-09-27 11:31:13 -04:00
Albert Graef
936f6814ac
MCP: Fix up the feedback for the bank left/right buttons.
2018-09-27 11:31:13 -04:00
c4fcd0c268
consolidate all transport masters on a SafeTime object that is a member of the TransportMaster base class.
...
This seems to have broken some aspects of chasing/locking
2018-09-27 11:31:13 -04:00
147d456dbd
change type of MIDI::Parser::position signal to include timestamp
2018-09-27 11:31:13 -04:00
0f7123d33a
more objectification for SafeTime
2018-09-27 11:31:13 -04:00
b6aefaf100
initial hacks towards a truly thread-safe SafeTime object, using boost::atomic
2018-09-27 11:31:13 -04:00
3c11660d2a
VST-state, set/restore program before loading chunk.
...
This may fix some issues with VST state being restored incorrectly
when a plugin-preset was loaded.
2018-09-25 21:46:59 +02:00
99a8899c2d
Add Lua bindings to query DSP load statistics
2018-09-25 18:01:22 +02:00
6ca8ec5141
remove debug output
2018-09-23 13:48:19 -04:00
12d5eb9a34
remove debug output
2018-09-23 13:48:19 -04:00
d48dd0ccd5
defer creating a visibility tracker for a window until the window is mapped
...
Without this, the visibility tracker will report that the window is not visible at startup, and
this overrides the XML _visible property which denotes that the window should be made visible
2018-09-23 13:48:19 -04:00
b9d8f75119
emit property change for "collect" on a TransportMaster
2018-09-23 13:48:19 -04:00
fd23f89b35
Accommodate newly added/renamed source(s) in our MSVC project (libardour)
2018-09-22 16:55:43 +01:00
Jan Lentfer
e52c8e376a
LCXL: fix off by one cause by fader8master
2018-09-22 15:12:26 +02:00
Jan Lentfer
7d6c9c3085
LCXL: Fix a crash on exit
2018-09-22 15:12:26 +02:00
3b151c8cfb
no more slave.h
2018-09-22 09:03:50 -04:00
c83d5add7b
use abs() instead of fabs() on integers
2018-09-22 08:51:58 -04:00
f39bcaa4bf
Revert "MSVC complains because we're using 'fabs()' to compare 2 x integers"
...
You can't remove an abs() conversion and keep the same semantics.
This reverts commit d89b8cc0ad
.
2018-09-22 08:50:16 -04:00
62f29d6c44
remove old slave files
2018-09-22 08:49:24 -04:00
736b6a3e57
Replace a namespace brace deleted by accident
2018-09-22 09:08:44 +01:00
a3a156520d
Remove some namespace ambiguity
...
There are a couple of places where we're using both MIDI namespace as well as ARDOUR namespace (both of which declare 'pframes_t)
2018-09-22 08:48:41 +01:00
0354dbdfe9
Remove 2 x unneeded functions in 'SlaveSessionProxy'
...
I assume they're not needed now because their declarations got removed in commit #e6915e01de
2018-09-22 08:44:42 +01:00
d89b8cc0ad
MSVC complains because we're using 'fabs()' to compare 2 x integers
2018-09-22 08:39:34 +01:00
6dd6f6bb16
Fix typo: emit signal (don't construct an object)
2018-09-21 21:35:28 +02:00
357361c89d
Fix --no-nls (4/5), i18n include order in libs/*
...
"i18n.h" needs to be included last (after any includes that may indirectly
pull in getext or libintl etc)
2018-09-21 19:05:39 +02:00
497a3fbaa1
Fix --no-nls (2/5), prefer #if in libs
...
This is for consistency with system-wide gettext.h which is used
by some 3rd party libs. system-wide gettext uses `#if ENABLE_NLS`,
not #ifdef
2018-09-21 19:03:33 +02:00
03e5b97921
missing enum/properties stuff
2018-09-20 12:00:16 -04:00
9cdbeaa07d
switch transport masters to use properties and notify via PropertyChanged
2018-09-20 11:30:28 -04:00
84930c0cf1
namespace change to help out on non-linux platforms
2018-09-18 21:35:33 -04:00
a183b3bff4
do not initialize boost::shared_ptr<> with zero
2018-09-18 21:26:43 -04:00
87c11bcc2e
boost/atomic.hpp is not used
2018-09-18 20:01:05 -04:00
e6915e01de
new transport slave/master implementation, libs/ edition
2018-09-18 19:06:04 -04:00
7390b88c2b
OSC: Allow personal monitor to change output connection
2018-09-18 15:39:14 -07:00
9321f46c45
Implement new Enclosed region equivalence mode
2018-09-13 14:05:47 -04:00
f9f0b4aabd
LTC-file reader: offset frame position (not timecode)
2018-09-11 16:02:42 +02:00
d7dc224da5
Fix LTC file-reader -- closes #7661
...
Change reader API to return the position of the decoded LTC frame
and store the correct position in the array)
This bug was introduced in e5a181c323
2018-09-11 16:02:42 +02:00
a96aa4e1fd
OSC: Personal monitoring can add a new aux
2018-09-10 09:58:15 -07:00
79f01bc889
Initial changes needed for building Mixbus (with MSVC) as version 5
...
(Mixbus itself will probably need extra changes)
2018-09-10 07:14:59 +01:00
2172337306
Add missing cast (NoteButton to TrackButton)
2018-09-06 23:03:55 +02:00
e1c58aad60
Fix an invalid conversion from 'int' to non-scalar.
2018-09-06 19:28:45 +02:00
Jan Lentfer
eff7a51de1
LCXL: Refactor code to use boost::shared_ptr
2018-09-04 18:55:49 +02:00
ed678aa2f9
Fix shared_ptr initialization
...
error: no matching function for call to
'boost::shared_ptr<ArdourSurface::Push2::Button>::shared_ptr(int)'
2018-09-03 13:38:37 +02:00
6e419a961e
use boost::shared_ptr<> to manage Button/Pad lifetimes in Push2 code
2018-09-02 13:23:57 -04:00
Térence Clastres
2a78f0a852
LCXL: Fix check if ports exist
2018-08-30 22:39:24 +02:00
9f30d14906
P2: Fix check if ports exist
2018-08-30 22:28:31 +02:00
Jan Lentfer
c3d0c80f68
LCXL: Fix two crashes
...
* fix a crash when accessing VCAs
* fix a crash when being at the end
of available stripables
* unify for-loop constructs
2018-08-29 23:40:26 +02:00
46175b6b60
Increase alsa-backend timeout
...
Following discussion (https://community.ardour.org/node/15805 and
#ardour IRC) test initial disconnect due to timeout after a cold-boot.
2018-08-29 19:23:53 +02:00
Jan Lentfer
fdbce2e8c8
LCXL: add visual feedback for sec button functions
...
also add some little fixes in regard
to fixing master fader on controller
fader no 8
2018-08-25 22:51:31 +02:00
03c5a35a8c
Monitor should be *really* unselectable
2018-08-24 18:26:01 -04:00
0db0d85108
no reason for 2 template types in CoreSelection::select_adjacent_stripable()
2018-08-24 18:26:01 -04:00
a9ae875b71
a couple more explanatory comments, and rename a variable to be more clear
2018-08-24 14:17:14 -04:00
92b3d40e3d
fix comment (method is now a template)
2018-08-24 14:11:00 -04:00
2d0416a016
add new methods to ARDOUR::CoreSelection to centralize selecting next/prev stripables
2018-08-24 14:04:18 -04:00
3136b20847
Cleanup various design patterns.
...
* do not use implicit bool-to-int-cast
* avoid C++11 member initialization in header
* always use set and access methods, remove public variable
2018-08-24 16:55:00 +02:00
510a0314cf
move select-all-tracks,deselect-all,invert-selection to be global actions (and bindings)
2018-08-24 10:08:08 -04:00
Térence Clastres
6bd81ee3c7
Revert "LCXL: Fast skip to first/last stripable with left/right long press"
...
This reverts commit 27b05f4d8d
.
2018-08-22 22:40:57 +02:00
Térence Clastres
65cadf2cb6
LCXL: Make knobs' leds' color constant when controlling master bus
2018-08-22 22:33:00 +02:00
Térence Clastres
3f77c1245c
LCXL: track select: change from 1 strip at a time to whole bank
2018-08-22 22:33:00 +02:00
Jan Lentfer
266c5fbc16
LCXL: Mixbus secondary function for Ctrl buttons
...
In Mixbus holding Device and pressing
one (or many) of the Track Control buttons
will toggle the Master Assignment for the
corresponding track
2018-08-22 19:56:10 +02:00
Jan Lentfer
fa7c8f6013
LCXL: Add some Mixbus functionality
...
in the mixer mode secondary functions
(Device/Hold) of knobs per track
will map as follows:
Send A - trim (same as for Ardour)
Send B - HPF Freq
PAN - Compressor threshold
2018-08-22 19:56:10 +02:00
Jan Lentfer
d17b6c5eea
LCXL: save assignment of 8th fader in config
2018-08-22 19:52:09 +02:00
Jan Lentfer
b80e079353
LCXL: fix some more typos
2018-08-22 19:50:51 +02:00
Térence Clastres
27b05f4d8d
LCXL: Fast skip to first/last stripable with left/right long press
2018-08-19 01:37:35 +02:00
Térence Clastres
3da024b4b7
LCXL: fix crash when disabling the surface while having the GUI open
2018-08-19 00:27:12 +02:00
Jan Lentfer
74ad41f8d9
LCXL: Add configuration option for handling master
...
In the Controller's settings you can now
choose between two operation modes:
1) 8 track mode
2) 7 track plus master mode
In case 2) fader 8 is fixed on the master
2018-08-18 23:06:32 +02:00
Térence Clastres
51b5c01b8b
Add knob leds and refine colors
2018-08-18 20:49:17 +02:00
Jan Lentfer
c2b4f19612
LCXL: fix typos in function names
2018-08-18 18:12:18 +02:00
Jan Lentfer
5e67630b23
LCXL: add isolate solo as secondary function
...
Holding the Device button and press one
of the Track Focus button will toggle
solo isolation on the correspongind track
2018-08-18 18:12:18 +02:00
Jan Lentfer
4789147482
LCXL: split track focus button and led code
2018-08-18 18:12:18 +02:00
ed32a00afa
NO-OP: whitespace
2018-08-18 14:13:24 +02:00
cf775ef4d3
Initialize uninitialized variable
2018-08-18 14:13:24 +02:00
Nikolaus Gullotta
179bc6be4f
add mac_vst_plugin_info() to list_plugins() and new_plugin_info()
2018-08-17 11:22:16 -05:00
904d594712
Add missing Lua MacVST constant
2018-08-17 01:00:00 +02:00
Térence Clastres
4122ff891c
Code styling: remove whitespaces between parenthesis
2018-08-15 18:48:32 -04:00
Térence Clastres
7c6c8ac270
Attempt to make some function's names more explicit
2018-08-15 18:48:32 -04:00
Térence Clastres
928a6ef4be
Fix track select right led wrong behaviour
2018-08-15 18:48:32 -04:00
Térence Clastres
cb0ae63fe2
Fix track buttons not working when selecting the last stripable
2018-08-15 18:48:32 -04:00
f88b557ce7
Remove some unused includes
2018-08-16 00:23:05 +02:00
95eaf0cc87
Add API to reset plugin timing stats
2018-08-15 12:46:11 +02:00
d9a3866299
Add a locale-independent float/double format Lua method
...
print(ARDOUR.LuaAPI.ascii_dtostr(1.5))
2018-08-14 23:50:11 +02:00
Jan Lentfer
6434bf9dd3
LCXL: Reorganize knobs functions
...
Make the knobs work as printed on the controller
Holding the Device button will enable extra functionality:
Send A -> Trim Control
Pan -> Stereo Width
2018-08-13 22:10:47 +02:00
Jan Lentfer
d3e7fa0ebf
LCXL: implement mute, solo and record arm toggles
...
Holding the Device button and pressing one
of mute, solo and record arm will toggle
selected tracks (use Track Focus buttons)
accordingly.
2018-08-13 14:53:43 -04:00
Térence Clastres
dab2513d9f
Add pick-up mode and use it for knobs and faders
...
The pick up mode ignores new controller values until they match with the current setting of the stripable's ac
2018-08-13 13:57:06 -04:00
Térence Clastres
0d01a2abe9
Add Launch Control XL icon
2018-08-09 22:42:44 +02:00
Térence Clastres
740e075803
Turn off button led if it doesn't control a stripable
2018-08-09 22:13:14 +02:00
Térence Clastres
5276a9941b
Call switch_bank() and use button_track_mode() within it to init required LEDs
2018-08-09 21:38:56 +02:00
Térence Clastres
a9958840b0
Add reset method and use it during start-up/shutdown
2018-08-09 21:05:55 +02:00
Térence Clastres
2c460135c5
Add missing set_color(Off) in else statement
2018-08-09 21:05:55 +02:00
Térence Clastres
cbb0a33aa3
Correct formatting for if/else statements
2018-08-09 21:05:55 +02:00
Térence Clastres
24e4ba399c
Fix wrong note number offset
2018-08-09 21:05:51 +02:00
3064c5a675
fix button note number map lookup
2018-08-08 11:36:15 -04:00
5fcea5833d
Properly announce support for Vendor string
2018-08-08 14:09:31 +02:00
Stefan Westerfeld
2fc5ed1e72
Let VST plugins know that we implement plugin window resizing.
2018-08-08 13:25:04 +02:00
ecfe1c2c67
emacs whitespace fixes
2018-08-07 10:49:33 -04:00
973c1cc61b
explicitly drop connections from destructor
2018-08-07 10:49:15 -04:00
120115aec0
don't use an invalidator when connecting an EventLoop object's methods to a signal
2018-08-07 10:48:43 -04:00
87b745face
fix uninitialized pointer error in launch control code
2018-08-07 10:44:56 -04:00
fb4ff01a18
better debug message with correct namespace for EventLoop::invalidate_request()
2018-08-07 10:44:56 -04:00
941f55bf40
Create plugin-metadata folder for new config
2018-08-07 16:25:43 +02:00
149dc68809
Fix invalid C++11isms: don't use of enum as class or namespace
2018-08-07 15:48:39 +02:00
8fa62f102e
Fix C++98 compatibility error
...
'>' should be '> >' within a nested template argument list
2018-08-07 15:44:30 +02:00
be51e617bb
LCXL: add missing request-buffer factory.
2018-08-07 15:40:30 +02:00
6d983d5f0b
Fix -Wnon-virtual-dtor
...
`struct ArdourSurface::LaunchControlXL::LED' has virtual functions
and accessible non-virtual destructor [-Wnon-virtual-dtor]
2018-08-07 15:36:22 +02:00
c4d25037c4
Fix invalid use of enum as class or namespace.
2018-08-07 15:34:03 +02:00