Commit Graph

141 Commits

Author SHA1 Message Date
a706755710 Fix various MIDI locking issues.
Attempt to make mistakes much less likely in the future by statically requiring
caller to pass scoped locks where necessary.
2014-12-17 16:07:29 -05:00
5ee4a5d56a Don't allow drawing notes in rec regions (crash). 2014-12-17 02:50:45 -05:00
2145fd2973 next 2 modifiers 2014-12-15 10:46:15 -05:00
bf7fa8e3db next modifier 2014-12-15 10:41:46 -05:00
bd6682f2cd next modifier 2014-12-15 10:22:22 -05:00
56ca52651e fix up requested color names everywhere.
Thank <deity> for emacs ... space-uncamelcase-word-at-point FTW
2014-12-14 16:15:38 -05:00
48a7a11974 initial pass to replace all UIConfiguration::get_XXXXXX() calls with UIConfiguration::color(name).
IMPORTANT: names have not been downcased and spaced yet, so many colors are not found
2014-12-14 12:27:07 -05:00
9f5023175f Fix crash when showing MIDI regions we shouldn't.
I am not sure what causes this, but it can happen when finishing a record
sometimes.  Probably MidiSource::_writing isn't updated in the right order with
whatever triggers the redisplay, but at least not crashing is better...
2014-12-06 16:46:00 -05:00
ba4d1cd1c1 remove "canvasvar_" from all functions related to obtaining values from ARDOUR_UI::config() 2014-10-21 22:58:58 -04:00
a649fa8572 fix color of top-most MIDI note line on the canvas 2014-09-08 18:43:52 +02:00
a3c378cf62 move utility functions into a dedicated namespace 2014-06-25 21:47:54 +02:00
6a5d805b38 more canvas refactoring.
Remove Canvas::Layout, use Canvas::Container for the same purpose, move child-rendering into Item::render_children() so that it
could theoretically be used by any derived type.
2014-06-22 11:41:05 -04:00
0796ccfb65 use newly factored canvas in gtk2_ardour 2014-06-21 11:44:22 -04:00
ce08ec0de0 substantial changes in color management, involving a reduction in the use of Gdk::Color and more consistent logic for region coloring.
Group tabs now also get the text drawn in an appropriately contrast-y color
2014-06-09 23:29:00 -04:00
c8ab1aaf7d use Canvas::LineSet for tempolines rather than N different Canvas::Line items plus a cache 2014-06-09 15:39:57 -04:00
6433c7bd61 a few coding style cleanups 2014-01-09 11:54:01 -05:00
3a5e98bb8b redraw entire MidiStreamView after scroomer drag so that everything is redrawn 2013-10-24 17:55:25 -04:00
30394cdcf9 fix placement of black/white note lines/bars in MIDI streamview 2013-10-24 17:11:07 -04:00
fca33f903d fix up drawing of MIDI note "lines" on track canvas, which were in the wrong places 2013-10-23 10:38:09 -04:00
96eee9e7a1 change UIConfig to use accessor/setter methods like RCConfig so that ParameterChanged methods can actually be emitted; add variable (over a small range) background shading for all TimeAxisViewItems 2013-04-16 23:46:22 -04:00
b05968fb4e change frames_per_pixel to samples_per_pixel 2013-04-12 11:31:50 -04:00
4258a34912 change all frame_to_pixel and pixel_to_frame to sample_to_pixel and pixel_to_sample 2013-04-12 11:15:45 -04:00
19bd641915 commit immediately post linking 2013-04-04 18:45:27 -04:00
aaea166135 initial commit of hand merging, plus getting "ancient" waf script to work correctly 2013-04-04 00:32:52 -04:00
fc77ae0738 Replace a bunch of potential crashes with graceful handling of the situation.
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-19 07:00:43 +00:00
d7ea70f4f1 force use of a weak_ptr<> when binding in MidiStreamView, hopefully avoiding putting a shared_ptr<Region> into an object
git-svn-id: svn://localhost/ardour2/branches/3.0@13845 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-15 15:12:30 +00:00
Carl Hetherington
5dc49d678f Fit note range on adding regions to tracks during import (#4106).
git-svn-id: svn://localhost/ardour2/branches/3.0@12705 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-13 16:47:06 +00:00
Carl Hetherington
dfd842812c Deselect MIDI notes when leaving internal edit mode
(part of #4669).


git-svn-id: svn://localhost/ardour2/branches/3.0@12471 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-28 21:01:37 +00:00
6fa6514cfd Remove over 500 unnecessary includes (including 54 of session.h).
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-24 06:09:29 +00:00
a9e5c95bd2 remove unused static function
git-svn-id: svn://localhost/ardour2/branches/3.0@10247 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-20 11:43:08 +00:00
Carl Hetherington
69da82a021 Don't draw MIDI note horizontal grid lines if they would be
less than 3 pixels apart (#4300).


git-svn-id: svn://localhost/ardour2/branches/3.0@10080 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-09-14 16:07:57 +00:00
Carl Hetherington
25b4913c78 Save position of MIDI scroomers (#4140).
git-svn-id: svn://localhost/ardour2/branches/3.0@9993 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-08-14 18:40:57 +00:00
d4d5b30aeb remove unused and useless "src" argument for a number of Region property modifying methods
git-svn-id: svn://localhost/ardour2/branches/3.0@9632 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-30 13:54:44 +00:00
3d05125a86 Increase maximum note height to 20 (10 is far too small a target for individual note editing).
Fix broken whitespace.


git-svn-id: svn://localhost/ardour2/branches/3.0@9617 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-27 22:39:52 +00:00
Carl Hetherington
cb643ab965 Remove some calls to process_updates() which I think prevent GTK coalescing redraw requests. Remove some debugging code. Suspend update of MIDI regions during scroomer drag to speed things up (#3954).
git-svn-id: svn://localhost/ardour2/branches/3.0@9357 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-16 13:31:27 +00:00
92578ddef5 show internal edit mode status correctly on session load
git-svn-id: svn://localhost/ardour2/branches/3.0@9101 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-08 01:49:13 +00:00
Carl Hetherington
e64486acfa Clamp output of y_to_note so that it doesn't return out-of-range values. Should fix #3823.
git-svn-id: svn://localhost/ardour2/branches/3.0@9096 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-07 17:17:11 +00:00
Carl Hetherington
ffebe2c3fe Slight fix to comment.
git-svn-id: svn://localhost/ardour2/branches/3.0@9065 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-04 03:58:17 +00:00
Carl Hetherington
7b15526750 Hack round a maybe delightful (for some values of delightful) and certainly evil confluence of small bugs causing no MIDI notes on record (#3820).
git-svn-id: svn://localhost/ardour2/branches/3.0@9064 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-04 03:55:14 +00:00
477fca0de0 deframe audio regions as well as MIDI when entering internal edit mode
git-svn-id: svn://localhost/ardour2/branches/3.0@9057 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-03 18:32:06 +00:00
2c72f58aa1 experiment with making MIDI region boxes vanish when in note/internal edit mode ... to be continued
git-svn-id: svn://localhost/ardour2/branches/3.0@9054 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-03 14:51:02 +00:00
Carl Hetherington
73192bc1a7 Remove all use of nframes_t.
git-svn-id: svn://localhost/ardour2/branches/3.0@8166 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-03 22:26:29 +00:00
bb797943dd add configurable colors to stereo panner, plus keybindings for zero width (0), 1 (alt-up) or -1 (alt-down), plus M when its mono
git-svn-id: svn://localhost/ardour2/branches/3.0@8153 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-02 15:51:42 +00:00
Carl Hetherington
a46af0460b Create a new layer if required on record to a track in stacked mode. Fixes #3391.
git-svn-id: svn://localhost/ardour2/branches/3.0@8026 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-11-14 15:01:53 +00:00
Carl Hetherington
ba0458cf1f Update recorded MIDI regions as notes arrive. Fixes one cause of infinite note-lengths during record. Fix various problems with multiple captures of MIDI during one pass.
git-svn-id: svn://localhost/ardour2/branches/3.0@7887 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-10-08 14:54:16 +00:00
Carl Hetherington
8222348761 Improve GUI display during MIDI record in various ways.
git-svn-id: svn://localhost/ardour2/branches/3.0@7875 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-10-05 00:27:26 +00:00
90e73a3a6d (1) remove almost-never used block/unlock_property_changes() methods from PBD::Stateful (2) hide used and path columns from region list (3) detect mouse position within MIDI notes and thus allow move or trim from the same mouse mode (object or trim; first & last 1/4 of each note is for trimming
git-svn-id: svn://localhost/ardour2/branches/3.0@7823 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-21 15:15:06 +00:00
Carl Hetherington
aa00dbc40e Fix MIDI streamview grid. Fixes #3460.
git-svn-id: svn://localhost/ardour2/branches/3.0@7806 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-19 15:50:22 +00:00
10bdce85a0 megaopus commit: (1) add __STD_(LIMIT|FORMAT)_MACROS to command line flags for cc and c++ builds, remove them from source (2) add new Property::midi_data used by MidiRegion to signal that its (MIDI) contents have changed (3) massive switch from nframes_t to framepos_t/framecnt_t including removal of ARDOUR::max_frames (replaced by ARDOUR::max_frame{pos,cnt} (lots more to do but this set was driven by changes to the Diskstream API to use framepos_t
git-svn-id: svn://localhost/ardour2/branches/3.0@7791 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-17 16:24:22 +00:00
Carl Hetherington
812e95da01 Allow drag when creating a MIDI region. Fixes #3363.
git-svn-id: svn://localhost/ardour2/branches/3.0@7657 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-20 12:01:13 +00:00