Commit graph

7517 commits

Author SHA1 Message Date
David Robillard
008bfceb77 Clean up state tracking of raw MIDI. 2014-11-30 23:56:19 -05:00
David Robillard
a0deb7c3bf Save mute automation state. 2014-11-30 23:56:19 -05:00
Robin Gareus
272c93db12 CLA approved consistent fine-grained scale modifier 2014-11-30 21:27:31 +01:00
John Emmas
2996e677c4 Process 'default_ui_config.in' when building with MSVC 2014-11-30 17:57:44 +00:00
Robin Gareus
18efe8f446 consistent step+page sizes for fader+spinbox 2014-11-30 15:05:40 +01:00
Robin Gareus
fb3f9033cf use update_steps() instead of custom function 2014-11-30 15:05:39 +01:00
Robin Gareus
0622fc9d4b update_steps(), properly handle integer ranges 2014-11-30 15:05:39 +01:00
Robin Gareus
bd85c8ec43 fix ladpsa default value.
because get_parameter_descriptor() is const, also wrap
default_value() in a const function.
2014-11-30 15:05:39 +01:00
Robin Gareus
cf859270e0 fix LV2 default port value. 2014-11-30 15:05:39 +01:00
David Robillard
77d5fb7a35 Fix write for boolean automation. 2014-11-29 14:32:12 -05:00
Robin Gareus
c77f4b7a18 don't move faders on click.
for one, it can mess up the value when switching to
numeric-entry. It is also rather useless and not
Fader-like (faders are not scrollbars).
Besides, "stepvalue" is way to large and causes jumps
(sometimes step-value is even negative, see
"fast lookahead limiter", "release time"
 -> some other bug)
2014-11-29 17:31:41 +01:00
Robin Gareus
58663db374 change ownership of processor window-proxy
fixes crashes:
* If the Editor-Mixer shows a channel with a plugin that
has been edited in the Mixer, double-clicking the plugin 
will try to bring up a 2nd instance of the plugin-UI.
* When closing Ardour both the Mixer and the Editor-Mixer try to delete the underlying plugin, resulting in a double free.
2014-11-29 10:06:25 +01:00
David Robillard
784b96e255 Set discrete by default for boolean parameters. 2014-11-29 01:40:23 -05:00
David Robillard
ed1bbefd19 Somewhat working gain automation.
This probably isn't correct in several ways, but it works more than it did, so
I figure it's push worthy.

Still not working:

 * Saving mute automation list
 * Dragged control points are not snapped to model restrictions
   (boolean, in this case, but general problem)
 * Line goes funny if you record mute automation
   (as opposed to drawing it which works)
2014-11-29 01:25:27 -05:00
David Robillard
f190e630ab Show discrete/toggled automation as stepped line. 2014-11-28 21:15:28 -05:00
David Robillard
e55b68298b Fix crash when deleting all points from a line. 2014-11-28 20:04:57 -05:00
David Robillard
358ebde106 Set the toggled default metadata of parameters.
This is so generic code looking at the Parameter for gain, solo, and
rec-enable will get the correct value for toggled.
2014-11-28 18:04:51 -05:00
John Emmas
ea35595370 Add some newly introduced source files to our MSVC project (cairocanvas) 2014-11-28 14:42:17 +00:00
David Robillard
16947f751b Remove dead code. 2014-11-27 04:17:15 -05:00
David Robillard
3d4b1d324e Fix calculation using uninitialized value.
Implicit "this" is the devil.
2014-11-27 04:15:30 -05:00
Paul Davis
25e1eddc50 remove "port sources" management from MidiControlUI and Mackie support.
This was necessary due to a bug/design issue between Glibmm and Glib (see https://bugzilla.gnome.org/show_bug.cgi?id=561885)
 but the problem needs to be managed by the *creator* of the IOSource and that has now moved inside CrossThreadChannel.
2014-11-26 18:22:22 +02:00
Paul Davis
6edd81e4f6 get correct ::distance() and ::delta() implementations for cases involving achromatics 2014-11-26 18:22:22 +02:00
Paul Davis
318a9edab9 massive reworking of color selection implementation 2014-11-26 18:22:22 +02:00
Paul Davis
c927eeb9ee ensure that Ardour recognizes its own MMC device ID as "all-call" when set to 0x7f (127) 2014-11-26 18:22:22 +02:00
Tim Mayberry
b9be8d2652 Replace individual waf options for enabling backends with one --with-backends option 2014-11-26 22:47:05 +07:00
Colin Fletcher
4358b8db79 Add test for Evoral::coverage()
Add a test function to test Evoral::coverage() with all possible overlap
types. The first test (line 161) that expects OverlapExternal will fail
with the current implementation of coverage().

There's possibly still a discussion to be had about what the overlap type of
ranges with negative lengths should be: there are currently places in the main
Ardour code base where coverage() is called with ranges where start > end.
2014-11-25 17:49:51 +00:00
Colin Fletcher
3a6c9e3bb9 Fix build of evoral tests
Fix compile errors in libs/evoral/test/, by explicitly calling
Evoral::MusicalTime::to_double() wherever a double value is required of a
MusicalTime.

Some of the double variables should probably really be made into MusicalTime
ones instead, but I don't want to mess with this too much.

takeFiveTest still fails for me after this, but a failing test is probably
more informative in the long run than a test that won't even compile.
2014-11-25 14:59:48 +00:00
Colin Fletcher
1f58f81aa6 Fix order of parameters to stop_touch() in Mackie::Control
Reverse the parameters of Mackie::Control::stop_touch() to make them
consistent with AutomationControl::stop_touch(), and fix up the call to
AutomationControl::stop_touch() to have the parameters in the correct
order.

Unfortunately, I don't possess any devices that speak the Mackie protocol, so
though the patch seems logical and correct to me, I have no way of testing it.
If anyone has a device with touch faders that speaks Mackie, I'd be glad of any
confirmation that it at least doesn't break anything.
2014-11-25 14:59:48 +00:00
David Robillard
ea5876b836 Remove dead code. 2014-11-25 02:11:44 -05:00
Robin Gareus
78218e8c07 fix OSX open URL in browser 2014-11-24 20:35:38 +01:00
John Emmas
c7ddedc5b8 Simulate 'trunc()' which isn't available in MSVC
(needed by 'gtk2_ardour/editor.cc')
2014-11-24 12:56:07 +00:00
John Emmas
018f559aad Remove a commented out line in 'pbd/stacktrace.h'
(was probably just needed for testing at some stage)
2014-11-24 12:53:24 +00:00
John Emmas
25745758aa Changes needed to accommodate building libevoral with MSVC
Note that class 'MusicalTime' needn't be exportable (with a little work, this could be reverted if it affects the other builds)
2014-11-24 12:51:54 +00:00
Robin Gareus
c0e8647806 amend c4533939b9 2014-11-24 00:04:45 +01:00
Robin Gareus
cd91fa0046 hotfix windows-compilation (unfinished bfe49540b9)
..at least it compiles and starts. Mackie support etc
is probably still broken.
2014-11-23 23:57:56 +01:00
Robin Gareus
8ddeb712f6 make debug message more useful 2014-11-23 23:57:55 +01:00
Robin Gareus
5aba4df252 fix/silence various compiler warnings.
* ifdef unused static functions
* brackets around assignment and comparision
* no return statement in function returning non-void
* boost concept_checks.hpp unused-local-typedefs
2014-11-23 23:57:55 +01:00
David Robillard
f1926dc863 Fix build with a certain awful broken compiler. 2014-11-23 16:31:59 -05:00
Robin Gareus
ec01682714 -Wunused-function on windows 2014-11-23 21:01:39 +01:00
Robin Gareus
40764f4cb3 use NULL not 0 for c-functions (even in c++ code)
4.3 KBytes less compiler warnings.
2014-11-23 21:01:39 +01:00
Paul Davis
bfe49540b9 remove use of CrossThreadChannel::selectable() to allow cross-platform implementation of CrossThreadChannel via Glib::IOSource 2014-11-23 17:37:13 +02:00
David Robillard
57c1b6e261 Fix quantization and other time-related ops. 2014-11-22 21:49:42 -05:00
David Robillard
231e0009b4 Max is max and min is min and I am dumb. 2014-11-22 16:33:32 -05:00
David Robillard
42b5ed3904 Fix clang and MSVC build. 2014-11-22 15:26:41 -05:00
David Robillard
c1cfa12d6e Wrap MusicalTime in a class.
This lets us get a more explicit handle on time conversions, and is the main
step towards using actual beat:tick time and getting away from floating point
precision problems.
2014-11-22 04:05:42 -05:00
David Robillard
cae74309a5 Fix assert failure in control list interpolation.
How we never hit this before is beyond me, it's in some ooooold code.
2014-11-22 00:46:15 -05:00
David Robillard
01493b14cf Fix const violation warnings in tempo.cc. 2014-11-22 00:46:15 -05:00
David Robillard
4bc0d1c475 Fix lost MIDI note offs and controllers.
Fix initial read of discrete MIDI controllers.

Fix spurious note offs when starting to play in the middle of a note.

Faster search for initial event when cached iterator is invalid.

So much for dropping the cached iterator.  The iterator is responsible for
handling note offs, so that doesn't work.  This design means we have some stuck
note issues at the source read level, but they should be taken care of by the
state tracker anyway.
2014-11-20 15:36:11 -05:00
David Robillard
8bba63282a Reduce unnecessary non-const MIDI buffer access. 2014-11-20 15:32:06 -05:00
David Robillard
8f8a4878f3 Clean up some MIDI code. 2014-11-20 11:31:31 -05:00