Commit graph

99 commits

Author SHA1 Message Date
Robin Gareus
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
Alejandro Domínguez
2436b4df06
Replace boost::noncopyable with C++11 deleted copy constructors 2024-10-19 01:04:15 +02:00
Alejandro Domínguez
eff42b22fd
Remove #include <boost/utility.hpp> 2024-08-29 23:08:41 +02:00
Mads Kiilerich
6b61b03434 wscript: drop traces of shutdown() handling
autowaf has no real shutdown functionality anyway. The automatic
shutdown function that could have been called wouldn't work anyway, as
it takes an argument.

The only reason it doesn't fail is that the top level wscript has no
shutdown handling and doesn't recurse to other scripts, so it is all
dead code.
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
Paul Davis
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
Robin Gareus
2c7f8eeb97
Indicate UTF8 literals - fixes glyph rendering with MSVC (1/2) 2023-01-16 21:41:09 +01:00
Robin Gareus
3f3d0c7e49
Surfaces and panners should not export headers
Those are not shared libraries but only dynamically loaded
plugin objects. Their headers are their own.
2022-11-19 01:11:53 +01:00
Paul Davis
7bf89ce109 Constification: make Stateful::get_state() const, with all other required const-ness added (libs) 2022-04-06 21:56:59 -06: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
Robin Gareus
4780a0fd60
NO-OP: whitespace 2020-03-23 17:38:08 +01:00
Robin Gareus
386264bd23
Pan: consolidate what_can_be_automated API 2020-03-21 19:46:39 +01:00
Robin Gareus
60bcefd03d
Pan: remove/consolidate parameter-descriptor 2020-03-21 19:46:38 +01:00
Robin Gareus
875f694380
Pan: remove VBAP requirement to access session 2020-03-21 19:46:38 +01:00
Robin Gareus
a7a781971e
Change default stereo panner to equal power balance
The stereo-width panner is not generally useful. In order to
change the azimuth, width has to be reduced, which usually leads
to comb-filter artifacts.

Equal power stereo, also matches the default mono to stereo panner
better than the stereo-width panner.

Last but not least, control surfaces only have an azimuth control
knob, without an easy way to reduce width, this leaves
the panner insensitive.
2020-03-15 21:39:53 +01:00
Robin Gareus
06b2eb1c27
Explicitly use OSX
Previously this was inherited via PBD.

On MacOS/X,  this adds
  "-undefined dynamic_lookup -flat_namespace"
and various "-framework .." options to linkflags

Without this flag, .dylibs fail to link usually because
of missing `-lintl` (Undefined symbols: "_libintl_dgettext")

On other systems this is a NO-OP:
CFLAGS_OSX, CXXFLAGS_OSX and LINKFLAGS_OSX
are only set on the darwin platform.
2020-01-25 04:07:41 +01:00
Robin Gareus
365f6d6337
Update plugins/addons GPL boilerplate and (C) from git log 2019-08-03 15:53:18 +02:00
Paul Davis
30b087ab3d globally change all use of "frame" to refer to audio into "sample".
Generated by tools/f2s. Some hand-editing will be required in a few places to fix up comments related to timecode
and video in order to keep the legible
2017-09-18 12:39:17 -04:00
Tim Mayberry
a59288a1f2 Use XMLNode::set_property API in all Panner classes 2017-04-19 09:36:53 +10:00
Paul Davis
cf52d6e4b4 enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.h 2016-07-14 14:45:23 -04:00
Paul Davis
534b2de35b Add PanControllable::get_user_string() (provide indirect access to Panner::value_as_string(); make ::get_user_string() use a const arg everywhere 2016-05-31 15:30:42 -04:00
Robin Gareus
ba78359129 prepare for update to waf 1.8
uselib is no longer implicit (inherited by .use). This is still incomplete,
some uselibs for non-linux variants may be missing.

bld.is_defined("HAVE_XXX") also no longer works and will have to be
changed (I think to bld.env["HAVE_XXX"]) in countless places.
2016-02-28 21:16:44 +01:00
Paul Davis
9e3299f97d change Controllable::set_value() API to include grouped control consideration.
This also removes Route::group_gain_control() and associated machinery.
Not yet tested with Mackie or other surfaces. More work to done to
start using the group capabilities, and also potentially to add
or derive more controls as RouteAutomationControls
2016-01-02 04:58:30 -05:00
Paul Davis
4dc63966f0 globally remove all trailing whitespace from ardour code base.
Paul Davis was responsible for introducing almost all of this.
2015-10-04 14:51:05 -04:00
Robin Gareus
8a93a87db0 remove lib versioning for internal plugins
Those objects do not have a versioned API by themselves.
This fixes issues with duplicate deployment (OSX, Linux bundles: cp) and
ardour listing control-surfaces multiple times (file index plugin dir).
2015-02-16 17:32:56 +01:00
Robin Gareus
e3e85a92db some const'ness and hints for clang 2014-11-19 20:38:50 +01:00
Paul Davis
058986f77b finish unfinished work at basing all install paths on the program name 2014-04-28 21:11:08 -04:00
Robin Gareus
54d2e44e1d proper vpab speaker constraints 2014-03-23 03:42:55 +01:00
Paul Davis
2b9421fd39 merge (w/fix) with master 2014-02-04 14:21:35 -05:00
Robin Gareus
371e8bdb55 VBAP nomenclature s/Direction/Azimuth/ 2014-02-03 19:12:29 +01:00
Paul Davis
59076a7e4c Merge branch 'master' into cairocanvas 2014-01-30 11:19:22 -05:00
Paul Davis
ce2feeac56 even though man alloca says to include <alloca.h>, it apparently isn't necessary and no such header exists in the msvc world 2014-01-30 11:18:58 -05:00
Paul Davis
2ba58dfe65 Merge branch 'master' into cairocanvas 2014-01-29 16:08:52 -05:00
Paul Davis
66d0241118 move check for n_speakers so that we avoid needless work 2014-01-29 15:50:17 -05:00
Robin Gareus
2d8352123a fix vbap-speaker calculations to work with alloca() 2014-01-29 21:45:13 +01:00
Paul Davis
a754a7cc0d fix up the abomination caused by moving from variable length (multidimensional) arrays to alloca'ed arrays, specifically access to arr[a][b].
This needs checking by an actual VBAP+multispeaker user.
2014-01-27 20:37:17 -05:00
Paul Davis
10d577146a replace standards-wobbling variable-length-arrays with alloca() 2014-01-27 14:20:19 -05:00
Paul Davis
7000afdc66 fix merge conflict with master 2014-01-23 13:41:20 -05:00
Robin Gareus
40d8c5ae01 change VBAP visual parameter name again :) 2014-01-23 15:32:26 +01:00
Robin Gareus
b0b71782e9 VBAP change visual parameter name. Diffusion -> Spread 2014-01-23 14:57:19 +01:00
Paul Davis
9aacefc170 merge with master 2014-01-15 14:29:32 -05:00
Robin Gareus
abb75d4a2e prevent stackoverflow when pannable changes to fewer params
endless loop: e.g.  2in2out -> balance (or 1in1out)
#23 0xb7ab5c17 in ARDOUR::Pannable::value_as_string
#24 0xb2ebb206 in ARDOUR::Pannerbalance::value_as_string
#25 0xb7ab5c17 in ARDOUR::Pannable::value_as_string
#26 0xb2ebb206 in ARDOUR::Pannerbalance::value_as_string
ad infinitum
2014-01-15 10:38:32 +01:00
Robin Gareus
58def58bf5 VBAP GUI convention: top == front ^= azimuth == .5
This allows to move from stereo,mono panners to VBAP and back
and also facilitates sharing pannables of all currently
existing panners with semantically similar results.

(somewhat dirty solution, this retains PBD::spherical_to_cartesian
and maps angles pretty much everywhere else)
2014-01-15 09:37:20 +01:00
Paul Davis
37b1f5017e merge with master 2014-01-14 21:13:21 -05:00
Robin Gareus
813ead6d8b cont'd backend work on panner-linking 2014-01-15 02:51:52 +01:00
Paul Davis
cf806123ca merge (with conflict fixes) with master (even against rgareus' recommendation) 2014-01-14 10:56:17 -05:00
Paul Davis
b9c389eac5 fix botched merge of vbap changes 2014-01-13 09:47:20 -05:00
Robin Gareus
e10bfb8054 VBAP backend re-work (part one):
* fix azimuth, don't clamp but map to [0,1]
* prepare elevation (10+ speakers)
2014-01-13 09:40:41 -05:00
Robin Gareus
28470af5f7 swap channel VBAP channel 2014-01-13 09:38:24 -05:00