summaryrefslogtreecommitdiff
path: root/gtk2_ardour/midi_time_axis.cc
AgeCommit message (Collapse)Author
2013-07-17Use PBD::ffs for portabilityTim Mayberry
2013-07-11Fix ambiguous type CheckMenuItem that is also defined via windows.hPaul Davis
2013-07-03fix alignment of meters on midi-tracksRobin Gareus
2013-05-30Mark forgotten messages for translation (from Alexandre Prokoudine)Robin Gareus
2013-05-02remove all of Gtk::Window::set_position (WIN_POS_MOUSE) for anything ↵Paul Davis
deriving from ArdourDialog or ArdourWindow; move the set_position() call into those classes' constructors, so that they are called before the windows are realized, and thus it actually works
2013-03-30add tooltip for channel edit buttonPaul Davis
2013-03-28some deep tweaking to get MIDI channel control into nearly done shape for 3.1Paul 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.
2013-01-26Fix border case where bank select controlers are last in midnam file.David Robillard
Fix potential infinite loop in controller menu generation. git-svn-id: svn://localhost/ardour2/branches/3.0@14001 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-26Fix named controls menu to display all controls (don't miss the last submenu).David Robillard
git-svn-id: svn://localhost/ardour2/branches/3.0@14000 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-20Show matching controller name in automation lane header.David Robillard
Completely eliminate static MIDI controller name code. Reduce dependency on midnam_patch.h (which would have saved me several hours if I did it earlier). Store controller name numbers as an integer. Keep controller names in a map keyed by int instead of a list for fast lookup. More cleanup of MIDI::Name code. git-svn-id: svn://localhost/ardour2/branches/3.0@13927 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-20Support note names from midnam files (tested with the DM5).David Robillard
Do this via a simple MasterDeviceNames::note_name() function. The same really needs to be done for program names, this stuff is absolutely brutal to use. Store note names in a vector indexed by number instead of a list with string "numbers" for reasonable lookup time. Make some references const that should be. git-svn-id: svn://localhost/ardour2/branches/3.0@13908 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-19Set MIDI device mode to the first by default if unset.David Robillard
Give up trying to hide mode selector when it's useless. Fix display of program names for default mode. Abstract out (non-crashy) MidiTimeAxisView::get_device_names(). git-svn-id: svn://localhost/ardour2/branches/3.0@13903 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-19Set MIDI device model to "Generic" by default (previously was unset).David Robillard
Perhaps it should be "Standard MIDI" though? git-svn-id: svn://localhost/ardour2/branches/3.0@13900 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-19fix MIDI track channel selector etc. visibility after show_all()=>show() ↵Paul Davis
changes in recent commit git-svn-id: svn://localhost/ardour2/branches/3.0@13899 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-19fix midnam-related crash introduced around 13892Paul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@13897 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-19Add standard MIDI midnam file and remove hard coded equivalent.David Robillard
Accordingly, make "generic" MIDI truly generic, just numbered controllers. Break up MIDI name UI stuff into manageable functions of reasonable size. Add convenient method to MIDINameDocument for getting the names for a device. Tolerate comments in MIDINameDocument ControlNameList. Can't remove the MIDI name code just yet, since it's still erroneously used by Automatable::describe_parameter(). This is the cause of a bug where the name on the automation lane does not match that in the menu. The plan is to make a very simple pure abstract interface for getting MIDI names, and make it possible to set one for Automatable (or perhaps pass it to describe_parameter()). Thus we'll be on the way to supporting names from sources other than midnam files, namely plugins. git-svn-id: svn://localhost/ardour2/branches/3.0@13895 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-19Replace a bunch of potential crashes with graceful handling of the situation.David Robillard
We really need some kind of more sophisticated assert macro that can be switched to non-fatal logging mode for release builds. A log message, which is often all that would happen, is a lot better than a trainwrecked performance... git-svn-id: svn://localhost/ardour2/branches/3.0@13892 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-19Avoid some copy overhead and sprinkle in some const for good measure.David Robillard
git-svn-id: svn://localhost/ardour2/branches/3.0@13891 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-19Reflow ridiculously wide code.David Robillard
Sorry. git-svn-id: svn://localhost/ardour2/branches/3.0@13890 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-19Hide MIDI device mode selector unless there is actually more than one mode.David Robillard
Since this is usually not the case, showing this all the time as before was so confusing everyone thought it was broken (myself included). Changing that show_all() to a show() might have consequences, but it seems to work fine and we really shouldn't be using show_all() anyway. git-svn-id: svn://localhost/ardour2/branches/3.0@13889 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-16Preliminary support for named MIDI controllers via midname files.David Robillard
Add midnam file for Moog Minitaur controller names. git-svn-id: svn://localhost/ardour2/branches/3.0@13852 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-16implement double click to ContentsRange on MidiScroomerHans Baier
git-svn-id: svn://localhost/ardour2/branches/3.0@13284 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-12make the time axis view remember it midnam model/mode settingsHans Baier
git-svn-id: svn://localhost/ardour2/branches/3.0@13255 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-11further tweak midi channel selector layout in track headerHans Baier
git-svn-id: svn://localhost/ardour2/branches/3.0@13247 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-11nicer layout of MIDI channel selectorHans Baier
git-svn-id: svn://localhost/ardour2/branches/3.0@13245 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-17Remove believed-unnecessary and broken MIDI thru option;Carl Hetherington
should fix #4749. git-svn-id: svn://localhost/ardour2/branches/3.0@12746 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-13Fix visibility of midi scroomer and keyboard.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@12717 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-13Scale the piano roll right with stacked tracks, as well.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@12713 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-13Shrink the midi scroomer to match the keyboard in stacked mode.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@12710 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-13Make a few more MIDI track menu options apply to the current selection (#4106).Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@12706 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-13Make fit contents / show full range work for allCarl Hetherington
selected tracks (part of #4106). git-svn-id: svn://localhost/ardour2/branches/3.0@12703 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-12fix complete screw up in connecting MIDNAM PatchNameList with ↵Paul Davis
ChannelNameSets; more tweaks and twirls for patch/program change mgmt git-svn-id: svn://localhost/ardour2/branches/3.0@12673 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-11lots more work trying to create a common structure for accessing plugin and ↵Paul Davis
MIDNAME patch/preset/program names. still not done git-svn-id: svn://localhost/ardour2/branches/3.0@12665 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-11partially-done (but compile-friendly) move of instrument info into a new ↵Paul Davis
backend object git-svn-id: svn://localhost/ardour2/branches/3.0@12652 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-10remove craziness of propagating MIDI 7 bit limits into MIDNAM handling by ↵Paul Davis
replacing bank_msb/lsb with "bank" ; move responsibility for discovering patch names into MIDI trackview (soon to move again) git-svn-id: svn://localhost/ardour2/branches/3.0@12647 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-02Persist track MIDNAM settings via a GUI property. Fix aCarl Hetherington
couple of crashes with the MIDNAM code. git-svn-id: svn://localhost/ardour2/branches/3.0@12543 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-24Remove over 500 unnecessary includes (including 54 of session.h).David Robillard
It's slightly possible that this causes trivial build failures on different configurations, but otherwise shouldn't cause any problems (i.e. no actual changes other than include/naming/namespace stuff). I deliberately avoided removing libardour-config.h since this can mysteriously break things, though a few of those do seem to be unnecessary. This commit only targets includes of ardour/*.h. There is also a very large number of unnecessary includes of stuff in gtk2_ardour; tackling that should also give a big improvement in build time when things are modified. git-svn-id: svn://localhost/ardour2/branches/3.0@12420 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-22remove, convert, comment several cerr statementsPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@12378 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-25remove the apparently unnecessary "ui_bind()" macro from entire source basePaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@12088 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-16Fairly major change to the way in which crossfades are handled;Carl Hetherington
they are now done with region fades, rather than separate objects. After this commit, Ardour will try to convert your session files to the new crossfade format, but will make a backup in your session folder first. If you have works in progress using Ardour 3 it is ***STRONGLY RECOMMENDED*** that you back up session files before updating to this commit. git-svn-id: svn://localhost/ardour2/branches/3.0@11986 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-05Remove unused dialog.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@11597 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-20Simplify GUIOBjectState a bit by just walking the XMLCarl Hetherington
directly rather than maintaining internal data structures. git-svn-id: svn://localhost/ardour2/branches/3.0@11287 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-20make mouse range mode do something interesting when in internal/note edit ↵Paul Davis
mode. not entirely finished because the usual modifiers to add/extend the selection don't work correctly. note that this works both on the scroomer (where the modifiers do work correctly) and in the track (where they do not) git-svn-id: svn://localhost/ardour2/branches/3.0@11273 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-27Re-work layering in possibly debatable ways. Sketchy docs in doc/layering.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@11088 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-27Set up piano roll and scroomer objects before the MidiTimeAxisView height ↵Carl Hetherington
gets set up, so that their visibility can be initialised correctly. Fixes #4515. git-svn-id: svn://localhost/ardour2/branches/3.0@10828 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-27Fix partial visibility of piano roll when changing MIDI track height in ↵Carl Hetherington
various ways (#2842, #3904). git-svn-id: svn://localhost/ardour2/branches/3.0@10827 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-19Fix mute display on session load (#4480).Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@10703 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-02solo buttons are now ArdourButtonsPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@10401 d708f5d6-7413-0410-9779-e7cbd77b26cf