13
0
Commit Graph

4902 Commits

Author SHA1 Message Date
3b17107417 pixfaders should invalidate their patterns and layout on style change, helps fix #5275
git-svn-id: svn://localhost/ardour2/branches/3.0@13949 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-21 16:10:39 +00:00
7a2f3e6380 save aux sends in session/route templates (#5285)
git-svn-id: svn://localhost/ardour2/branches/3.0@13946 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-21 13:48:56 +00:00
1f9b0a86bd fix crash when deleting a processor with a controllable (#5284)
git-svn-id: svn://localhost/ardour2/branches/3.0@13943 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-21 13:20:43 +00:00
2586dacf5b Trim the include tree a bit.
git-svn-id: svn://localhost/ardour2/branches/3.0@13941 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-21 07:24:42 +00:00
e781c1cf0d Fix MIDI loop recording.
This changes how things work a bit, but I am committing it for 3.0 since the
previous revision often crashed (and never worked), this one seems to work
fine, and the code is quite a bit more cogent.

I have tested the following use cases with live input and audible output:

 * Non-loop recording, armed before roll
 * Non-loop recording, arm while rolling
 * Loop recording, armed before roll
 * Loop recording, arm during roll

In the last case, the source/region is created starting at the loop start
rather than the current transport frame as usual so time makes sense when it
wraps around.

See the documentation added to the code for details, but the basic idea here is
to simply push MIDI events to the source with increasing monotonic time,
ignoring looping altogether.  Essentially we pretend the loop does not exist,
but the source knows all the details so it can implement whatever behaviour is
appropriate.

Currently, this is simply recording a complete non-destructive copy of the
input, which is a good thing.  Perhaps not what the user expects of loop
recording, but at least it works and is one sensible option.  We will need to
add more later.

Display while recording is a little bit wacky, but whatever.


git-svn-id: svn://localhost/ardour2/branches/3.0@13940 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-21 06:00:15 +00:00
76547b5c4b More style-only changes.
git-svn-id: svn://localhost/ardour2/branches/3.0@13939 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-21 02:35:53 +00:00
b40464e67c Actually flush to disk continuously while MIDI loop recording.
Previously, this calculation was based on the current transport frame and last
time, both absolute, with the effect that loop recording would flush the first
time and never again.

The fix is to keep track of the actual duration of the capture, ignoring the
transport position, and flush as that reaches the threshold.


git-svn-id: svn://localhost/ardour2/branches/3.0@13938 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-21 02:01:59 +00:00
368214b47d More whitespace-only changes.
Apologies for the noise, trying to dice a bunch of changes into reasonable commits...

git-svn-id: svn://localhost/ardour2/branches/3.0@13937 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-21 01:44:36 +00:00
58d0fa7240 Fix whitespace.
git-svn-id: svn://localhost/ardour2/branches/3.0@13935 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-21 01:08:43 +00:00
fa8d0268eb Fix compilation with --test.
Make midnam test suite pass again.

The Ardour test suite does not pass.  I commented out old crossfade stuff, but
I am not familiar enough with the parts that fail to fix it.  It might be a
good idea for someone to look into this.  Ideally we'd have the test integrated
into everyone's workflow, but they add quite a few files to compile...


git-svn-id: svn://localhost/ardour2/branches/3.0@13931 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-20 18:23:42 +00:00
4e6d0c9e61 Show matching controller name in automation lane header.
Completely eliminate static MIDI controller name code.
Reduce dependency on midnam_patch.h (which would have saved me several hours if I did it earlier).
Store controller name numbers as an integer.
Keep controller names in a map keyed by int instead of a list for fast lookup.
More cleanup of MIDI::Name code.


git-svn-id: svn://localhost/ardour2/branches/3.0@13927 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-20 08:56:00 +00:00
64f1a8e893 Error checking string to int conversion from midnam files.
Use const references where appropriate.
Fix incorrect use of (either confusingly named or often abused) Patch tag Number attribute.

git-svn-id: svn://localhost/ardour2/branches/3.0@13923 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-20 07:33:27 +00:00
586484abf0 Support loading MIDI note names in NoteGroup tags as well.
git-svn-id: svn://localhost/ardour2/branches/3.0@13919 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-20 04:27:12 +00:00
f7ada4b323 Add General MIDI drum note names and patch names.
Support loading note names per ChannelNameSet (like GM) in addition to per Patch (like DM5).


git-svn-id: svn://localhost/ardour2/branches/3.0@13913 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-20 02:41:27 +00:00
4a47edeaf0 Fix MIDI note number off by one error.
Bloody one-based indices...


git-svn-id: svn://localhost/ardour2/branches/3.0@13911 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-20 01:12:12 +00:00
230c4e080e Fix midnam warning messages.
git-svn-id: svn://localhost/ardour2/branches/3.0@13910 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-20 00:58:19 +00:00
88de45b7cc Support note names from midnam files (tested with the DM5).
Do this via a simple MasterDeviceNames::note_name() function.  The same really
needs to be done for program names, this stuff is absolutely brutal to use.

Store note names in a vector indexed by number instead of a list with string
"numbers" for reasonable lookup time.

Make some references const that should be.


git-svn-id: svn://localhost/ardour2/branches/3.0@13908 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-20 00:46:55 +00:00
85d9fa3b25 Gracefully handle errors parsing midnam documents instead of crashing.
git-svn-id: svn://localhost/ardour2/branches/3.0@13904 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-19 21:31:21 +00:00
444d89b669 Set MIDI device mode to the first by default if unset.
Give up trying to hide mode selector when it's useless.
Fix display of program names for default mode.
Abstract out (non-crashy) MidiTimeAxisView::get_device_names().


git-svn-id: svn://localhost/ardour2/branches/3.0@13903 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-19 20:15:15 +00:00
2d9a15087b Use a std::set for MIDI device models so the combo is sorted and the user can find things.
git-svn-id: svn://localhost/ardour2/branches/3.0@13902 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-19 19:25:06 +00:00
051b81494c slightly more informational debug message
git-svn-id: svn://localhost/ardour2/branches/3.0@13896 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-19 13:14:50 +00:00
b1bc353f0d Add standard MIDI midnam file and remove hard coded equivalent.
Accordingly, make "generic" MIDI truly generic, just numbered controllers.
Break up MIDI name UI stuff into manageable functions of reasonable size.
Add convenient method to MIDINameDocument for getting the names for a device.
Tolerate comments in MIDINameDocument ControlNameList.

Can't remove the MIDI name code just yet, since it's still erroneously used by
Automatable::describe_parameter().  This is the cause of a bug where the name
on the automation lane does not match that in the menu.

The plan is to make a very simple pure abstract interface for getting MIDI
names, and make it possible to set one for Automatable (or perhaps pass it to
describe_parameter()).  Thus we'll be on the way to supporting names from
sources other than midnam files, namely plugins.


git-svn-id: svn://localhost/ardour2/branches/3.0@13895 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-19 10:02:00 +00:00
fc77ae0738 Replace a bunch of potential crashes with graceful handling of the situation.
We really need some kind of more sophisticated assert macro that can be
switched to non-fatal logging mode for release builds.  A log message, which is
often all that would happen, is a lot better than a trainwrecked performance...


git-svn-id: svn://localhost/ardour2/branches/3.0@13892 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-19 07:00:43 +00:00
94c7798712 Hide MIDI device mode selector unless there is actually more than one mode.
Since this is usually not the case, showing this all the time as before was so
confusing everyone thought it was broken (myself included).

Changing that show_all() to a show() might have consequences, but it seems to
work fine and we really shouldn't be using show_all() anyway.


git-svn-id: svn://localhost/ardour2/branches/3.0@13889 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-19 05:36:43 +00:00
49a722d3d2 more debugging output for failed LXVST opens, and drop use of NULL
git-svn-id: svn://localhost/ardour2/branches/3.0@13880 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-18 20:25:13 +00:00
b4abc10f71 fix issue with color and position of mixer strip plugin control sliders (#5275)
git-svn-id: svn://localhost/ardour2/branches/3.0@13876 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-17 22:33:08 +00:00
d0272c4558 cache cairo_pattern_t's for PixFader so that we don't generate one per fader, but rather one per size+color combination
git-svn-id: svn://localhost/ardour2/branches/3.0@13874 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-17 15:36:35 +00:00
b02e2cd25b fix problem with size of patterns used by pixfaders when they get re-size-allocated
git-svn-id: svn://localhost/ardour2/branches/3.0@13871 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-17 15:00:44 +00:00
5adcb61f60 a few small fixes that help pitchbend control of things, notably the shuttle controller. but note that basically, teh shuttle controller is completely and hopelessly broken through excess complexity and incorrect design
git-svn-id: svn://localhost/ardour2/branches/3.0@13870 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-17 14:48:17 +00:00
4ecb07aaee fix up Location::first_location_(after|before) to do the right thing when marks + ranges are interleaved (functions renamed)
git-svn-id: svn://localhost/ardour2/branches/3.0@13869 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-17 13:19:16 +00:00
53f162f921 prevent button1/2 clicks on pixfaders from being used to drive event processing in parent containers (#5272)
git-svn-id: svn://localhost/ardour2/branches/3.0@13868 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-17 02:41:11 +00:00
15078e5a6d fix up handling of size allocation + setting
git-svn-id: svn://localhost/ardour2/branches/3.0@13866 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-17 02:32:48 +00:00
db3da02446 add copyright comments
git-svn-id: svn://localhost/ardour2/branches/3.0@13865 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-16 18:51:39 +00:00
d592b2cc5b add copyright comments
git-svn-id: svn://localhost/ardour2/branches/3.0@13864 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-16 18:45:47 +00:00
22cb8bfb34 add copyright comments
git-svn-id: svn://localhost/ardour2/branches/3.0@13862 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-16 18:27:41 +00:00
e2ac31d634 add copyright comments
git-svn-id: svn://localhost/ardour2/branches/3.0@13860 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-16 18:23:28 +00:00
2eb43c8310 add copyright comments
git-svn-id: svn://localhost/ardour2/branches/3.0@13859 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-16 18:22:15 +00:00
3279ad9a64 add copyright comments
git-svn-id: svn://localhost/ardour2/branches/3.0@13858 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-16 18:16:21 +00:00
58a027b7a2 add copyright comments
git-svn-id: svn://localhost/ardour2/branches/3.0@13857 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-16 18:15:38 +00:00
01d57ff3e7 add copyright comments
git-svn-id: svn://localhost/ardour2/branches/3.0@13856 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-16 18:14:11 +00:00
e2ec54216b use regex to match [mM][iI][dD] file extension for MIDI files, thus making it case-insensitive (fixes #5231)
git-svn-id: svn://localhost/ardour2/branches/3.0@13855 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-16 17:09:52 +00:00
e092fe33af Preliminary support for named MIDI controllers via midname files.
Add midnam file for Moog Minitaur controller names.


git-svn-id: svn://localhost/ardour2/branches/3.0@13852 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-16 08:24:31 +00:00
65da5a7cc2 Fix compilation against svn lilv (const-correctness).
git-svn-id: svn://localhost/ardour2/branches/3.0@13851 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-16 08:01:30 +00:00
3d5f247263 remove debug output
git-svn-id: svn://localhost/ardour2/branches/3.0@13850 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-16 02:31:14 +00:00
2037b95347 a bit more debug tracing for control protocols
git-svn-id: svn://localhost/ardour2/branches/3.0@13849 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-16 02:25:13 +00:00
244f07b2a4 when stopping transport, revert _default_transport_speed to 1.0 if current speed is reversed (should fix #5264)
git-svn-id: svn://localhost/ardour2/branches/3.0@13848 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-16 01:57:40 +00:00
ccdcb135fa remove some debug output
git-svn-id: svn://localhost/ardour2/branches/3.0@13846 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-15 15:12:40 +00:00
5b9bd3eea0 control lists should use the default value of their parameter, not zero (noticeable for pitchbend)
git-svn-id: svn://localhost/ardour2/branches/3.0@13844 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-15 15:00:37 +00:00
0599fafe76 fix a couple of unused parameters
git-svn-id: svn://localhost/ardour2/branches/3.0@13843 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-15 15:00:00 +00:00
09e519b715 better error msg about autoloop location
git-svn-id: svn://localhost/ardour2/branches/3.0@13842 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-15 14:15:01 +00:00