Commit graph

11092 commits

Author SHA1 Message Date
Len Ovens
95beda06d9 OSC: Reworked select to follow Gui selected strip regardless of it's inclusion in bank 2016-06-29 19:38:17 -07:00
Paul Davis
b2be7cb6bd remove debug output and add a few suggestive comments 2016-06-28 16:05:35 -04:00
Paul Davis
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
Robin Gareus
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
Robin Gareus
48fe9983f7 some more translation fixes 2016-06-28 12:53:18 +02:00
Robin Gareus
22fd92f97c tweak b7e645ec6, use session start/end position 2016-06-28 00:17:46 +02:00
Robin Gareus
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
Robin Gareus
741428b6fd add a debug mode (in synth) to track down lost note-on 2016-06-26 17:15:46 +02:00
Robin Gareus
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
Robin Gareus
d5cc04d57b fix typo 2016-06-25 18:54:11 +02:00
Robin Gareus
ace9ee194d fix typos in prev commit 2016-06-25 03:47:38 +02:00
Robin Gareus
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
Paul Davis
37156d6761 more tweaks to HTML output when printing key bindings 2016-06-23 08:37:24 -04:00
Len Ovens
f3dd9eef8b OSC: master/monitor forced to sort at end 2016-06-22 14:50:13 -07:00
Len Ovens
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
Robin Gareus
dd549bb09e another C++98 fix 2016-06-22 19:22:19 +02:00
Robin Gareus
64d7a82a52 fix gcc4 builds C++98
Flag is an enum -- not a class nor namespace
2016-06-22 16:18:07 +02:00
Len Ovens
cad5ed4f21 OSC: Might help if I used the right variable, Really fix select. 2016-06-21 20:31:53 -07:00
Len Ovens
74806a43c9 OSC: Fix out of range track. (crash) 2016-06-21 19:19:07 -07:00
Len Ovens
daddf2179f OSC: Add strip type selection. 2016-06-21 18:47:43 -07:00
Robin Gareus
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
Paul Davis
791cff6f46 use new keyboard modifier names, and replace GDK names with better versions 2016-06-21 08:59:39 -04:00
Paul Davis
ae4e84fd51 provide some Keyboard:: methods to get access to other versions of modifier names 2016-06-21 08:58:38 -04:00
Paul Davis
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
John Emmas
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
John Emmas
48329f8d6e Make sure MSVC knows which version of 'floor()' we want 2016-06-18 11:36:13 +01:00
John Emmas
6ca3c67046 Use Glib::usleep() for consistency 2016-06-18 11:34:14 +01:00
Robin Gareus
425c40ff08 fix upsampling import of X-channel files where buffersize % X != 0 2016-06-17 22:17:58 +02:00
Len Ovens
f4047b9a26 OSC: take care of track order changes too. Deal with mixer topology changes one time. 2016-06-16 19:41:39 -07:00
Len Ovens
3754859f2f OSC: Blank some more feedback values when select observer is destroyed. 2016-06-16 16:07:09 -07:00
Robin Gareus
a9c09af816 set latency of sidechain port 2016-06-16 15:08:25 +02:00
Paul Davis
0eb509ac2e remove debug output from Pane code 2016-06-14 11:46:24 -04:00
Len Ovens
dcf852aae4 OSC: Catch new strips, gone strips and redo banks and observers. Add more select feedback. 2016-06-13 11:57:15 -07:00
Paul Davis
9142d1edf5 working version of pane position mgmt for OS X 2016-06-13 09:52:54 -04:00
Paul Davis
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
Paul Davis
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
Robin Gareus
00caabf735 ignore midi on monitor-section and force strict-i/o 2016-06-12 20:16:27 +02:00
Paul Davis
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
Paul Davis
beafe2be6e fix MCP Cancel button "escape" action 2016-06-12 08:43:24 -04:00
Paul Davis
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
Paul Davis
4717080aee reduce verbosity of -D mackie in the presence of continued handshaking/keepalive messages. 2016-06-12 08:18:01 -04:00
Robin Gareus
63ac1e7224 more meta-data placeholders for post-export command 2016-06-12 10:59:47 +02:00
Len Ovens
3d9517c22f OSC: Add send enable control. 2016-06-11 13:57:27 -07:00
Len Ovens
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
Paul Davis
ec8a4de015 make relative gain control in route groups work (again) 2016-06-10 16:59:34 -04:00