projects
/
ardour.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Include ParameterDescriptor in read-only control output
[ardour.git]
/
gtk2_ardour
/
region_view.cc
diff --git
a/gtk2_ardour/region_view.cc
b/gtk2_ardour/region_view.cc
index 27e161176bd77a24ef81bf48992f31fa11e7804f..c689a15e7d3c05b7539b5c21084b59f8a073d212 100644
(file)
--- a/
gtk2_ardour/region_view.cc
+++ b/
gtk2_ardour/region_view.cc
@@
-25,6
+25,7
@@
#include <gtkmm2ext/gtk_ui.h>
#include "ardour/playlist.h"
#include <gtkmm2ext/gtk_ui.h>
#include "ardour/playlist.h"
+#include "ardour/profile.h"
#include "ardour/session.h"
#include "canvas/polygon.h"
#include "ardour/session.h"
#include "canvas/polygon.h"
@@
-185,7
+186,7
@@
RegionView::init (bool wfd)
/* derived class calls set_colors () including RegionView::set_colors() in ::init() */
//set_colors ();
/* derived class calls set_colors () including RegionView::set_colors() in ::init() */
//set_colors ();
-
//
UIConfiguration::instance().ColorsChanged.connect (sigc::mem_fun (*this, &RegionView::color_handler));
+ UIConfiguration::instance().ColorsChanged.connect (sigc::mem_fun (*this, &RegionView::color_handler));
/* XXX sync mark drag? */
}
/* XXX sync mark drag? */
}
@@
-524,7
+525,7
@@
RegionView::get_fill_color () const
ArdourCanvas::Color f = TimeAxisViewItem::get_fill_color();
char const *modname;
ArdourCanvas::Color f = TimeAxisViewItem::get_fill_color();
char const *modname;
- if (_region->opaque()) {
+ if (_region->opaque()
&& (!ARDOUR::Profile->get_mixbus() || (!_dragging && !_region->muted ()))
) {
modname = "opaque region base";
} else {
modname = "transparent region base";
modname = "opaque region base";
} else {
modname = "transparent region base";
@@
-942,24
+943,23
@@
RegionView::move_contents (frameoffset_t distance)
* Used when inverting snap mode logic with key modifiers, or snap distance calculation.
* @return Snapped frame offset from this region's position.
*/
* Used when inverting snap mode logic with key modifiers, or snap distance calculation.
* @return Snapped frame offset from this region's position.
*/
-frameoffset_t
+MusicFrame
RegionView::snap_frame_to_frame (frameoffset_t x, bool ensure_snap) const
{
PublicEditor& editor = trackview.editor();
RegionView::snap_frame_to_frame (frameoffset_t x, bool ensure_snap) const
{
PublicEditor& editor = trackview.editor();
-
/* x is region relative, convert it to global absolute frames */
framepos_t const session_frame = x + _region->position();
/* try a snap in either direction */
/* x is region relative, convert it to global absolute frames */
framepos_t const session_frame = x + _region->position();
/* try a snap in either direction */
-
framepos_t frame = session_frame
;
+
MusicFrame frame (session_frame, 0)
;
editor.snap_to (frame, RoundNearest, false, ensure_snap);
/* if we went off the beginning of the region, snap forwards */
editor.snap_to (frame, RoundNearest, false, ensure_snap);
/* if we went off the beginning of the region, snap forwards */
- if (frame < _region->position ()) {
- frame = session_frame;
+ if (frame
.frame
< _region->position ()) {
+ frame
.frame
= session_frame;
editor.snap_to (frame, RoundUpAlways, false, ensure_snap);
}
editor.snap_to (frame, RoundUpAlways, false, ensure_snap);
}
- /* back to region relative */
- return
frame - _region->position(
);
+ /* back to region relative
, keeping the relevant divisor
*/
+ return
MusicFrame (frame.frame - _region->position(), frame.division
);
}
}