summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour
AgeCommit message (Collapse)Author
2016-12-07Save/Restore MIDI Automation Controls (current CC, PGM)Robin Gareus
2016-12-05Add Lua bindings to manage GroupsRobin Gareus
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-11-26Add [hidden] option to list "Dummy" backend with optmized bundlesRobin Gareus
2016-11-26Add API to enforce valid device selection.Robin Gareus
2016-11-25RAII to postpone processor changes/graph recalculationRobin Gareus
2016-11-23constify some TempoMap functions.nick_m
2016-11-15consolidate VSTState functionsRobin Gareus
2016-11-15rework 8e3b6c9ac (fstwin is C code, not C++)Robin Gareus
2016-11-15add signal for VST state loadRobin Gareus
MacVST has no dedicated VST event-loop to directly handle this.
2016-11-14Fix VST state-lock SNAFU (effSetChunk and process are exclusive)Robin Gareus
2016-11-14consolidate VSTState initializationRobin Gareus
2016-11-14Pass const references to plugin-listRobin Gareus
2016-11-14const'ness FTWRobin Gareus
2016-11-13Mac VST-2.x supportRobin Gareus
2016-11-10Correct the #includes for 'ardour/midi_cursor.h' (see commit #ec12fccf08)John Emmas
There are a couple of header files where we use a reference to class ARDOUR::MidiCursor (rather than a pointer). To keep MSVC happy we need to #include its header file, rather than simply using a forward reference.
2016-11-11remove unused variable and debugging.nick_m
2016-11-11rename Region pos_beats -> quarter_notenick_m
2016-11-11rename note_divisions_per_minute -> ote_types_per_minute (double note_type)nick_m
2016-11-11add empoMap::quarter_notes_between_frames().nick_m
- in an ideal world, this wouldn't be here at all, but is required to support framewalk_to_qn(). if Beats are at tick resolution, the frame-induced temporal rounding is acceptable.
2016-11-11TempoSection::tempo_at methods return a Tempo, document the opposite direction.nick_m
2016-11-11rename Tempo _beats_per_minute to _note_types_per_minute, provide pulse helpers.nick_m
- adds quarter_notes_per_minute(), note_divisions_per_minute (double) pulses_per_minute() and frames_per_quarter_note() - this should be a no-op except for the use of tempo by the vst callback which definitely uses quarter notes per minute. - the XML node for TempoSection named 'beats-per-minute' has been renamed.
2016-11-11tempo doc explains that currently Tempo::beats_per_minute means something else.nick_m
- Tempo beats_per_minute() is currently implemented as note types per minute. a further patch will change Tempo to reflect this and provide some helpers.
2016-11-11more tempo documentation.nick_m
2016-11-11remove unused TempoMap::tempo_at_beat(). implement unused ↵nick_m
tempo_at_quarter_note().
2016-11-11tempo.h reorganization. should be a no-opnick_m
2016-11-11remove remaining frame api from TempoSection.nick_m
2016-11-11remove public pulse methods from TempoMap.nick_m
- the only object whose musical position is not expressed in quarter notes is MetricSection. there is now no need to expose this.
2016-11-11rename Region pulse to pos_beats. use new beat distance api where required.nick_m
- add more debugging output detecting regions whose beat and frame position do not align on a playlist. this is required as a check as we have never used frame rounding on constant tempi before 8884a5723dc
2016-11-11Refactor tempo api, include quarter-note distance in frames method.nick_m
- moves frame rounding up to TempoMap, which is needed in order to calculate pulse distance without frame rounding. - the time unit for tempo is still minute, but this now also applies to meter sections. (new audio locked meter sections no longer require a frame position). - there is no longer a discontinuity in the pulse for audio-locked meter/tempi. - temporarily add debugging output in Region::set_position() to test for region beat not matching region frame.
2016-11-10Parse PortGroups into Plugin::IOPortDescriptionRobin Gareus
2016-11-08Support multiple readers for MIDI source/modelDavid Robillard
Fixes the multiple reader issue #6541 properly without resorting to a linear search kludge. All the read state has been pulled out into a MidiCursor which the caller is required to pass. The playlist keeps cursors for all the regions it is reading, any number of cursors are allowed at a time. MidiCursor should probably be made a smarter and more fool-proof object (and/or possibly merged with some of the other tracker/fixer stuff) but for now I wanted to keep it simple.
2016-11-08Remove dead codeDavid Robillard
2016-11-07Fix LV2 state:StateChanged URIDavid Robillard
2016-11-03make ControlProtocolManager actually handle control protocols that fail to ↵Paul Davis
activate
2016-10-30Fix midnam replacement:Robin Gareus
Unloading before update may otherwise reset the patch to generic midi (when the current patch is no longer available)
2016-10-30Update prototype API (3f739738) for windows/dll compatRobin Gareus
memory allocated by a .dll must be free()d by the given dll.
2016-10-29Prototype LV2 extension for plugins to provide MidnamsRobin Gareus
2016-10-29Prepare for the day when MTAV does no longer force-override InstrumentInfoRobin Gareus
2016-10-29Allow to dynamically un/load Midnam PatchesRobin Gareus
2016-10-25Desperate hack to align master-bus on export.Robin Gareus
Another 90% solution which hopefully gives us another year :( see comments Session::start_audio_export() for explanation.
2016-10-25make MidiRegion::start/length_beats() const.nick_m
2016-10-23Introduce "virtual" async MIDI portsRobin Gareus
This allows to flush an async MIDI port's ringbuffer at cycle-start, to makes its data available as "input/source" during process(), while collecting data in the background for the next cycle. This facilitates virtual MIDI Ports for eg. Control Surface Pads: output from a surface, input to Ardour channels.
2016-10-23NO-OP: whitespaceRobin Gareus
2016-10-21when fetching MIDI ports for bundles and auto-connection, ignore ↵Paul Davis
control-only (and "virtual") MIDI ports "virtual" is a placeholder name for ALSA sequencer MIDI through ports
2016-10-20infrastructure for save/restore of MIDI port user-provided informationPaul Davis
2016-10-19add PortManager::disconnect (std::string const&)Paul Davis
2016-10-19infrastructure for MIDI-input-follows-selectionPaul Davis
2016-10-19basics of following MIDI track selection and rewiring inputPaul Davis