summaryrefslogtreecommitdiff
path: root/libs
AgeCommit message (Collapse)Author
2018-10-04Sort Session templates alphabeticallyRobin Gareus
2018-10-04Handle generic-midi bindings per session.Robin Gareus
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-04Persistent ctrl-surface stateRobin Gareus
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-03Prevent excessive meter redraws for inactive meters at zeroRobin Gareus
2018-10-03Properly initialize midi-metersRobin Gareus
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-02Prepare a boxy, no round borders, button-styleRobin Gareus
2018-10-02Fix false-positive duplicate format detectionRobin Gareus
Previously, stem-exports of more than 1 channel always included the export-format, even if only one format was exported.
2018-10-02libptformat: Add ability to reuse object && add path to ptf to apiDamien Zammit
2018-10-02Remove a call to 'fst_audio_master_idle()'John Emmas
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-09-30Fix Mixbus master-bus tape-saturation controllableRobin Gareus
2018-09-30Adapt our remaining MSVC projects for 'boost::atomic' (in case it later gets ↵John Emmas
extended to the other libs) Stage 3 of 3
2018-09-30Adapt our remaining MSVC projects for 'boost::atomic' (in case it later gets ↵John Emmas
extended to the other libs) Stage 2 of 3 (more to follow)
2018-09-30Adapt our remaining MSVC projects for 'boost::atomic' (in case it later gets ↵John Emmas
extended to the other libs) Stage 1 of 3 (more to follow)
2018-09-29Add support (in our MSVC projects) for using 'boost::atomic'John Emmas
(only done "where necessary" for the moment - more to follow...)
2018-09-28FP8/16: include makeup gain controlRobin Gareus
2018-09-27MCP: Fix up the feedback for the view selection buttons.Albert Graef
2018-09-27MCP: Allow the current bank to move right one channel even if this results ↵Albert Graef
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-27MCP: Fix up the feedback for the bank left/right buttons.Albert Graef
2018-09-27consolidate all transport masters on a SafeTime object that is a member of ↵Paul Davis
the TransportMaster base class. This seems to have broken some aspects of chasing/locking
2018-09-27change type of MIDI::Parser::position signal to include timestampPaul Davis
2018-09-27more objectification for SafeTimePaul Davis
2018-09-27initial hacks towards a truly thread-safe SafeTime object, using boost::atomicPaul Davis
2018-09-25VST-state, set/restore program before loading chunk.Robin Gareus
This may fix some issues with VST state being restored incorrectly when a plugin-preset was loaded.
2018-09-25Add Lua bindings to query DSP load statisticsRobin Gareus
2018-09-23remove debug outputPaul Davis
2018-09-23remove debug outputPaul Davis
2018-09-23defer creating a visibility tracker for a window until the window is mappedPaul Davis
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-23emit property change for "collect" on a TransportMasterPaul Davis
2018-09-22Accommodate newly added/renamed source(s) in our MSVC project (libardour)John Emmas
2018-09-22LCXL: fix off by one cause by fader8masterJan Lentfer
2018-09-22LCXL: Fix a crash on exitJan Lentfer
2018-09-22no more slave.hPaul Davis
2018-09-22use abs() instead of fabs() on integersPaul Davis
2018-09-22Revert "MSVC complains because we're using 'fabs()' to compare 2 x integers"Paul Davis
You can't remove an abs() conversion and keep the same semantics. This reverts commit d89b8cc0ad01eaf59dc605939628003dfa89899d.
2018-09-22remove old slave filesPaul Davis
2018-09-22Replace a namespace brace deleted by accidentJohn Emmas
2018-09-22Remove some namespace ambiguityJohn Emmas
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-22Remove 2 x unneeded functions in 'SlaveSessionProxy'John Emmas
I assume they're not needed now because their declarations got removed in commit #e6915e01de
2018-09-22MSVC complains because we're using 'fabs()' to compare 2 x integersJohn Emmas
2018-09-21Fix typo: emit signal (don't construct an object)Robin Gareus
2018-09-21Fix --no-nls (4/5), i18n include order in libs/*Robin Gareus
"i18n.h" needs to be included last (after any includes that may indirectly pull in getext or libintl etc)
2018-09-21Fix --no-nls (2/5), prefer #if in libsRobin Gareus
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-20missing enum/properties stuffPaul Davis
2018-09-20switch transport masters to use properties and notify via PropertyChangedPaul Davis
2018-09-18namespace change to help out on non-linux platformsPaul Davis
2018-09-18do not initialize boost::shared_ptr<> with zeroPaul Davis
2018-09-18boost/atomic.hpp is not usedPaul Davis
2018-09-18new transport slave/master implementation, libs/ editionPaul Davis
2018-09-18OSC: Allow personal monitor to change output connectionLen Ovens
2018-09-13Implement new Enclosed region equivalence modeColin Fletcher