b27d9bb02a
OSC: select is global not per surface.
2016-07-04 08:27:16 -07:00
a1a6dd3865
a-comp display is getting fancy :)
2016-07-04 15:50:05 +02:00
14c50b317c
operate directly on realtime controls, not via Session
2016-07-04 09:27:33 -04:00
97f0415130
2nd part of previous commit
2016-07-04 09:27:33 -04:00
2e3c25eca7
make sure that rec-enable changes get to do their non-RT stuff before being queued for RT-context execution
2016-07-04 09:27:33 -04:00
d2f20120b7
display level in a-comp display
2016-07-04 14:26:37 +02:00
49294644fb
con't work on a-comp inline-display
2016-07-04 14:07:05 +02:00
ebdb8dc2ce
add C99 flags for lv2 plugin
2016-07-04 13:08:23 +02:00
d9ba78d594
basic inline display for a-comp
2016-07-04 12:59:04 +02:00
da5ab866c2
a-comp: Tweak control bounds and clear state on deactivate
2016-07-04 19:43:06 +10:00
ed5cd83c63
experimental support for AU sidechain busses
...
some plugins include a sidechain bus which is not explicitly
listed under "Reported Channel Capabilities" list,
nor the "Input/Output Channel Handling"
2016-07-04 03:57:04 +02:00
a373e4cfc8
UI: Add editor_mixer route pointer to session so all UIs can know the same current_strip even in a selected group.
2016-07-03 18:22:09 -07:00
402e9cb20d
flush output buffers after processing - fixes midi-bus chaining
2016-07-04 03:13:35 +02:00
e6621c4405
OSC: select off by one bug, something must have changed by 1, fixed
2016-07-03 15:28:03 -07:00
15b006c6c2
LV2 render-value: override precision
...
lv2's units.ttl specifies "%f" for many values by default which results in
useless high precision
2016-07-04 00:20:11 +02:00
f49d0a1b1d
add PangoCairo lua bindings
2016-07-04 00:20:11 +02:00
02a18400fa
fix behaviour when opening up a gap to insert new Stripables.
...
Need to include all stripables, not just routes, and need to include master since editor (and maybe others) opt
to use the presentation_info().order() value for it
2016-07-03 13:22:52 -04:00
05a069a9e9
explanatory comment
2016-07-03 13:22:52 -04:00
9220e81e20
clean up a-comp .ttl -- maintainer: the a-team
2016-07-03 14:45:15 +02:00
94e5060168
bundle a-comp
2016-07-03 03:21:44 +02:00
c50a0c5dd0
only reconfigure lua DSP plugins if channelcount changes
2016-07-02 23:36:34 +02:00
f169ff3db3
extend lua API:
...
* add a basic FFT spectrum analyzer
* prepare Cairo::ImageSurface
* HSL colorspace conversion
2016-07-02 23:36:34 +02:00
02db39c1bc
remove Session::get_nth_stripable.cc
2016-07-02 16:08:38 -04:00
661123c756
OSC: Account for some select edge cases
2016-07-01 21:21:08 -07:00
6ed7336384
OSC: make sure out of bank strip can not be converted to a stripable.
2016-07-01 18:31:13 -07:00
3491f22c04
OSC: Don't look for which stripable is selected until we actually need it, It may be wrong at application start.
2016-07-01 18:12:31 -07:00
55722a74fb
OSC: Change all time feedback to /position/<type>
2016-07-01 17:28:08 -07:00
1874aa6acd
use correct property when PresentationInfo::color is set from XML
2016-07-01 18:14:21 -04:00
8a6e9c19d7
fix logic of PresentationInfo::color_set()
2016-07-01 18:02:42 -04:00
58b2931685
add the potential for a bit more debugging of signal connects
2016-07-01 17:47:05 -04:00
ba700ecc63
add the potential for a bit more debugging of signal connects
2016-07-01 17:47:05 -04:00
0ae634cb1e
fix jack_port_rename() detection
2016-07-01 19:08:52 +02:00
29af3b1aee
some debug message for lua processors
2016-07-01 16:02:11 +02:00
5335763f98
use initialization, not explicit assignment
2016-06-30 17:41:11 -04:00
7f712ddd4c
OSC: Select tweak.
2016-06-29 19:57:13 -07:00
95beda06d9
OSC: Reworked select to follow Gui selected strip regardless of it's inclusion in bank
2016-06-29 19:38:17 -07:00
b2be7cb6bd
remove debug output and add a few suggestive comments
2016-06-28 16:05:35 -04:00
54d5f36311
changes in logic used by source cleanup to avoid endless recursion in sessions with deeply nested/recursive compound regions.
...
This also fixes some potentially dangerous cleanup logic related to two sources with the same name (but different paths)
2016-06-28 15:05:56 -04:00
dbb26485df
ignore automation for non-automatables.
...
Since 4.7-1477-g2c6d595 Ardour implements Control::NotAutomatable.
This can lead to situations where automation exists for parameters that
were not supposed to be automatable, which in turn caused a
"programming-error" abort() in
RouteTimeAxisView::add_processor_automation_curve()
2016-06-28 18:43:31 +02:00
48fe9983f7
some more translation fixes
2016-06-28 12:53:18 +02:00
22fd92f97c
tweak b7e645ec6
, use session start/end position
2016-06-28 00:17:46 +02:00
b7e645ec61
switching to "touch" implies existing automation.
...
This fixes an issue of Fader jumping to unity when switching from
manual to touch if there is no prior automation.
Likewise for plugin parameters jumping to "default"
2016-06-27 19:04:38 +02:00
741428b6fd
add a debug mode (in synth) to track down lost note-on
2016-06-26 17:15:46 +02:00
86763cba90
Enable build for FreeBSD (part 1/2)
...
Adopted from Michael Beer -- GH pull-request #232 with minor changes:
* rebased on master,
* removed trailing whitespace,
* don't explicitly change saved configuration defaults (wscript)
* moved sys/wait (WNOHANG) to header include
* separate changes in GUI and lib
2016-06-26 16:43:07 +02:00
Sam Thursfield
e37b250d4d
Use correct type of std::map::count
...
Compiling Ardour commit ec8a4de015
with GCC
6.1.1 (on Fedora 24) gave this build failure:
In file included from /home/sam/ardour/libs/lua/LuaBridge/LuaBridge.h:154:0,
from ../tools/luadevel/devel.cc:16:
/home/sam/ardour/libs/lua/LuaBridge/detail/Namespace.h: In instantiation of ‘luabridge::Namespace::Class<std::map<K, V> > luabridge::Namespace::beginStdMap(const char*) [with K = std::__cxx11::basic_string<char>; V = std::__cxx11::basic_string<char>]’:
../tools/luadevel/devel.cc:89:60: required from here
/home/sam/ardour/libs/lua/LuaBridge/detail/Namespace.h:1666:30: error: no matches converting function ‘count’ to type ‘void (class std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, std::less<std::__cxx11::basic_string<char> >, std::allocator<std::pair<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> > > >::*)()’
.addFunction ("count", (void (LT::*)())<::count)
^~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/6.1.1/map:61:0,
from /home/sam/ardour/libs/lua/LuaBridge/LuaBridge.h:45,
from ../tools/luadevel/devel.cc:16:
/usr/include/c++/6.1.1/bits/stl_map.h:1131:2: note: candidates are: template<class _Kt> decltype (((const std::map<_Key, _Tp, _Compare, _Alloc>*)this)->std::map<_Key, _Tp, _Compare, _Alloc>::_M_t._M_count_tr(__x)) std::map<_Key, _Tp, _Compare, _Alloc>::count(const _Kt&) const [with _Kt = _Kt; _Key = std::__cxx11::basic_string<char>; _Tp = std::__cxx11::basic_string<char>; _Compare = std::less<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> > >]
count(const _Kt& __x) const -> decltype(_M_t._M_count_tr(__x))
^~~~~
/usr/include/c++/6.1.1/bits/stl_map.h:1125:7: note: std::map<_Key, _Tp, _Compare, _Alloc>::size_type std::map<_Key, _Tp, _Compare, _Alloc>::count(const key_type&) const [with _Key = std::__cxx11::basic_string<char>; _Tp = std::__cxx11::basic_string<char>; _Compare = std::less<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> > >; std::map<_Key, _Tp, _Compare, _Alloc>::size_type = long unsigned int; std::map<_Key, _Tp, _Compare, _Alloc>::key_type = std::__cxx11::basic_string<char>]
count(const key_type& __x) const
^~~~~
Casting std::map::count to the correct type instead of a fake void()
type fixes the compile failure.
2016-06-26 16:18:34 +02:00
d5cc04d57b
fix typo
2016-06-25 18:54:11 +02:00
ace9ee194d
fix typos in prev commit
2016-06-25 03:47:38 +02:00
e9a8ccc7e2
major internal plugin & processor API change:
...
Pass current (latency compensated) cycle times to plugin.
This fixes time-reporting to plugins and also fixes automation
and when bouncing (the session->transport* is not valid) etc.
2016-06-25 02:23:56 +02:00
nick_m
cde951f30f
Fix counting thinko in tests.
...
- note that the negative framepos in
FrameposPlusBeatsTest::singleTempoTest() will
not pass. needs some thougt as to whether it is testing
the correct thing.
2016-06-25 01:37:48 +10:00
37156d6761
more tweaks to HTML output when printing key bindings
2016-06-23 08:37:24 -04:00
f3dd9eef8b
OSC: master/monitor forced to sort at end
2016-06-22 14:50:13 -07:00
844bf70002
OSC: Fix math off by one, Check for all stripable controls because VCAs have less (crash fix)
2016-06-22 14:10:59 -07:00
dd549bb09e
another C++98 fix
2016-06-22 19:22:19 +02:00
64d7a82a52
fix gcc4 builds C++98
...
Flag is an enum -- not a class nor namespace
2016-06-22 16:18:07 +02:00
cad5ed4f21
OSC: Might help if I used the right variable, Really fix select.
2016-06-21 20:31:53 -07:00
74806a43c9
OSC: Fix out of range track. (crash)
2016-06-21 19:19:07 -07:00
daddf2179f
OSC: Add strip type selection.
2016-06-21 18:47:43 -07:00
556c97b2d5
always run amp/trim LPF
...
This fixes "clicks" when switching fader automation from "manual"
to "play/touch" while the transport is rolling.
2016-06-21 21:59:21 +02:00
791cff6f46
use new keyboard modifier names, and replace GDK names with better versions
2016-06-21 08:59:39 -04:00
ae4e84fd51
provide some Keyboard:: methods to get access to other versions of modifier names
2016-06-21 08:58:38 -04:00
10a4de1550
some modest improvements in the html rendering of key bindings, plus use of normal modifier names
2016-06-20 17:19:31 -04:00
557031ca11
Remove confusion over ambiguous symbols
...
libboost and libsigc++ both contain symbols called _1() / _2() etc. Forcing the use of namespace sigc causes us to use the ones from sigc++ when in fact, we want the ones from boost.
Hopefully this fix will work for all compilers.
2016-06-18 11:41:12 +01:00
48329f8d6e
Make sure MSVC knows which version of 'floor()' we want
2016-06-18 11:36:13 +01:00
6ca3c67046
Use Glib::usleep() for consistency
2016-06-18 11:34:14 +01:00
425c40ff08
fix upsampling import of X-channel files where buffersize % X != 0
2016-06-17 22:17:58 +02:00
f4047b9a26
OSC: take care of track order changes too. Deal with mixer topology changes one time.
2016-06-16 19:41:39 -07:00
3754859f2f
OSC: Blank some more feedback values when select observer is destroyed.
2016-06-16 16:07:09 -07:00
a9c09af816
set latency of sidechain port
2016-06-16 15:08:25 +02:00
0eb509ac2e
remove debug output from Pane code
2016-06-14 11:46:24 -04:00
dcf852aae4
OSC: Catch new strips, gone strips and redo banks and observers. Add more select feedback.
2016-06-13 11:57:15 -07:00
9142d1edf5
working version of pane position mgmt for OS X
2016-06-13 09:52:54 -04:00
ceb0bce971
write some code to limit pane handle positions on OS X.
...
So far untested, and uncompiled
2016-06-13 09:10:47 -04:00
8d17465016
give WindowProxy its own map/unmap signals so that other things can track map/unmap without accessing the Window
2016-06-12 22:49:15 -04:00
00caabf735
ignore midi on monitor-section and force strict-i/o
2016-06-12 20:16:27 +02:00
21bf61d559
MackieControl: in sends subview, if there are no sends for a vpot, drop the controllable for the vpot
2016-06-12 08:44:34 -04:00
beafe2be6e
fix MCP Cancel button "escape" action
2016-06-12 08:43:24 -04:00
a8d7b0fca3
redesign/reimplement selection knowledge in MackieControlProtocol object
...
strips listen to Stripable::presentation_info().PropertyChange, and forward selected status changes
to the MCP object
2016-06-12 08:19:16 -04:00
4717080aee
reduce verbosity of -D mackie in the presence of continued handshaking/keepalive messages.
2016-06-12 08:18:01 -04:00
63ac1e7224
more meta-data placeholders for post-export command
2016-06-12 10:59:47 +02:00
3d9517c22f
OSC: Add send enable control.
2016-06-11 13:57:27 -07:00
63e6378713
OSC: added solo isolate and solo safe/lock.
2016-06-11 12:09:15 -07:00
nick_m
bcf683df00
Fix exact tempo pulse for snap to bars case.
2016-06-12 03:26:02 +10:00
nick_m
24f64b3ea7
Make exact beat calculation of tempi a bit less cumbersome. Move tempi on an audio basis for non-musical snap.
2016-06-12 02:46:13 +10:00
nick_m
e973e39f06
Set tempo sections to the exact pulse when snapped to a musical grid.
2016-06-12 00:42:43 +10:00
ec8a4de015
make relative gain control in route groups work (again)
2016-06-10 16:59:34 -04:00
1695de335d
OSC: Constrain master pan position as width requires.
2016-06-10 13:45:07 -07:00
b588308bed
OSC: force non-active controls to zero. Keep pan within range wide allows.
2016-06-10 13:05:58 -07:00
nick_m
a1be0d0fe1
Unused variable - no-op.
2016-06-11 05:54:18 +10:00
nick_m
f3b4644969
Fix many offset errors when drawing notes in midi regions that have been edited.
...
- hopefully this can close bugs such as 6270 & 6793
2016-06-11 05:40:50 +10:00
49011ea146
noop: comment fix.
2016-06-10 13:57:19 -04:00
a2fd790252
New editor API to retrieve the Stripable with via presentation info order.
2016-06-10 13:57:19 -04:00
2d4358ddb5
Various changes to PresentationInfo and a small consolidation of sorters.
...
The semantics for sorting PresentationInfo are up to the caller, not the
PresentationInfo object, so operator<() was removed and callers specifically
invoke ::order() for sorting.
2016-06-10 13:57:18 -04:00
3eaa6c0389
remove certain ControlProtocol signals related to stripable selection
...
includes change to Mackie support so that strips listen for PropertyChange
on the stripables they represent, no global selection change used anymore.
2016-06-10 13:57:18 -04:00
nick_m
ae99b93cc2
Apply some constraints to bbt dragging.
...
- max tempo 1000 bpm
- apply a minimum measurement distance.
- ensure result is positive (!)
2016-06-10 11:45:40 +10:00
f65713c426
OSC: Finished Select send levels
2016-06-09 18:33:00 -07:00
049a678ff9
OSC: change the word phase to polarity as per mailing list.
2016-06-09 15:24:43 -07:00
624715cca7
provide a heuristic to decide if the color has been set for a PresentationInfo object
2016-06-09 16:24:22 -04:00
37aed5715b
OSC: add phase control
2016-06-09 12:07:57 -07:00
4905422a47
OSC: Added pan width to selected
2016-06-09 11:11:48 -07:00
199f20ff2c
namespace required
2016-06-09 13:24:35 -04:00
nick_m
260a0ca12c
Amend last commit.
2016-06-10 01:14:08 +10:00
nick_m
e05b0862b5
Audio locked meters with an existing tempo may be dragged past that tempo's location.
2016-06-10 01:07:25 +10:00
3e29a46603
OSC: select commands for pan and trim added, feedback for select sends. GUI_select feedback done.
2016-06-08 23:08:56 -07:00
nick_m
8de12a4015
Possible fix for memory pool problem in session click.
2016-06-09 05:16:38 +10:00
e27df63bc5
Fix a couple of build errors in the test suite.
...
The parameters to Session::new_audio_track() changed in e0ff70cf
, and
Playlist::region_list() was renamed to region_list_property() in
fce6ac0e
. Update calls to these functions in the test suite to match.
A couple of tests still fail after these changes.
2016-06-08 19:56:34 +01:00
9a1c24dda7
fix thinko in Pane expose event handler.
...
There are always less dividers than children
2016-06-08 12:26:24 -04:00
fcf49de774
move gui_changed() signal from Route to Stripable
2016-06-08 11:03:13 -04:00
a223b96725
fix mute automation for busses & consolidate code.
2016-06-08 15:39:04 +02:00
fce6ac0ef6
consistent API name for region-list
2016-06-08 15:39:04 +02:00
f05ff9570e
fix faderport's use of action name
2016-06-07 19:25:33 -04:00
83770f839b
minor optimization when search for actions
2016-06-07 19:25:11 -04:00
73f3abedea
make it possible to disable VisibilityTracker's use of WM visibility
2016-06-07 18:29:03 -04:00
04997080a4
add meta-data placeholders for post-export command
...
needs testing on windows with UTF8
2016-06-07 16:57:17 +02:00
78ad42fd88
fix up logic that connects ControlGroups and RouteGroups
...
This makes deactivating a RouteGroup also stop the ControlGroups from having any effect
2016-06-07 09:48:17 -04:00
d511d62f65
OSC: reset select strip on bank change or select for non-existing stripable.
...
Fixes crash when selecting unused strip and then changing bank.
2016-06-06 23:40:35 -07:00
ee1046bbed
OSC: Respond to GUI select.
2016-06-06 14:54:33 -07:00
3c0fd1a115
remove incorrect allocation of a second VCAManager in a session.
...
Fixes warning about a SessionHandleRef at session close
2016-06-06 16:15:25 -04:00
nick_m
36f3291a9c
Ensure correct lock style before setting position.
2016-06-07 06:14:47 +10:00
nick_m
86db26ff16
MidiRegion ctor inherits length_beats.
...
- fixes incorrect length on drag-copying and pasting
midi regions.
2016-06-07 06:12:41 +10:00
nick_m
9488201a2c
Region ctor inherits position, start and beat.
2016-06-07 06:10:55 +10:00
9a50d15c7f
fix crashing bug in Pane when accessing dividers
2016-06-06 16:05:43 -04:00
5700296cb6
add a destructor for Gtkmm2ext::Pane that unparents the children.
...
This seems to be required, although there is confusion in Gtkmm3 about this.
2016-06-06 16:05:25 -04:00
nick_m
288ebbe5a7
Fix initialization of Region::_beat.
2016-06-07 03:00:28 +10:00
nick_m
6a622d86dc
Fix midi region split, trim and move operations.
...
- there is still the problem of being unable to drag
a trimmed region to the left when it's source
(not it's position) would end up on a negative beat.
2016-06-07 02:14:31 +10:00
nick_m
92fdf7deda
Region always sets position before length.
2016-06-07 02:12:04 +10:00
da5119583a
there is no remote model choice anymore - ordering is determined by the GUI
2016-06-06 12:04:45 -04:00
cde50f847f
MSVC won't allow floating point types to be mapped directly to enums
2016-06-06 09:07:45 +01:00
cb7e8025f2
Accommodate newly introduced source(s) in our MSVC project (ardour_osc)
...
(also, libardour_osc now needs to link to libardour_timecode)
2016-06-06 09:06:08 +01:00
cce4726c4c
OSC: More controls in /select/*, off by one fixed
2016-06-05 22:30:14 -07:00
nick_m
f0f2e3bb71
Consolidate notifications when MidiRegion changes length due to position change.
2016-06-06 14:26:43 +10:00
2c0396c9aa
fix Session::get_remote_nth_stripable() to use zero-based numbering
2016-06-05 20:50:57 -04:00
6520548fc2
extend/modify PresentationInfo to make searching for routes via Session::get_remote_nth_stripable() work
2016-06-05 20:50:57 -04:00
5bbfac2380
OS X clang build issue fix
2016-06-05 18:00:48 -04:00
91ad3ef81d
don't connect to individual PresentationInfo signals per Stripable; we only reorder strips once, when the global signal arrives
2016-06-05 16:33:02 -04:00
dfcc8fd547
Stripable signals moved to PresentationInfo
2016-06-05 16:33:02 -04:00
6637260ac9
Stripable signals moved to PresentationInfo
2016-06-05 16:33:02 -04:00
d58cb3daa3
extensive changes to PresentationInfo API
...
Now handles color, partially.
2016-06-05 16:33:01 -04:00
e3e77475cd
fix registration of PresentationInfo enums
2016-06-05 16:33:01 -04:00
58f6b98662
extend comments to avoid unused-variable warnings from commented code
2016-06-05 16:33:01 -04:00
e4a588901b
change property names (not quark/strings) for RouteGroup properties to avoid collisions with new ones
2016-06-05 16:33:01 -04:00
nick_m
bd551e97ea
Midi regions recalculate their length in frames when moved/copied.
...
- should fix 6793
2016-06-06 03:54:23 +10:00
86607097d6
plugin support for Controllable::NotAutomatable
2016-06-05 19:05:05 +02:00
03d2939f27
OSC: Added feedback for /select
2016-06-05 07:25:54 -07:00
6e42d7b99e
prepare for LV2 non-automatable control ports
2016-06-05 14:45:24 +02:00
37b90c2a9e
refine self-automating plugin interface
...
* thin automation at end
* allow plugins to disable its internal write state (ctrl port)
* Debug messages
2016-06-05 14:44:54 +02:00
nick_m
b4a020cdf5
Fix ignored note_type in TempoMap::frames_per_beat_at().
2016-06-05 07:10:06 +10:00
3f336f2021
OSC: Bug fix for no monitor, bug fix heart beat on turned global feedback on.
...
Start select code.
2016-06-04 07:04:32 -07:00
56a5dd92af
allow latent self-automating plugins
2016-06-03 23:09:18 +02:00
nick_m
360f87b217
Fix FramedCurve Outside fill for curve.
2016-06-04 07:03:18 +10:00
nick_m
1eb8216408
More FramedCurve render work
...
- draw last point correctly if applicable
- comment intent.
2016-06-04 06:40:59 +10:00