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
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
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
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
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
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
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
bb3690db58
merge Marcel Bonnet's patches for Free-BSD
...
(may need further cleanup:
compare with timbyr's windows patch,
verify fst/vsti + ALSA)
git-svn-id: svn://localhost/ardour2/branches/3.0@13774 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-04 17:36:52 +00:00
Hans Baier
ad8c184218
fix whitespace in libs/midi++2/midi++/midnam_patch.h
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13216 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-09 03:09:54 +00:00
Hans Baier
0bb2227eb8
add unit tests to midi++ and assorted bugfixes for midnam_patch.cc
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13213 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-08 04:32:12 +00:00
3cd8138a41
convert from Glib:: to Glib::Threads for all thread-related API
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13084 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-25 17:48:55 +00:00
d1d08e3910
fix complete screw up in connecting MIDNAM PatchNameList with ChannelNameSets; more tweaks and twirls for patch/program change mgmt
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12673 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-12 16:32:06 +00:00
557f56a7f2
more changes to patch change/plugin preset support - replace regexp replacement with boost::replace_all(), actually find programs/patches in the data we have, and more. notable changes to constructors and structure of various MIDI::Name objects
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12667 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-12 04:05:10 +00:00
d97312d438
lots more work trying to create a common structure for accessing plugin and MIDNAME patch/preset/program names. still not done
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12665 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-11 22:59:35 +00:00
23350c195d
remove craziness of propagating MIDI 7 bit limits into MIDNAM handling by replacing bank_msb/lsb with "bank" ; move responsibility for discovering patch names into MIDI trackview (soon to move again)
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12647 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-10 16:42:17 +00:00
Carl Hetherington
fd89d52af5
Fix operator< so that strict weak ordering is
...
maintained, so that key lookups work.
git-svn-id: svn://localhost/ardour2/branches/3.0@12542 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-02 14:53:26 +00:00
1cb5aed0ce
couple of fixes to enable building, and building with gtkmm 2.2(<4)
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12540 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-02 14:50:09 +00:00
341d033b2c
MIDI::Port::(get|set)_state() should be virtual, so that derived classes get their chance in the sun. Fixes #4887
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12455 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-27 16:49:51 +00:00
6fa6514cfd
Remove over 500 unnecessary includes (including 54 of session.h).
...
It's slightly possible that this causes trivial build failures on different
configurations, but otherwise shouldn't cause any problems (i.e. no actual
changes other than include/naming/namespace stuff). I deliberately avoided
removing libardour-config.h since this can mysteriously break things, though a
few of those do seem to be unnecessary.
This commit only targets includes of ardour/*.h. There is also a very large
number of unnecessary includes of stuff in gtk2_ardour; tackling that should
also give a big improvement in build time when things are modified.
git-svn-id: svn://localhost/ardour2/branches/3.0@12420 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-24 06:09:29 +00:00
27a1cf2cf7
Compile cleanly with clang.
...
To compile Ardour with LLVM/clang, do the usual thing but set the CXX and CC
environment variables, e.g.:
CC=/usr/bin/clang CXX=/usr/bin/clang++ ./waf configure build
git-svn-id: svn://localhost/ardour2/branches/3.0@12418 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-24 02:54:10 +00:00
7a76168b66
more fixes/tweaks from the land of the lion
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12150 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-02 20:45:17 +00:00
eaa7cc5a73
fix up some const-ness issues starting from Evoral::Event::set(), and intersect with removing Mackie..MidiByteArray::bytes() method which made a copy of the data every time we wrote it
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12124 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-30 15:54:13 +00:00
d5e14b3d91
eventloop and abstractui debugging, lots more commenting on abstractui/eventloop implementation; minor tweaks elsewhere
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12076 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-24 16:45:38 +00:00
33140f3267
add support for IP MIDI (multicast MIDI over IP UDP sockets) to ardour and use it if requested inside MCP code. required renaming the pre-existing MIDI::Port as MIDI:JackMIDIPort - MIDI::Port becomes the base type for both JackMIDIPort and IPMIDIPort
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12069 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-24 02:28:51 +00:00
6ca4b88d5a
libmidi++: fix a bunch of issues with previous commit
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12065 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-23 16:23:48 +00:00
1660f00ff3
libmidi++: split apart "base-y" aspects of MIDI::Port into MIDI::PortBase and make MIDI::Port derive from it. This actually makes MIDI::Port effectively into MIDI::JackPort, but i'm not interested in the name changing at that level at this moment in time
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12064 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-23 15:29:45 +00:00
Carl Hetherington
4b63b88e35
Remove some unused parameters.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11917 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-11 20:21:00 +00:00
893b468858
add "centrally-parsed" property to MIDI::Port so that we can avoid the MidiUI loop from handling input for *all* MIDI ports created
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11871 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-10 16:27:01 +00:00
8f4e126c72
a lot of tweaking and fixing for the MIDNAM parsing code so that it correctly handles all 44 sample files from digicake.com/midnams.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11734 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-20 18:01:59 +00:00
009c7a9e44
attempt to stop sending MMC/MTC while exporting or freewheeling for any reason
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11457 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-02-06 17:09:53 +00:00
Carl Hetherington
084cd5ffda
Add basic test of playlist layering.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11011 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-15 14:33:20 +00:00
0938a42440
fixes for 98% of all the warnings/errors reported by OS X gcc on tiger
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10179 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-09-30 17:55:14 +00:00
Carl Hetherington
a7dc433498
Delete MIDI port objects when the MackieControlProtocol is torn down, so that it can be recreated without attempting to create duplicate JACK port names. Should fix #3886 .
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10129 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-09-26 20:35:16 +00:00
Carl Hetherington
d6112f1213
Use RCU for MIDI Manager's port list.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10128 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-09-26 20:35:09 +00:00
0906b39918
Fix my name :)
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9302 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-06 15:00:16 +00:00
4b861e6039
Rename libmusictime libtimecode (consistent with already used namespace "Timecode").
...
Move BBT_Time to libtimecode.
git-svn-id: svn://localhost/ardour2/branches/3.0@8271 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-14 18:13:37 +00:00
f6055f2c6f
Eliminate circular dependency kludge for control_protocol/smpte.o.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@8262 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-13 20:46:07 +00:00
Carl Hetherington
73192bc1a7
Remove all use of nframes_t.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@8166 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-03 22:26:29 +00:00
Carl Hetherington
5d8933893c
Put MIDI sync ports in the Ardour tab of the port matrix.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@7527 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-01 10:26:19 +00:00
f2df65db6a
part two of: don't crash during startup with no config files when trying to use a non-existent MIDI Manager object
...
git-svn-id: svn://localhost/ardour2/branches/3.0@7501 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-26 15:28:59 +00:00
Carl Hetherington
648a169d8f
Move MIDI control port ownership into the MIDI Manager, since control port state should be Ardour-wide, not per-session. Fix up port connection state management.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@7394 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-08 22:55:20 +00:00
Carl Hetherington
4885f29be1
Trim midi++ port code to either do in or out, but not both in the same object.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@7391 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-08 01:00:46 +00:00
Carl Hetherington
ea23298f10
Setup fixed ports for MIDI control data; hence remove configuration of those ports. Move MIDI tracer to the Windows menu. Trim some unused code from the midi++ Manager.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@7384 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-07 00:40:58 +00:00
Carl Hetherington
ff8ea4d2f2
Remove MMC thread protection which is pointless now that only JACK MIDI ports are used for output, which themselves can cope with multi-threaded access.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@7378 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-06 00:27:03 +00:00
Carl Hetherington
91850f0eb4
Remove non-JACK midi++ ports.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@7377 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-06 00:16:36 +00:00
Carl Hetherington
df2298c846
Reestablish libmidi++ JACK ports on jack reconnection, so that control MIDI can still be sent after a JACK disconnect/reconnect. Fixes remainder of #3301 .
...
git-svn-id: svn://localhost/ardour2/branches/3.0@7373 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-05 15:41:05 +00:00
Carl Hetherington
bde4d3f341
Fix up my previous buggy MMC cleanup.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@7363 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-03 00:11:33 +00:00
Carl Hetherington
bebeb5abec
Fix comment
...
git-svn-id: svn://localhost/ardour2/branches/3.0@7326 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-29 19:07:22 +00:00
Carl Hetherington
ce8d79d621
Restore MMC registers.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@7325 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-29 14:04:19 +00:00