13
0
Commit Graph

98 Commits

Author SHA1 Message Date
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
Carl Hetherington
9469d6b26a Clean up MMC transmission a bit, and make sure that it is all done from one thread.
git-svn-id: svn://localhost/ardour2/branches/3.0@7324 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-29 13:47:53 +00:00
1e728e728a basically, fix all kinds of odds and ends with MIDI playback, including missed notes and applying gain
git-svn-id: svn://localhost/ardour2/branches/3.0@7247 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-09 13:00:54 +00:00
a48742043b remove PBD::Connection (replace use with PBD::ScopedConnection); remove limitation on transport roll after session end
git-svn-id: svn://localhost/ardour2/branches/3.0@6834 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-04-02 15:24:53 +00:00
29015dc5df Fix MIDI command names smashed by overzealous sedding.
git-svn-id: svn://localhost/ardour2/branches/3.0@6703 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-02-19 21:59:29 +00:00
ce7a5e1c9f the Properties & 64bit region commit
git-svn-id: svn://localhost/ardour2/branches/3.0@6695 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-02-18 13:59:49 +00:00
77cc0f7cc8 editors for control protocols (generalized); editor for Generic MIDI that allows choosing a MIDI binding map (or none); support banking in binding URLs, and other miscellany related to generic MIDI; save+restore JACK_MidiPort connection state (but cause a crash at shutdown time)
git-svn-id: svn://localhost/ardour2/branches/3.0@6411 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-29 21:31:14 +00:00
f450df300c fully implement and deploy explicit x-thread signal connection syntax (testing comes next)
git-svn-id: svn://localhost/ardour2/branches/3.0@6379 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-21 18:23:07 +00:00
aae367b63c use new syntax for connecting to backend signals that enforces explicit connection scope, plus a few other related matters
git-svn-id: svn://localhost/ardour2/branches/3.0@6376 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-19 20:26:31 +00:00
f6fdd8dcbf switch to using boost::signals2 instead of sigc++, at least for libardour. not finished yet, but compiles, loads sessions, records and can close a session without a crash
git-svn-id: svn://localhost/ardour2/branches/3.0@6372 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-17 18:24:23 +00:00
c38e02285f major design changes: use glib event loop for MIDI thread/UI; rework design of BaseUI and AbstractUI; solo & mute are both temporarily broken; OSC control up next; may segfault during exit
git-svn-id: svn://localhost/ardour2/branches/3.0@6328 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-09 03:05:14 +00:00
9dddffcc8f more MTC stuff, including toggleable use of torben's PI controller
git-svn-id: svn://localhost/ardour2/branches/3.0@6265 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-02 21:26:26 +00:00
b6d418f3c2 make ALSA MIDI I/O work with timestamps; more MTC debug tracing
git-svn-id: svn://localhost/ardour2/branches/3.0@6258 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-01 21:28:31 +00:00
b825b86862 generalize hans' midi_clock_timestamp to be a general timestamp for incoming MIDI data (from JACK); make JACK_MidiPort::read() abort, because it should never ever be called; make JACK_MidiPort::~JackMIDIPort() unregister ports when it is destroyed; pass along the timestamp to MTC qtr and full signals
git-svn-id: svn://localhost/ardour2/branches/3.0@6254 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-01 18:31:00 +00:00
d2426538ad more changes to try to improve MTC handling even in slightly pathological cases
git-svn-id: svn://localhost/ardour2/branches/3.0@6245 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-01 13:24:08 +00:00
47c88ff7d1 support for MMC track mute register, in addition to existing track record status register
git-svn-id: svn://localhost/ardour2/branches/3.0@6156 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-11-23 17:34:11 +00:00
67601c6c50 fix stupid MIDI::Manager design to properly handle multiple MIDI ports with the same "device" specification
git-svn-id: svn://localhost/ardour2/branches/3.0@6079 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-11-13 19:50:39 +00:00
8713667ec1 rework Stateful::set_state() patch to avoid default version argument
git-svn-id: svn://localhost/ardour2/branches/3.0@5787 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-15 18:56:11 +00:00
Carl Hetherington
79f91c7a20 Part 1 of loading 2.X sessions; some things work, some things don't, hacks a-plenty.
LOADING 2.X SESSIONS WITH THIS COMMIT IN PLACE WILL (PROBABLY) CORRUPT THE .ardour FILE,
MAKING THE SESSION UNLOADABLE ON 2.X AND LOSING INFORMATION.

So don't do that unless you make a backup of the session file first.



git-svn-id: svn://localhost/ardour2/branches/3.0@5786 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-15 00:57:55 +00:00
Carl Hetherington
b65f8073ba Fix some unused parameter warnings.
git-svn-id: svn://localhost/ardour2/branches/3.0@5403 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-07-21 15:55:17 +00:00
Carl Hetherington
3b89d9eaa0 Remove most using declarations from header files.
git-svn-id: svn://localhost/ardour2/branches/3.0@5069 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-05-12 17:03:42 +00:00
e0aaed6d65 *** NEW CODING POLICY ***
All #include statements that include a header that is a part of a library
bundled with ardour MUST use quotes, not angle brackets.

Do this:

#include "ardour/types.h"

NOT this:

#include <ardour/types.h>

Rationale:

This is best practice in general, to ensure we include the local version
and not the system version.  That quotes mean "local" (in some sense)
and angle brackets mean "system" (in some sense) is a ubiquitous
convention and IIRC right in the C spec somewhere.

More pragmatically, this is required by (my) waf (stuff) for dependencies
to work correctly.  That is:

!!! FAILURE TO DO THIS CAN RESULT IN BROKEN BUILDS !!!

Failure to comply is punishable by death by torture. :)

P.S. It's not that dramatic in all cases, but this (in combination with some
GCC flags specific to the include type) is the best way I have found to be
absolutely 100% positive the local ones are being used (and we definitely
want to be absolutely 100% positive on that one).


git-svn-id: svn://localhost/ardour2/branches/3.0@4655 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-25 18:26:51 +00:00
caf103c0af Fix warnings.
git-svn-id: svn://localhost/ardour2/branches/3.0@4653 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-25 17:39:19 +00:00
1f9c3f34d9 Fix MIDI controller feedback.
Make control surfaces menu less weird.


git-svn-id: svn://localhost/ardour2/branches/3.0@4625 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-18 20:53:54 +00:00
2463be97f7 Make sure Evoral::MIDIEvent XML stuff is entirely unused in midi++ for now (resolve ticket #0002491).
Remove empty midi++ README etc files (and ancient nearly-empty midi++ ChangeLog).


git-svn-id: svn://localhost/ardour2/branches/3.0@4621 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-18 18:04:54 +00:00
166ef64e3d Make (MIDI) event time stamp type a template parameter.
git-svn-id: svn://localhost/ardour2/branches/3.0@4473 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-02 02:36:05 +00:00
e666c8e98f Templateify MidiBuffer iterators (avoid code duplication since they're about to get less trivial).
Clean up MidiBuffer code.


git-svn-id: svn://localhost/ardour2/branches/3.0@4469 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-01 03:15:31 +00:00
Hans Baier
3705a2d630 * MIDI control lanes: Set Interpolationtype according to Parameter
git-svn-id: svn://localhost/ardour2/branches/3.0@4452 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-01-28 04:55:31 +00:00
Hans Baier
625507fc1a * extend MIDNAM support (PatchBanks containing the bank select MIDI Commands)
git-svn-id: svn://localhost/ardour2/branches/3.0@4409 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-01-15 03:13:24 +00:00
Hans Baier
e9a9fe30cf * added comments to midi_region_view.h
* implemented choosing patches with context menu on the program change flag
* added convenience method and a little refactoring in midi_patch_manager.h

Conflicts:

	.cproject
	build-tmp.sh


git-svn-id: svn://localhost/ardour2/branches/3.0@4338 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-23 06:03:45 +00:00
Hans Baier
5e7ae490c1 * first working prototype of changing program changes by scroll wheel (still some automation points issues)
git-svn-id: svn://localhost/ardour2/branches/3.0@4324 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-15 11:05:41 +00:00
Hans Baier
bf7e792e3e * some refactoring of patch name stuff in preparation for altering program changes events
git-svn-id: svn://localhost/ardour2/branches/3.0@4323 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-14 22:56:44 +00:00
493339e969 fix up java-style expression to have correct C++ semantics
git-svn-id: svn://localhost/ardour2/branches/3.0@4318 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-13 14:02:28 +00:00
Hans Baier
2c017baa4a * fixed memory management bugs for midi patchname handling
git-svn-id: svn://localhost/ardour2/branches/3.0@4310 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-12 05:17:53 +00:00
Hans Baier
e009016b03 * added myself to about.cc
* created ArdourCanvas::CanvasFlag as a base class for flags
* removed obsolete cruft from midi_model
* made MidiTimeAxisView and MidiRegionView work together to display program changes as
  names by means of MidiPatchManager


git-svn-id: svn://localhost/ardour2/branches/3.0@4307 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-11 08:06:27 +00:00