summaryrefslogtreecommitdiff
path: root/gtk2_ardour/midi_time_axis.cc
AgeCommit message (Collapse)Author
2017-02-04rework snapnick_m
snap now fills in a struct (MusicFrame) which contins a snapped frame along with a music divisor. this gives useful information wrt magnetic snap which may or may not have rounded to an exact musical position. region position may now be set musically (using quarter notes for now). this patch fixes several problems in the current code: - dragging a list of music-locked regions now maintains correct musical offsets within the list. - splitting regions using magnetic snap works correctly (#7192) - cut drag should now work correctly with magnetic snap. - musical length of split midi regions is no longer frame based.
2016-12-23midi scrooming performance updates.nick_m
- MGR visibility is handled by update_note/hit() MRV unconditionally updates MGR events - remove MidiGhostRegion::update_range() - rename set_contents_height -> update_contents_height
2016-12-17remove channel filter status and button from MIDI track header, access via ↵Paul Davis
context menu
2016-12-06Don't assume patch-banks are populated.Robin Gareus
2016-12-06Allow to send Immediate Patch ChangesRobin Gareus
2016-11-25amend last commit.nick_m
2016-11-25midi scroomer updates streamview during drags.nick_m
2016-10-30Drop UpdateMidnam shared_ptr reference when the plugin is removedRobin Gareus
2016-10-29GUI support for plugin provided midnamRobin Gareus
2016-08-26Update CC automation menu when changing channel selectionJulien "_FrnchFrgg_" RIVAUD
2016-08-25add nascent poly-phonic pressure to automation menu for MIDI tracksPaul Davis
2016-07-14enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.hPaul Davis
2016-07-10remove reference "const int32_t&" -> const int32_t"Robin Gareus
this simplifies lua-bindings and also let's the compiler worry about constant primitive types.
2016-07-10Exact beat for added regions.nick_m
2016-07-10Paste uses exact beats. rework _start_beats calculation in copy-with-offset ↵nick_m
ctor.
2016-07-10Exact beat - provide audio->music mapping for region split.nick_m
- for those not in the know, this series provides a way to remove the temporal distortion introduced when using an audio frame-based gui for music-locked objects. In short, the gui uses an audio frame representation to move objects. It displays the object using frame_at_beat(), quantizing the time value to audio frames. This is fine until the user selects that frame but expects it to be interpreted as a beat. Thus beat_at_frame() would not produce the user-expected beat (temporal quantization error of up to 0.5 audio samples). This is one method of mapping audio time to music time accurately.
2016-07-10Make some musical operations on music-locked regions operate in beats.nick_m
- use exact beats to determine frame position. - see comments in tempo.cc for more. - this hasn't been done for split yet, but dragging and trimming are supported.
2016-06-05tweak API of SelectablePaul Davis
2016-06-05fix initialization in MidiTimeAxisViewPaul Davis
This is another "most derived" class and so needs to initialize the SessionHandlePtr virtual base class
2016-02-13Fix 6031: Fix inactive MIDI track headers when reloading sessionJulien ROGER
Update the visual state of MidiTimeAxisView accordingly to its route in MidiTimeAxisView::set_route()
2015-12-02Disable scrolling in the dropdown menus of midi region heads.André Nusser
Instead pass it to the canvas as proposed by x42 in #6143.
2015-10-05NOOP, remove trailing tabs/whitespace.Robin Gareus
2015-10-04globally remove all trailing whitespace from ardour code base.Paul Davis
Paul Davis was responsible for introducing almost all of this.
2015-09-16Use ARDOUR_UI_UTILS::set_tooltip rather than via ARDOUR_UI::set_tipTim Mayberry
This removes the direct dependence on ARDOUR_UI/Gtk_UI for setting tooltips. Removes inclusion of ardour_ui.h from 16 files.
2015-08-15Highlight note in piano roll - #6510Robin Gareus
2015-06-17More _reversible_command() auditing in the gui.nick_m
- try to keep begin/commit pairs in the same file where possible.
2015-03-29Fix mute of MIDI tracks with channel forcing.David Robillard
This moves MIDI channel filtering into a reusable class and moves filtering to the source, rather than modifying the buffer afterwards. This is necessary so that the playlist trackers reflect the emitted notes (and thus are able to stop them in situations like mute). As a perk, this is also faster because events are just dropped on read, rather than pushed into a buffer then later removed (which is very slow). Really hammering on mute or solo still seems to produce stuck notes occasionally (perhaps related to multiple-on warnings). I am not yet sure why, but occasional beats always.
2015-03-25Fix some strings incorrectly marked for translation.nick_m
My apologies to translators.
2015-03-19add API to select TAV height mode.Robin Gareus
preparation for further Summary and Number of visible track count fixes. * “Only Self”: don’t resize child-views (old default) * “Total Height”: distribute height equally among all visible child [automation] lanes * “Height per Lane”: given height should be applied to all sub-views.
2015-03-13Don't expand track headers to show MIDI stuff.David Robillard
Fixes bug #0006138. This solution does make the other label move when settings are changed (presumably what the fixed width stuff was for), but I don't think this is a big deal. Lesser of two evils, at least.
2015-01-10gracefully handle missing .midnamRobin Gareus
Fixes bug: Add a .midnam to local preferences. use it in a session. delete the .midnam, reload session -> crash
2015-01-11Fix AutomationTrackItem rubberband click thinking it was unhandled.nick_m
Fix several other cases where a single mouse click could cause several (not nested) selection ops. Fix missing selection memento for midi notes and midi commands. Rename some variables. Fix random style issues.
2015-01-09Fix initial display of grouped MIDI region colors.David Robillard
2014-12-18Fix copy paste of MIDI and track automation.David Robillard
2014-12-18Remove internal edit mode and add "content" tool.David Robillard
2014-12-13Structure MIDI device selector by manufacturer.David Robillard
Unfortunately we store the state of models as simply model, so if there's ever duplicate model names, we're somewhat screwed, but this makes the (previously unmanageably huge) menu usable, while retaining the "model name as global identifier" state unmodified.
2014-12-12Use ArdourDropdown for MIDI device selector.David Robillard
2014-11-30Add missing namespace qualifiers.David Robillard
2014-11-30Factor out duplicated track automation code.David Robillard
Mute automation for MIDI tracks.
2014-11-17Fix visibility of MIDI controller automation tracks across saves.David Robillard
Fix some inaccurate/misleading comments that led to said bug. Gracefully handle the "impossible" case where we can't figure out a state ID for an automation track, instead of crashing.
2014-11-16Use an enum for RoundMode instead of magic numbers.David Robillard
No functional changes in this one (for easier auditing), but towards having round up/down only if necessary modes, rather than kludging around that situation with a double round as we do currently.
2014-09-09clean up midi channel controlsRobin Gareus
2014-09-08fix typo in b9f075143Robin Gareus
2014-09-08Move Scroomer out of Track Selection Box:Robin Gareus
* no horiz space between Piano-Roll & Track * 1:1 mapping of note's vertical space (no border)
2014-09-08vertical pixel alignment of all TAV elementsRobin Gareus
2014-08-31Bring back control slider on MIDI controller "tracks".David Robillard
2014-08-31set initial TAV styleRobin Gareus
2014-08-31move midi scroomer to right of meter and fix alignmentRobin Gareus
2014-08-31new min. height for midi controlsRobin Gareus
2014-08-11shuffle packing order to accomodate midi controlsBen Loftis