13
0
Commit Graph

102 Commits

Author SHA1 Message Date
74c4ca3e52
Reduce reliance on boost - the hard part
the rest from `tools/convert_boost.sh`.

* replace boost::function, boost::bind with std::function and std::bind.

This required some manual fixes, notably std::placeholders,
some static_casts<>, and boost::function::clear -> = {}.
2024-10-19 03:47:21 +02:00
a54a6c40a4
Prepare for API removal
`set_input/output_channels` API to limit a device to the first
`N` chnanels is somewhat ill conveived and was never really
used or useful. LiveTrax has a bitset of exposed channels,
which makes a lot more sense (e.g. hide ADAT or S/Pdif, or
some specific channels)
2024-07-10 15:39:01 +02:00
Mattias Ohlsson
10109c3147
Fix typos 2024-05-07 18:52:02 +02:00
477cff6980
Remove unmaintained AAF CLI 2024-02-15 01:44:35 +01:00
ad51c7c2ba
Localize stripped down gtk2
This is intended mainly for GNU/Linux distros who will remove
GTK2 support in the near future.
2024-01-06 21:52:48 +01:00
3de600625f
Consolidate internal bus checks (1/2) 2024-01-06 20:21:51 +01:00
128278c75f
AAF Import CLI: fix media location, use new libAAF API 2023-12-26 14:36:44 +01:00
1f689cac42
Replace deprecated g_basename() 2023-12-26 14:24:52 +01:00
b376f271c4
AAF import tool: fix windows builds 2023-11-29 05:42:31 +01:00
55093b2095
AAF import tool use Ardour style logging, fixes windows builds 2023-11-28 17:38:27 +01:00
02d91a7ff0
Import aaf-session CLI
https://github.com/Ardour/ardour/pull/805
https://github.com/agfline/ardour_aaf_support/tree/aaf
2023-11-27 23:25:19 +01:00
Mads Kiilerich
2973e82a90 wscript: sanitize strings from fetch_*_revision_date early instead of applying str() all over
This can perhaps be simplified further when Python2 support is dropped.
2023-10-15 10:47:16 -06:00
Mads Kiilerich
0e3e51d958 wscript: drop str() on VERSION
It will already have been converted to str in sanitize(), and even
python2 is fine without the extra str.
2023-10-15 10:47:16 -06:00
Mads Kiilerich
92aca32652 wscript: stop loading misc where nothing is using it
It is apparently only used in gtk2_ardour/wscript - and it seems to be
enough to load it in configure(), even though it is used in build().
2023-10-15 10:47:16 -06:00
Mads Kiilerich
88cecdfaef wscript: drop repeated autowaf.set_options - it is enough to set at top level 2023-10-15 10:47:16 -06:00
Mads Kiilerich
d220f477ed wscript: drop unused "mandatory variables" 'top' and 'out' in libs
Variables by these names are only used from the local wscript and when
running "waf configure", which already for other reasons only can run at
the top-level.

These variables are thus not mandatory and not used.
2023-09-17 07:34:55 -06:00
Mads Kiilerich
aa3f6e3a5c wscript: drop unused local VERSION variables
pyflakes correctly points out problems like:
  gtk2_ardour/wscript:537:5 local variable 'VERSION' is assigned to but never used
2023-09-17 07:34:55 -06:00
Mads Kiilerich
7737c17d52 wscript: drop unused imports, scripted
Done with ad hoc scripting hacks processing unused imports found by pyflakes:

for f in $( find * -name wscript ); do echo; pyflakes $f; done | grep 'waflib.Logs.* but unused' | cut -d: -f1 | while read f; do sed -i 's/^import waflib.Logs as Logs,/import/g' $f; done
for f in $( find * -name wscript ); do echo; pyflakes $f; done | grep 'waflib.Options.* but unused' | cut -d: -f1 | while read f; do sed -i 's/import waflib.Options as Options, /import /g' $f; done
for f in $( find * -name wscript ); do echo; pyflakes $f; done | grep 'waflib.Options.* but unused' | cut -d: -f1 | while read f; do sed -i 's/^from waflib import Options,/from waflib import/g' $f; done
for f in $( find * -name wscript ); do echo; pyflakes $f; done | grep ' imported but unused$' | sed "s/^\([^:]*\):[0-9]*:[0-9]* '\(.*\)'.*/\1 \2/g" | while read f lib; do sed -i "/^import $lib$/d" $f; done
for f in $( find * -name wscript ); do echo; pyflakes $f; done | grep 'waflib.Options.* but unused' | cut -d: -f1 | while read f; do sed -i '/from waflib import Options$/d' $f; done
for f in $( find * -name wscript ); do echo; pyflakes $f; done | grep 'waflib.TaskGen.* but unused' | cut -d: -f1 | while read f; do sed -i '/from waflib import TaskGen$/d' $f; done
for f in $( find * -name wscript ); do echo; pyflakes $f; done | grep 'waflib.Task.Task.* but unused' | cut -d: -f1 | while read f; do sed -i '/^from waflib.Task import Task$/d' $f; done
for f in $( find * -name wscript ); do echo; pyflakes $f; done | grep 'waflib.Tools.winres.* but unused' | cut -d: -f1 | while read f; do sed -i '/^from waflib.Tools import winres$/d' $f; done
for f in $( find * -name wscript ); do echo; pyflakes $f; done | grep 'waflib.Utils.* but unused' | cut -d: -f1 | while read f; do sed -i '/^import waflib.Utils as Utils$/d' $f; done
2023-09-17 07:34:55 -06:00
3e27df9040
Utils: Fix crash at exit due to engine destruction
Ardour::cleanup destroys the TransportMasterManager instance
which unregisters TransportMaster ports. This will crash
if the engine was already destroyed.

See also 7c7bf6c88b
2023-06-15 16:22:23 +02:00
6572b8d409
Fix cross-compile linking (libusb - see also 5794d21a76) 2023-05-04 21:31:13 +02:00
5d023b4c60 libpbd: fix an important thinko for cross-thread signal architecture
The old code assumed that the thread that created a request buffer for a given
signal-emitting thread would be the latter thread, and thus a thread-local
pointer to the request buffer could be used. This turns out not to be true: the
GUI thread tends to be responsible for constructing the request buffers for
pre-registered threads.

That mechanism has been replaced by using a RWLock protected map using
pthread_t as the key and the request buffer as the value. This allows any
thread to create and register the request buffers used between any other pair
of threads (because the lookup always uses a pthread_t).

The symptoms of this problem were a signal emitted in an audioengine thread
that was propagated to the target thread, but when the target thread scans its
request buffers for requests, it finds nothing (because it didn't know about
the request buffer). In a sense, the signal was successfully delivered to the
target thread, but no meaningful work (i.e the signal handler) is performed.
2023-04-21 12:16:37 -06:00
295dbd8e1e
Make RCU reader return a const pointer (omnibus commit) 2023-04-08 00:15:37 +02:00
b35518e212 switch from boost::{shared,weak}_ptr to std::{shared,weak}_ptr
This is mostly a simple lexical search+replace but the absence of operator< for
std::weak_ptr<T> leads to some complications, particularly with Evoral::Sequence
and ExportPortChannel.
2023-03-24 14:19:15 -06:00
Mads Kiilerich
b3743227be
Change tools --help URLs to use https 2022-10-24 04:57:30 +02:00
03295869ce
Revert "Small test tool for PBD::Transmitter thread-safety tests"
This reverts commit d9ce918c41.
2022-10-05 22:25:07 +02:00
d9ce918c41
Small test tool for PBD::Transmitter thread-safety tests
Launch as
```
 ./session_utils/run ardour7-debug_transmitter
 ./session_utils/debug ardour7-debug_transmitter
```
2022-06-24 21:11:51 +02:00
95aa39d1c4
Update call_slot() API, inform caller if slot cannot be queued
It can happen that ::get_request() returns NULL if the
EventPool is full. In that case the slot is never called.

In this case the caller can now take action.
2022-06-09 01:46:27 +02:00
73face7a8a
Revert "Small tool to test event-loop and x-thread signals "
This reverts commit 7780d38ed0.
and commit dfaf790e7d.
2022-05-02 00:31:33 +02:00
dfaf790e7d
Add more debug messages to event-loop test tool 2022-05-01 23:24:36 +02:00
7780d38ed0
Small tool to test event-loop and x-thread signals (remove before release)
run as
```
session_utils/run ardour7-event_loop_test
```

Expected output:
```
TestUI::periodic
TestUI::periodic
TestUI::do_request
TestUI::static_signal_handler
TestUI::periodic
TestUI::periodic
TestUI::static_xthread_handler IO_IN
TestUI::periodic
TestUI::periodic
TestUI::~TestUI
TestUI::stop
```
2022-05-01 21:22:21 +02:00
Mads Kiilerich
49855e52aa wscript: consistently have at most one empty separator line 2022-04-09 12:16:40 +02:00
luz paz
3d395585c1
Fix various typos
Found via `codespell -q 3 -S *.po,./share/patchfiles,./libs -L ba,buss,busses,doubleclick,hsi,ontop,ro,seh,siz,sord,sur,te,trough,ue`  
Follow-up to 364f2f078
2022-04-08 19:51:02 +02:00
Mads Kiilerich
8bb91099c5 wscript: drop configure statements already present in the top level wscript
Avoid repeated pointless configure messages like:
Checking for 'g++' (C++ compiler!)                   : /usr/lib64/ccache/g++
Checking for 'gcc' (C compiler)                      : /usr/lib64/ccache/gcc
2022-01-22 22:19:03 +01:00
4c4e4e545a remove unnecessary file/tool 2021-08-13 12:51:28 -06:00
16da5419d3
Do not implicitly modify VST support config parameters 2021-08-10 15:54:37 +02:00
0d8ee3e847
Catch errors instead of testing for nullptr 2021-07-10 17:47:18 +02:00
a74b4e8ef0
No more wine 2021-07-03 19:07:25 +02:00
062aeb0262
Bail out if export cannot be started 2020-12-08 01:10:00 +01:00
962d8922ab
Enforce session-util app name
This fixes an issue with some macOS that create index oe
meta-data files e.g. `session_utils/._export.cc`.
Besides that it increases consistency.
2020-11-15 01:21:40 +01:00
e4e94e77c9
Transmitter::Debug implementation 1/2
This also sorts switch() and listen_to() statements in order
of severity: debug, info, warning, error, fatal, throw.
2020-10-13 21:58:26 +02:00
a7a20e03ff
Fix --no-nls, i18n include order in UI -- #8361 2020-08-19 17:40:02 +02:00
1e380b1e2e
GUI use updated XML::read_buffer API 2020-04-23 02:26:27 +02:00
0f63b82943 fix error in multiple calls to SourceFactory::createWritable()
removal of tape tracks removed an intermediate argument in the argument list; presence of default args for the
last two arguments and implicit conversion from int->bool prevented the compiler from complaining
about any existing calls.

This supplements/extends a54b000a70
2020-03-23 21:47:13 -06:00
5794d21a76
Fix cross-compile linking (arm-linux ld)
Explicitly specify required libraries (waf does no longer
forward .uselib dependencies of libraries used by .use).
This leads to undefined symbols.
2020-02-14 00:20:45 +01:00
David Runge
2e9ac80e99
Towards waf python 2+3 support 2020-01-25 04:07:37 +01:00
a855119bdd rename all Evoral source from .(hpp|cpp)$ to .(h|cc) 2019-11-02 16:32:18 -06:00
e0d5c1426c
NO-OP: fix some Wimplicit-fallthrough
gcc can recognize various regexps in comments. Since C++17 provides
[[fallthrough]], using /* fallthrough */ consistently seems
appropriate until we switch to C++17.

see also https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html
2019-09-18 17:37:54 +02:00
ce7d2a4f2a
Add missing i18n include (after 7f3f201833) 2019-09-18 04:32:51 +02:00
bd229936ec add finite state machine to control/manage transport state 2019-09-17 18:26:03 -06:00
316880b9cf
Don't print usage to stdout for invalid parameters 2019-08-15 01:09:26 +02:00