13
0
Commit Graph

59 Commits

Author SHA1 Message Date
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
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
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
luz paz
47c525315d Fix various typos
Found via `codespell -q 3 -S *.po,./.git,./share/patchfiles,./libs,./msvc_extra_headers,./share/web_surfaces,*.patch  -L ba,buss,busses,discreet,doubleclick,hsi,ontop,ro,scrollin,seh,siz,sord,sur,te,trough,ue`
2022-08-03 12:10:01 -06:00
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
e090834525 panners: conversion to use timeline types 2021-08-13 12:51:29 -06:00
c02169a6c8
Micro-optimization: pre-calculate pan-law
powf() is very expensive to call, and as long as the pan-law
is fixed, there is no need to re-calculate coefficient scale
factor on every update.
2021-01-18 16:14:16 +01:00
4780a0fd60
NO-OP: whitespace 2020-03-23 17:38:08 +01:00
386264bd23
Pan: consolidate what_can_be_automated API 2020-03-21 19:46:39 +01:00
60bcefd03d
Pan: remove/consolidate parameter-descriptor 2020-03-21 19:46:38 +01:00
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
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
a855119bdd rename all Evoral source from .(hpp|cpp)$ to .(h|cc) 2019-11-02 16:32:18 -06:00
365f6d6337
Update plugins/addons GPL boilerplate and (C) from git log 2019-08-03 15:53:18 +02:00
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
d76885e9ef Revert "Prefer Stereo-Balance Panner for stereo tracks"
This reverts commit e9ee454ced.

This needs more work to preserve non-customized panners in existing
sessions. "user-panner" is only set if a user explicitly selects a
panner.
2017-07-03 16:21:35 +02:00
e9ee454ced Prefer Stereo-Balance Panner for stereo tracks 2017-07-03 02:24:53 +02:00
a59288a1f2 Use XMLNode::set_property API in all Panner classes 2017-04-19 09:36:53 +10:00
Nil Geisweiller
4c66e36b91 Fix indentation 8 whitespaces to tab 2016-12-21 23:09:40 +01:00
cf52d6e4b4 enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.h 2016-07-14 14:45:23 -04:00
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
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
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
dc36b063bf remove unused fstream includes 2015-10-05 22:15:18 +02:00
22b07e0233 NOOP, remove trailing tabs/whitespace. 2015-10-05 16:17:49 +02:00
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
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
058986f77b finish unfinished work at basing all install paths on the program name 2014-04-28 21:11:08 -04:00
9aacefc170 merge with master 2014-01-15 14:29:32 -05:00
c8f9405386 stereo-panner: clamp width during processing to valid range 2014-01-15 14:07:02 +01:00
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
a4dc05f603 fix invalid width when swiching to 2in2out 2014-01-15 09:45:02 +01:00
3020b224fa Merge windows+cc branch into cairocanvas branch. Not finished, need to now merge windows branch to get changes from there 2014-01-10 16:07:57 -05:00
d15fda6d75 fix merge errors with master 2014-01-10 14:53:03 -05:00
8d64665ce1 add a fixed priority to panner modules 2014-01-10 12:13:22 +01:00
21ca6a10a9 rework panning -- Squashed commit of the following:
commit 6f4f4f161b00cb36252727f67ecc4913eb944fd7
Author: Robin Gareus <robin@gareus.org>
Date:   Wed Jan 8 22:13:09 2014 +0100

    fix panner plugin discovery (prev commit)

commit 26e514f4a80af9192cae3cbd62fde0ae95474dfc
Author: Robin Gareus <robin@gareus.org>
Date:   Wed Jan 8 18:56:59 2014 +0100

    update panner plugin discovery

    * recurse dirs in 'PANNER_PATH' and 'panner_dir_name' up to 1 level.
    * don't look in ardour_dll_directory() -- no panners are supposed to be in there
    * use .dylib on OSX exclusively.

commit a514c3f1c425dccf3d42eee9d2b183b44fd26a03
Author: Robin Gareus <robin@gareus.org>
Date:   Wed Jan 8 16:48:34 2014 +0100

    remove debug/devel printf()s

commit d863742ddc69af493ee6a8817bc778968d9b0800
Author: Robin Gareus <robin@gareus.org>
Date:   Wed Jan 8 16:17:13 2014 +0100

    panner-type: session backward/forward compatibility

commit 25d5e4c663ada34129451b0f9045ab047d6cc2f0
Author: Robin Gareus <robin@gareus.org>
Date:   Wed Jan 8 16:09:07 2014 +0100

    update URIs -> URLs

commit 00a606a43d9456cfbaf43cae4fb598549326ba71
Merge: 0f1cec1 382eb0f
Author: Robin Gareus <robin@gareus.org>
Date:   Wed Jan 8 03:29:45 2014 +0100

    Merge branch 'master' into panning

commit 0f1cec19babae538c9697eed4be5d6ddc851b013
Author: Robin Gareus <robin@gareus.org>
Date:   Wed Jan 8 02:41:15 2014 +0100

    switch panner ID to URI

commit 575282b412c3ae1cd8219cf75f00a1a4239e2813
Author: Robin Gareus <robin@gareus.org>
Date:   Wed Jan 8 00:50:15 2014 +0100

    prepare API for panner URI

commit ea62cd049308859782a7bb16e4f18169d8638b46
Author: Robin Gareus <robin@gareus.org>
Date:   Tue Jan 7 19:57:06 2014 +0100

    update development doc relating to panner selection

commit 586d7de2392e26b9d7f597b1a00b98dfaa42ecdc
Author: Robin Gareus <robin@gareus.org>
Date:   Tue Jan 7 19:56:24 2014 +0100

    clean up PanShell::set_user_selected_panner_type() API

commit 99077886a5a1cacece908d87c29c3be12903027e
Author: Robin Gareus <robin@gareus.org>
Date:   Tue Jan 7 04:46:22 2014 +0100

    panner bypass: visualize & [in]sensitivity

commit 46d688d216f0e67d672376a607157af02b359fb2
Merge: 4e67573 c4cdf61
Author: Robin Gareus <robin@gareus.org>
Date:   Tue Jan 7 02:18:54 2014 +0100

    Merge branch 'master' into panning

commit 4e67573517b3d60ddf65729783687b16cfb2adb7
Author: Robin Gareus <robin@gareus.org>
Date:   Tue Jan 7 01:05:17 2014 +0100

    don't call configure_io() for merely swapping panners

commit d32a4c51f6967f48f7680554866f1f7b311ccde1
Merge: a3226d4 cec3116
Author: Robin Gareus <robin@gareus.org>
Date:   Mon Jan 6 23:49:55 2014 +0100

    Merge branch 'master' into panning

commit a3226d46b598afae54a65ac69320eca84669f347
Author: Robin Gareus <robin@gareus.org>
Date:   Mon Jan 6 17:52:38 2014 +0100

    add notes about panner re-design

commit d1ae2366024605f22b05572a81ee249e6fdbcd2f
Author: Robin Gareus <robin@gareus.org>
Date:   Mon Jan 6 15:06:40 2014 +0100

    add simple stereo-balance panner for testing

commit e0ddd256ff2288b8d8cfad3ad485a916964ce5b5
Author: Robin Gareus <robin@gareus.org>
Date:   Mon Jan 6 17:02:52 2014 +0100

    add frontend/GUI for panner selection

commit 2cb8f846755eb5aea8a2620d31ea981c446c4041
Author: Robin Gareus <robin@gareus.org>
Date:   Mon Jan 6 17:02:20 2014 +0100

    prepare backend for panner selection
2014-01-09 00:18:45 +01:00
f85c67501c reverse the visibility.h files assumptions that we don't build shared libs by default
This avoids having to define define LIBFOO_DLL=1 all over the place. If we ever go with static libs we will
need to define LIBFOO_STATIC=1 but hopefully in some central location like the top level wscript.

Oh, and I also dropped support for gcc older than version 4.x because ardour will already not build
on such an old version.
2013-10-18 11:50:44 -04:00
b855e5f322 Merge remote-tracking branch 'remotes/origin/exportvis' into windows+cc
Conflicts (hopefully resolved):
	gtk2_ardour/wscript
	libs/ardour/ardour/audioregion.h
	libs/ardour/ardour/debug.h
	libs/ardour/ardour/directory_names.h
	libs/ardour/ardour/filesystem_paths.h
	libs/ardour/ardour/session_event.h
	libs/gtkmm2ext/gtkmm2ext/utils.h
	libs/panners/1in2out/wscript
	libs/panners/2in2out/wscript
	libs/panners/vbap/wscript
	libs/pbd/pbd/debug.h
	libs/pbd/pbd/file_utils.h
	libs/pbd/pbd/pathexpand.h
	libs/pbd/pbd/ringbuffer.h
	libs/pbd/pbd/ringbufferNPT.h
	libs/pbd/pbd/search_path.h
	libs/pbd/pbd/stacktrace.h
	libs/pbd/pbd/uuid.h
	libs/pbd/pbd/uuid_boost.h
	libs/surfaces/control_protocol/control_protocol/basic_ui.h
	libs/surfaces/control_protocol/control_protocol/control_protocol.h
2013-10-18 10:03:22 +01:00
61c1956ef9 add -fvisibility=hidden to evoral, and make things work 2013-10-17 15:02:20 -04:00
55bf10abb8 include (probably) necessary stuff in panner compilation flags 2013-10-17 13:16:27 -04:00
a431e73ccd replace recently added attempt to use visibility macros with one based on gcc guidelines
I can see no reason to define the "C API Call Type", but perhaps it really is needed for some reason.

I have tested this on Linux only.
2013-09-02 16:41:56 -04:00
Carl Hetherington
46e448252f Provide dialogs to edit pan values numerically, at least for
mono and stereo panners.


git-svn-id: svn://localhost/ardour2/branches/3.0@12577 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-06 11:47:09 +00:00
0b958b7f15 allow alt-drag on stereo panner to move just one side of the stereo field. this wiggles a bit, possibly because of rounding, and that probably needs to be addressed
git-svn-id: svn://localhost/ardour2/branches/3.0@12500 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-31 13:58:59 +00:00
8f7fa7d93b MCP: timeout display of value when altering with fader or pot; range ops on strip buttons should work; select logic may be broken
git-svn-id: svn://localhost/ardour2/branches/3.0@11959 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-13 16:11:55 +00:00
Carl Hetherington
195c735181 Implement reset() in panners, and use it from the GUI (fixes #4196).
git-svn-id: svn://localhost/ardour2/branches/3.0@10282 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-22 16:19:27 +00:00
723ab60b39 Upgrade to waf 1.6.7 and autowaf r52.
git-svn-id: svn://localhost/ardour2/branches/3.0@10162 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-09-29 19:17:54 +00:00
Carl Hetherington
48de21b120 Move panner bypass state up to the PannerShell so that it is preserved even when new Panners are dropped in (refixes #4185).
git-svn-id: svn://localhost/ardour2/branches/3.0@9877 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-14 22:17:43 +00:00