13
0
Commit Graph

11127 Commits

Author SHA1 Message Date
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::*)())&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