13
0
Commit Graph

1256 Commits

Author SHA1 Message Date
514c05a44e truncate unnecessarily verbose debug set/bits output 2019-12-14 10:40:07 -07:00
93180ceea9
Add Inline Control Port Property
This allows to indicate that a control should by default be displayed
inline in the mixer-strip.

Previously that was hard-coded for and enabled for send-level
controls only.
2019-12-14 15:50:56 +01:00
c3e3930f14 revert to single buffer for disk playback, and 5.x-style overwrite
Also address issues with MIDI and also atomicity of _pending_overwrite
2019-12-10 09:29:22 -07:00
8ec3e5fb54 Fix deprecated-copy warnings
It's long been a guideline (and IIRC a Weff-c++ warning) that either all, or
none, of the copy methods should be defined, but this became a standard warning
in GCC9.  Presumably to account for a later language change though I'm not sure
which.

I don't remember why the ChanMapping copy constructor can't just be a simple
copy (it's just a map of POD), but figure it's safer to just copy what that
does.
2019-12-09 23:25:59 +01:00
21e9c41d96 Fix catch of polymorphic type by value 2019-12-09 22:58:08 +01:00
John Emmas
09d34abaa9 MSVC project changes needed to support the new 'mp3 import' stuff 2019-12-08 15:04:02 +00:00
8d05f6d4b7 initial conversion to double buffering inside DiskReader
Second buffer is not used (or allocated) yet.
2019-12-07 10:30:38 -07:00
b157e1a09a
Remove invalid error message
This clause is in NO_VFORK, vfork_exec_wrapper is irrelevant there
2019-11-09 06:30:46 +01:00
a8a699133e
Fix child-process communication (video monitor in particular)
103ef2ba08 introduced an API to write raw data (const void*)
to a child process, along with the previous API to
write (std::string const&)

VideoMonitor uses write_to_stdin("fixed text"), and g++
interprets this to use the (const void*) API instead
of the std::string, which breaks communication.
2019-11-09 06:28:55 +01:00
24252b92c6 move at-exit messages about pool utilization to DEBUG_TRACE 2019-11-06 09:27:49 -07:00
01f65f557f
Fix build -- 'printf' was not declared in this scope 2019-11-03 14:15:11 +01:00
cd2618246a make it more likely that debug messages are printed without x-thread interruption 2019-11-02 16:32:18 -06:00
7852047dca
Fix XML-writer edge-case (empty content) 2019-11-01 15:39:44 +01:00
43eb64d23b add new debug bit (DebugTimestamps) that adds timestamps to all debug messages 2019-10-28 16:52:18 -06:00
c663a2d8ef
Invert Pan-Azimuth (up means left)
It's a well established convention that pan y-axis automation,
or vertical uses (top) +1 for left.

This special cases rotary knobs (and horizontal sliders) to retain
a clockwise movement (or movement to the right) for panning to the
right.
2019-10-07 05:07:55 +02:00
feb5d1261e
Fix use of doxygen documented parameters in running text 2019-09-30 06:30:11 +02:00
ee54b13d6d
Fix some more doxygen warnings 2019-09-30 05:33:44 +02:00
959a37144b
Fix a few hundred doxygen warnings..
There are still over a hundred left, but this addresses many already.
In particular @param references to undocumented parameters.
Most notably in audio_backend.h
2019-09-30 04:45:59 +02:00
5395a557d2
Another try at C++11/boost spinlock initialization 2019-09-26 02:48:17 +02:00
52021bc3ca
Consistent use of abort() /* NOTREACHED */
This fixes some static analysis warnings:
PBD::fatal transmitter needs to be connected to a function
that aborts. This is usually the case with GUI
2019-09-18 05:57:26 +02:00
bd229936ec add finite state machine to control/manage transport state 2019-09-17 18:26:03 -06:00
f52781b46b fix thinko when testing for internal seek with negative distance 2019-09-17 17:59:23 -06:00
1d49696379
Reduce stdout/stderr clutter, prefer DEBUG_TRACE 2019-09-05 19:29:19 +02:00
ffbf40c3d1
Add PBD API to hard-link files 2019-08-12 16:41:25 +02:00
0301c47f6b
Update core library GPL boilerplate and (C) from git log 2019-08-03 15:53:17 +02:00
4a52a9b3b0
Fix C++11 NSDMI 2019-07-31 04:48:52 +02:00
bf5da033dc Another try at fixing our 'spinlock_t' compatibility 2019-07-29 16:56:45 +01:00
82bdb48dab
Partially undo 6d4b94df13 for MSVC and C++98 compat 2019-07-29 04:45:29 +02:00
6d4b94df13
Reduce compiler warnings when boost uses std-atomics
This works around for compilers with non-static-data-member
initialization.

spinlock_t is-a struct { lockType _; } and BOOST_DETAIL_SPINLOCK_INIT
initializes the first member of the struct.
All defines of BOOST_DETAIL_SPINLOCK_INIT include c-style curly braces
to initialize the struct's data member.

However, modern C++ compiler interpret the braces differently resulting
in copy constriction of the initializer.
2019-07-28 20:10:09 +02:00
684b364a8a
Yet another spinlock init hack for g++8 std::atomics
Perhaps we should rather implement this ourselves,
using <boost/atomic.hpp>
2019-07-28 18:39:26 +02:00
63fee3b0c8
Prevent spinlock copy construction 2019-07-28 15:02:04 +02:00
d00650c2fd
Another attempt at improving spinlock init 2019-07-28 15:01:40 +02:00
d382b756c2
Follow up d8ae3fd
Depending on implementation, d8ae3fd may only construct the spinlock
once to `sl_init`. Later it is only copy-constructed and that leads to
compile and/or runtmime errors.

e.g. gcc-8.3 fails to compile
error: use of deleted function ‘boost::detail::spinlock::spinlock(const boost::detail::spinlock&)’
2019-07-28 14:57:51 +02:00
d8ae3fd3a6 MSVC requires an already initialized object to initialize our boost::detail::spinlock (rather than the simpler #define)
Hopefully this'll work for the other builds too.
2019-07-27 12:31:15 +01:00
8a8468c5f1
Correctly initialize spintlock_t
Depending on underlying implementation, boost::detail::spinlock
needs to be explicitly initialized
2019-07-26 21:40:39 +02:00
78fc6d6651
Prefix all env variable with "ARDOUR_"
In particular "CONCURRENCY" can be problematic. But in general
it's good practice to use a namespace prefix for app-specifics.
2019-07-26 16:44:29 +02:00
929ecf622b
Add lock-free multiple producer multiple reader queue 2019-07-10 20:21:06 +02:00
e76e18af96
Use exit-status macros for compatibility 2/3 2019-07-04 22:21:35 +02:00
94036cc7c0 Correct a typo that crept in somewhere 2019-04-14 19:34:37 +01:00
2f91bdfa53
NO-OP: <tab> after <space> fixes in libs 2019-04-13 19:19:29 +02:00
6631d97ac0
Mixbus likes hyperthreading on Mac 2019-04-12 18:30:52 +02:00
e4f18c1771
NO-OP: whitespace & revert samples -> [stack]frames 2019-04-08 00:35:00 +02:00
86138d18f9
Remove extra quotes from meta-data
Arguments are passed as argp[] array to execve() and don't need to be
enclosed by quotes.
2019-03-26 22:12:48 +01:00
854de91fb0
Fix mingw compile (declare int64_t and int32_t) 2019-03-26 15:35:36 +01:00
da114c5a4d
Remove static Destroyed(*), prefer StatefulDestructable API
This also add a debug-dump method to show remaining registered
Controllables.
2019-03-23 16:15:23 +01:00
087fd57d37
Re-add Controllable registry
To facilitate a central registry with weak/shared pointer lookup,
  enable_shared_from_this<ARDOUR::AutomationControl>
was migrated to
  enable_shared_from_this<PBD::Controllable>

The main (and only) user is generic-midi surface's state interface :(
2019-03-23 04:23:43 +01:00
16fe286ed9
Use weak-pointer for Controllable learning 2019-03-23 01:50:45 +01:00
1dedadd03f
Remove c-pointer Controllable* registry 2019-03-23 01:42:03 +01:00
9a1c22d7e1
Remove unusued API Create/Delete Binding 2019-03-23 01:28:23 +01:00
b53d80a7d4 make PlaybackBuffer<T>'s power-of-two size computation available to others 2019-03-18 07:39:23 -07:00