summaryrefslogtreecommitdiff
path: root/libs/ardour/midi_ui.cc
AgeCommit message (Collapse)Author
2017-09-18globally change all use of "frame" to refer to audio into "sample".Paul Davis
Generated by tools/f2s. Some hand-editing will be required in a few places to fix up comments related to timecode and video in order to keep the legible
2017-08-05Consolidate ctrl surface codeRobin Gareus
2016-07-14enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.hPaul Davis
2016-04-26styleguide #10Robin Gareus
sigc keeps a reference to the shared_ptr, AsyncMidiPorts were never unregistered, causing issues when loading a new session w/o Engine restart.
2016-01-18remove ipmidi debuggingPaul Davis
2016-01-18use cout instead of cerr, since this debugging is for windowsPaul Davis
2016-01-18IP MIDI debuggingPaul Davis
2015-12-28redesign cross-thread registration/signalling systemPaul Davis
This new design will work even when threads that need to receive messages from RT threads are created *after* the RT threads. The existing design would fail because the RT thread(s) would never be known the later created threads, and so signals emitted by the RT thread and causing call_slot() in the receiver would end up being enqueued using a lock-protected list. The new design ensures that communication always uses a lock-free FIFO instead
2015-12-12correct name of Midi-UI thread memory-pool and request-queueRobin Gareus
2015-12-07change API for accessing session MIDI ports so that (1) boost::shared_ptr<> ↵Paul Davis
is used all the time (2) we avoid using multiple functions to return different subclass versions of some ports
2015-10-05NOOP, remove trailing tabs/whitespace.Robin Gareus
2014-12-30Fix some mangled whitespace (noop).David Robillard
2014-12-03modify MidiUI code to use crossthreadchannel on all platformsPaul Davis
2014-11-26remove "port sources" management from MidiControlUI and Mackie support.Paul Davis
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-23remove use of CrossThreadChannel::selectable() to allow cross-platform ↵Paul Davis
implementation of CrossThreadChannel via Glib::IOSource
2014-04-28merge (squash) with scenechange topic branch to provide MIDI-driven scene ↵Paul Davis
change markers
2014-03-14call BaseUI::quit() from inside the MIDI Control UI destructor, to properly ↵Paul Davis
shutdown its thread
2014-01-10Merge windows+cc branch into cairocanvas branch. Not finished, need to now ↵Paul Davis
merge windows branch to get changes from there
2013-12-13make MIDI UI in libardour handle CallSlot requests like it used to (and like ↵Paul Davis
it should)
2013-10-23fix MMCPaul Davis
MTC and MIDI Clock port input handling was moved into the process/RT thread(s) during audioengine work, but MMC was left orphaned. Add it to the port(s) handled by the MIDI UI thread. Also, remove PortChange request from MidiUI because it has no meaning anymore
2013-09-12incomplete merge of master into windows (requires upcoming changes to master ↵Paul Davis
to be complete)
2013-09-05move MidiPortManager from AudioEngine to SessionPaul Davis
This makes the responsibilities and ownership of non-Route related MIDI ports more clear, and removes a few wierd bits of code. It also ensures that open/close/open on the same session will retain connections for those MIDI ports
2013-08-07major redesign of MIDI port heirarchy and management (part 2)Paul Davis
2013-08-04'libs/ardour' - Platform specific changes and includesJohn Emmas
2013-07-24part-way through getting the audioengine changes to compilePaul Davis
2013-07-13Disable non-realtime midi ports in windows build - THIS NEEDS FIXINGPaul Davis
2012-05-14remove virtual inheritance of sigc::trackable by Receiver and AbstractUI<T>, ↵Paul Davis
done by changing Gtkmm2ext::UI to use composition (HAS-A) rather than inheritance (IS-A) for Receiver; use correct synchronization when starting up a BseUI event loop thread so that tests that start/stop quickly do not encounter a race condition git-svn-id: svn://localhost/ardour2/branches/3.0@12264 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-25MCP: dynamic ipMIDI ports, more default key bindings, various minor fixesPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@12092 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-24revert previous commitPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@12081 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-24debugging: stop MidiControlUI from actually executing slots via CallSlotPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@12080 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-24eventloop and abstractui debugging, lots more commenting on ↵Paul Davis
abstractui/eventloop implementation; minor tweaks elsewhere git-svn-id: svn://localhost/ardour2/branches/3.0@12076 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-24remove various debugging outputPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@12070 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-24add support for IP MIDI (multicast MIDI over IP UDP sockets) to ardour and ↵Paul Davis
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-11remove debugging output, and fix MCP to use MISSING_INVALIDATOR to stop ↵Paul Davis
crash on close git-svn-id: svn://localhost/ardour2/branches/3.0@11878 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-10give MackieControlProtocol its own thread and make it parse incoming MIDI in ↵Paul Davis
that thread, as well as doing timeouts there too git-svn-id: svn://localhost/ardour2/branches/3.0@11872 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-10add "centrally-parsed" property to MIDI::Port so that we can avoid the ↵Paul Davis
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
2011-09-26Use RCU for MIDI Manager's port list.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@10128 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-06-01Fix broken whitespace. I'd apologize for the compile times if it was my ↵David Robillard
fault :D git-svn-id: svn://localhost/ardour2/branches/3.0@9654 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-11Fix a few tiny memory leaks.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@8244 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-17megaopus patch #2 for today: remove nframes64_t and sframes_t from sourcePaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@7792 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-26some (unfinished) work on incorporating Ben's rev 6919 changes regarding ↵Paul Davis
track selection; make newly selected tracks show the current range selection; fix crashes related to meter display; remove "all" group from main group tab display and just put it down in its own button (totally incomplete); minor cleanups git-svn-id: svn://localhost/ardour2/branches/3.0@7696 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-06Remove non-JACK midi++ ports.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@7377 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-03-02the mega-properties/SequenceProperty patch. split is broken at present ↵Paul Davis
(right hand starts has start-in-source of zero) git-svn-id: svn://localhost/ardour2/branches/3.0@6718 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-28MIDI binding maps make their debutPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@6408 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-22cleanup up cleanup at session destruction; clarify the meaning of 3 signals ↵Paul Davis
(DropReferences & Destroyed in libardour ; CatchDeletion in the GTK UI); clarify ownership of objects (session no longer pays attention to DropReferences for objects that it is considered to own, such as routes, sources, etc); fix up MIDI parsing and a couple of other places by correcting syntax for return of values from a boost::signals2::signal (possible danger elsewhere to be checked) git-svn-id: svn://localhost/ardour2/branches/3.0@6389 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-21fully implement and deploy explicit x-thread signal connection syntax ↵Paul Davis
(testing comes next) git-svn-id: svn://localhost/ardour2/branches/3.0@6379 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-20remove a couple of boost::signals2 trouble spots; fix some --strict compile ↵Paul Davis
time warnings git-svn-id: svn://localhost/ardour2/branches/3.0@6378 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-19use new syntax for connecting to backend signals that enforces explicit ↵Paul Davis
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-17switch to using boost::signals2 instead of sigc++, at least for libardour. ↵Paul Davis
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-12remove using namespace sigc everywhere to ensure clarity over which ↵Paul Davis
bind/mem_fun is being used; make Config::map_parameters take a boost::function rather than a sigc::slot ; continue debugging crash caused by regionviews not tracking their Region's lifetime git-svn-id: svn://localhost/ardour2/branches/3.0@6357 d708f5d6-7413-0410-9779-e7cbd77b26cf