summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/midi_buffer.h
AgeCommit message (Collapse)Author
2020-04-28remove pointless libs/midi++2/midi++/event.h filePaul Davis
This was just a proxy for libs/evoral/evoral/Event.h. Note that the #define that controlled allocation that was at the top of the removed header is replicated in the Evoral header, so there are no semantic changes
2019-11-02rename all Evoral source from .(hpp|cpp)$ to .(h|cc)Paul Davis
2019-11-02NO-OP: whitespacePaul Davis
2019-08-03Update libardour GPL boilerplate and (C) from git logRobin Gareus
2018-09-18new transport slave/master implementation, libs/ editionPaul Davis
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
2016-12-03Fix event type and parameter type confusionDavid Robillard
I'm not sure if this is really the best way to do event types (should it just be a completely static enum in evoral, or completely dynamic and provided by the type map, or a mix like currently?), but previously the event type was frequently set to either total garbage, or parameter types, which are a different thing. This fixes all those cases, and makes Evoral::EventType an enum so the compiler will warn about implicit conversions from int.
2016-12-03Remove Evoral::MIDIEventDavid Robillard
It is slightly questionable whether type specific methods like velocity() belong on Event at all, these may be better off as free functions. However the code currently uses them as methods in many places, and it seems like a step in the right direction, since, for example, we might some day have events that have a velocity but aren't stored as MIDI messages (e.g. if Ardour uses an internal musical model that is more expressive). In any case, the former inheritance and plethora of sloppy casts is definitely not the right thing.
2016-09-13change offset arguments to various <T>Buffer::read/merge methods from ↵Paul Davis
framecnt_t to frameoffset_t
2016-07-11lua MidiBuffer bindingsRobin Gareus
2014-12-17MIDI bounce.David Robillard
2014-11-02Automation of LV2 plugin properties.David Robillard
Work towards ParameterDescriptor being used more universally to describe control characteristics.
2014-10-23another round of compiler warning fixesRobin Gareus
2014-10-23small round of compiler warning fixesRobin Gareus
2014-06-11NOOP, re-indent & whitespaceRobin Gareus
2014-06-11prepare midi buffer API for midi-delaylinesRobin Gareus
2014-06-11fix midi buffer erase()Robin Gareus
2014-02-04merge (w/fix) with masterPaul Davis
2014-02-03remove cruft - unused _size in audio-buffersRobin Gareus
2013-10-17add export visibility macros across libardourPaul Davis
2013-07-24part-way through getting the audioengine changes to compilePaul Davis
2013-03-27Squashed commit of the following:Paul Davis
commit fdbae82077db53add90df7448a06869dac89acc6 Author: Paul Davis <paul@linuxaudiosystems.com> Date: Wed Mar 27 21:45:28 2013 -0400 mammoth changes in basic signal flow, total redesign of MIDI channel filtering and more. commit 59343a8283698e02bc0f622313b29e98f449e4c8 Author: Paul Davis <paul@linuxaudiosystems.com> Date: Wed Mar 27 01:58:53 2013 -0400 initial working version after changes to MIDI channel filtering. may affect metering input too. testing not yet finished this commit merges many deep changes in ardour's internal architecture, combined with a total redesign of how MIDI channel filtering works. data in a track used to flow from JACK port buffers to diskstream's ringbuffers and was then copied from the ringbuffers into a BufferSet for use during Route::process_output_buffers(). The butler thread would handle the movement of data between the ringbuffers and disk. with this commit, data now flows from JACK port buffers into the BufferSet used for Route processing, and is copied from the BufferSet into the diskstream's ringbuffers (the butler thread continues to handle interactions with disk as usual). this change allowed a dramatic consolidation of code and simplification of most aspects of Track/Route::roll() and Track/Route::no_roll(). in particular, see Route::fill_buffers_with_input() which now concisely describes how we move data from JACK port buffers into the BufferSet for all Route types (including Tracks). this work was initially motivated by changing MIDI channel filtering so that we can process capture and playback independently. there is now a very clean pathway for this - see MidiTrack::roll() (NOTE: This needs implementing in the no-roll case too - a TODO item). the channel selector for MIDI tracks has been moved out of the track header and is now accessible via the context menu. more work is likely here, to make it (more) obvious to the user when filtering is going on.
2012-05-24Compile cleanly with clang.David Robillard
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
2011-12-22main fix: when transport stops, clear per-region per-playlist note trackers ↵Paul Davis
even if there is no capture data to process; side effects: remove unused MidiBuffer::merge() and add DEBUG::MidiTrackers as well as more and better MIDI debug tracing facilities git-svn-id: svn://localhost/ardour2/branches/3.0@11057 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-01provide semantic ordering of simultaneous MIDI events; add operator== to ↵Paul Davis
MidiBuffer iterator; add empty() to MidiBuffer for no particular reason git-svn-id: svn://localhost/ardour2/branches/3.0@10846 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
2011-04-06Fix my name :)David Robillard
git-svn-id: svn://localhost/ardour2/branches/3.0@9302 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-05some LV2 debug tracing, part twoPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@9079 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-03Remove all use of nframes_t.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@8166 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-14Strip trailing whitespace and fix other whitespace errors (e.g. space/tab ↵David Robillard
mixing). Whitespace changes only. Vimmers, try let c_space_errors = 1 in your .vimrc to highlight this kind of stuff in red. I don't know the emacs equivalent... git-svn-id: svn://localhost/ardour2/branches/3.0@5773 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-07-22make i18n build work ; add mackie dir back to build ; token work on amp for ↵Paul Davis
MIDI; don't try to subgroup route groups with MIDI (for now) git-svn-id: svn://localhost/ardour2/branches/3.0@5412 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-06-16first pass (ok, third really) at internal send+return - audio routing inside ↵Paul Davis
ardour without JACK. lots still to do, but at least the obvious works git-svn-id: svn://localhost/ardour2/branches/3.0@5202 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-06-09Remove aliased _size member.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@5141 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-05-04Preliminary MIDI plugin support.David Robillard
git-svn-id: svn://localhost/ardour2/branches/3.0@5036 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-04-23remove offset from process callback tree. some breakage may have occured. ↵Paul Davis
yes, really. git-svn-id: svn://localhost/ardour2/branches/3.0@4999 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-25*** NEW CODING POLICY ***David Robillard
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-16Rewrite Sequence::const_iterator.David Robillard
Fixes crash bug when seeking back and forth from start to end of session. Not sure about other things, but it makes a lot more sense now anyway... git-svn-id: svn://localhost/ardour2/branches/3.0@4590 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-15Use nframes_t for timestamps of real (jack) time MIDI events (i.e. in ↵David Robillard
MidiBuffer and MidiRingBuffer). Use iterator interface of Sequence to read events in a MIDISource rather than Sequence::read, avoiding timestamp confusion. Disable no longer useful Sequence::read. git-svn-id: svn://localhost/ardour2/branches/3.0@4570 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-03* midi_event_size(uchar status): return size including status / handle sysexHans Baier
git-svn-id: svn://localhost/ardour2/branches/3.0@4486 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-02* added assertions to MidiBuffer::iterator_base in order to avoid offset ↵Hans Baier
corruption git-svn-id: svn://localhost/ardour2/branches/3.0@4474 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-02Make (MIDI) event time stamp type a template parameter.David Robillard
git-svn-id: svn://localhost/ardour2/branches/3.0@4473 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-01Removed fixed/maximum event size assumption/limitation from MIDI buffer.David Robillard
git-svn-id: svn://localhost/ardour2/branches/3.0@4471 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-01Templateify MidiBuffer iterators (avoid code duplication since they're about ↵David Robillard
to get less trivial). Clean up MidiBuffer code. git-svn-id: svn://localhost/ardour2/branches/3.0@4469 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-01-30Um... we can't use 128 bytes for every single MIDI event, Hans.David Robillard
git-svn-id: svn://localhost/ardour2/branches/3.0@4463 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-01-30* enlage MidiBuffer size to 128 bytes to allow for sysex eventsHans Baier
git-svn-id: svn://localhost/ardour2/branches/3.0@4462 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-10-08torben's port buffer reworking; torben's panner automation loading patch ↵Paul Davis
(allows loading of 2.X sessions) git-svn-id: svn://localhost/ardour2/branches/3.0@3890 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-22Move event specific ringbuffer stuff to evoral.David Robillard
Sane event type interface between evoral and libardour (no more shared magic numbers). Cleanup Evoral::Sequence iterator, fix bugs, probably introduce new ones. Move MIDI specific event functions to Evoral::MIDIEvent (is-a Evoral::Event). git-svn-id: svn://localhost/ardour2/branches/3.0@3785 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-19Factor out sequencing related things into an independant new library: "evoral".David Robillard
Anything related to the storage of events/values over a range of time lives in evoral. This includes MidiModel (Evoral::Sequence) and automation data (AutomationList (Evoral::ControlList), Automatable (Evoral::ControlSet), etc). libs/evoral synced with http://svn.drobilla.net/lad/trunk/evoral r1511. git-svn-id: svn://localhost/ardour2/branches/3.0@3754 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-06-02rollback to 3428, before the mysterious removal of libs/* at 3431/3432Paul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@3435 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-06-02remove empty sigc++2 directoryDoug McLain
git-svn-id: svn://localhost/ardour2/branches/3.0@3432 d708f5d6-7413-0410-9779-e7cbd77b26cf