Commit graph

254 commits

Author SHA1 Message Date
André Nusser
e50e50c0f9 Disable scrolling in the dropdown menus of midi region heads.
Instead pass it to the canvas as proposed by x42 in #6143.
2015-12-02 15:02:47 -05:00
Robin Gareus
22b07e0233 NOOP, remove trailing tabs/whitespace. 2015-10-05 16:17:49 +02:00
Paul Davis
4dc63966f0 globally remove all trailing whitespace from ardour code base.
Paul Davis was responsible for introducing almost all of this.
2015-10-04 14:51:05 -04:00
Tim Mayberry
1d42ed077e Use ARDOUR_UI_UTILS::set_tooltip rather than via ARDOUR_UI::set_tip
This removes the direct dependence on ARDOUR_UI/Gtk_UI for setting
tooltips. Removes inclusion of ardour_ui.h from 16 files.
2015-09-16 16:55:17 -04:00
Robin Gareus
f2495d9808 Highlight note in piano roll - #6510 2015-08-15 03:08:55 +02:00
nick_m
44790ebff0 More _reversible_command() auditing in the gui.
- try to keep begin/commit pairs in the same file where possible.
2015-06-17 09:54:23 +10:00
David Robillard
c9023ae73d Fix mute of MIDI tracks with channel forcing.
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-29 00:51:56 -04:00
nick_m
1580c6d635 Fix some strings incorrectly marked for translation.
My apologies to translators.
2015-03-25 23:31:23 +11:00
Robin Gareus
f1ce87a699 add API to select TAV height mode.
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-19 21:47:34 +01:00
David Robillard
51f4e33dd1 Don't expand track headers to show MIDI stuff.
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-03-13 22:09:13 -04:00
Robin Gareus
38c2bdc856 gracefully handle missing .midnam
Fixes bug: Add a .midnam to local preferences.
use it in a session. delete the .midnam,
reload session -> crash
2015-01-10 19:31:50 +01:00
nick_m
44203ce955 Fix AutomationTrackItem rubberband click thinking it was unhandled.
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-11 04:07:31 +11:00
David Robillard
ca7965d7aa Fix initial display of grouped MIDI region colors. 2015-01-09 17:49:16 -05:00
David Robillard
a12a065457 Fix copy paste of MIDI and track automation. 2014-12-18 20:23:34 -05:00
David Robillard
5fef655380 Remove internal edit mode and add "content" tool. 2014-12-18 20:21:01 -05:00
David Robillard
ee38c44109 Structure MIDI device selector by manufacturer.
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-13 00:37:34 -05:00
David Robillard
17a58ecd4b Use ArdourDropdown for MIDI device selector. 2014-12-12 23:38:41 -05:00
David Robillard
cf537b97f5 Add missing namespace qualifiers. 2014-11-30 23:56:19 -05:00
David Robillard
0f72ea4a34 Factor out duplicated track automation code.
Mute automation for MIDI tracks.
2014-11-30 23:56:19 -05:00
David Robillard
85cf4b4dbd Fix visibility of MIDI controller automation tracks across saves.
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-17 00:13:53 -05:00
David Robillard
fd9ccc7058 Use an enum for RoundMode instead of magic numbers.
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-11-16 22:35:45 -05:00
Robin Gareus
6954708865 clean up midi channel controls 2014-09-09 14:39:36 +02:00
Robin Gareus
80e6d3b534 fix typo in b9f075143 2014-09-08 20:59:17 +02:00
Robin Gareus
b9f0751438 Move Scroomer out of Track Selection Box:
* no horiz space between Piano-Roll & Track
* 1:1 mapping of note's vertical space (no border)
2014-09-08 18:43:08 +02:00
Robin Gareus
6bb573d81c vertical pixel alignment of all TAV elements 2014-09-08 18:42:41 +02:00
David Robillard
b469cd217f Bring back control slider on MIDI controller "tracks". 2014-08-31 17:54:16 -04:00
Robin Gareus
e3d982a66e set initial TAV style 2014-08-31 18:51:04 +02:00
Robin Gareus
888f440633 move midi scroomer to right of meter and fix alignment 2014-08-31 16:15:52 +02:00
Robin Gareus
d0c7984320 new min. height for midi controls 2014-08-31 07:12:41 +02:00
Ben Loftis
b41df8e120 shuffle packing order to accomodate midi controls 2014-08-11 14:44:12 -05:00
David Robillard
e3cf23b8a0 Don't show all controllers for generic MIDI devices.
This takes a VERY long time to do, so is probably a problem for defined devices
with a ton of channels and devices, too.  Not sure what the smart thing to do
here is, though adding lanes really shouldn't be this slow in the first place.
2014-07-15 15:18:18 -04:00
David Robillard
d65091db16 Show all named controllers for "Show All Automation" on MIDI tracks. 2014-07-15 15:18:18 -04:00
David Robillard
c3f9688c37 Show 1-based channel numbers in MIDI controller automation menu.
This matches the numbers shown elsewhere, previously if you had a track set to
e.g. channel 10, the controller menu items had "[9]" suffixes.
2014-07-15 15:18:18 -04:00
Paul Davis
0a87bbc37b add partial support for mute automation (playback does not work, data is not recorded in the session) 2014-07-01 14:37:05 -04:00
Robin Gareus
a3c378cf62 move utility functions into a dedicated namespace 2014-06-25 21:47:54 +02:00
Paul Davis
343b06d8d3 dramatic change in logic and naming for operations related to adding a MIDI region on demand and cloning/unlinking
Existing code would cause data loss due to creation of two Source objects referring the same path, one with removable flags and one without. Careful code review suggested a variety of thinkos, function naming problems and other confusion that caused this. I have tried ot extensively comment what is going on with these operations, because it is one key area in which MIDI differs from audio: with audio, capture is the only way to add a new audio region, but for MIDI there are GUI input events that can add a new region.
2014-04-14 02:17:30 -04:00
John Emmas
f901337a16 Enforce const correctness for a couple of iterators 2014-01-30 16:30:48 +00:00
John Emmas
33cadc0ef1 Add namespace qualifiers for some occurrences of 'Gtk::CheckMenuItem' (Windows already has a function called 'CheckMenuItem') 2014-01-30 16:30:48 +00:00
Paul Davis
9aacefc170 merge with master 2014-01-15 14:29:32 -05:00
Robin Gareus
ab838a1260 Midi-track fader & pan automation
NB. Fader automation lane always shows 'dB' value and is logarithmic.
OK for pre-fader synths, but not for raw-midi data.
2014-01-15 11:30:54 +01:00
John Emmas
19bb2b33a8 Merge remote-tracking branch 'remotes/origin/cairocanvas' into windows
Conflicts (hopefully resolved):
	gtk2_ardour/marker.cc
	gtk2_ardour/midi_region_view.h
	gtk2_ardour/region_gain_line.h
	gtk2_ardour/utils.cc
	gtk2_ardour/video_image_frame.cc
	gtk2_ardour/wscript
	libs/backends/jack/wscript
2013-09-21 09:17:25 +01:00
Tim Mayberry
fee2c9d71f Fix ambiguous type CheckMenuItem that is also defined via windows.h 2013-07-22 13:44:32 +10:00
Tim Mayberry
9cbe231b92 Use PBD::ffs for portability 2013-07-17 21:40:34 +10:00
Paul Davis
c08b336292 Fix ambiguous type CheckMenuItem that is also defined via windows.h 2013-07-11 15:32:31 -04:00
Paul Davis
38f2aa51bd Merge branch 'master' into cairocanvas 2013-07-09 09:11:52 -04:00
Robin Gareus
da1e8701eb fix alignment of meters on midi-tracks 2013-07-03 04:52:02 +02:00
Paul Davis
ce8731b32d Merge branch 'master' into cairocanvas 2013-06-06 09:52:21 -04:00
Robin Gareus
7ab25697d2 Mark forgotten messages for translation (from Alexandre Prokoudine) 2013-05-30 21:36:39 +02:00
Paul Davis
e2f0c5f91e merge resolution with master 2013-05-02 20:21:54 -04:00
Paul Davis
3973ce81b3 remove all of Gtk::Window::set_position (WIN_POS_MOUSE) for anything 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-05-02 18:13:35 -04:00