projects
/
ardour.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
add Group::clear(), do not clear _canvas member of Item when unparented (only the...
[ardour.git]
/
gtk2_ardour
/
editor.cc
diff --git
a/gtk2_ardour/editor.cc
b/gtk2_ardour/editor.cc
index c0f5fd8ba9434aee44fd9815ae45a5ad0b0ec7db..d458b41b840505249265d110080e810839e99387 100644
(file)
--- a/
gtk2_ardour/editor.cc
+++ b/
gtk2_ardour/editor.cc
@@
-254,6
+254,10
@@
Editor::Editor ()
*/
, vertical_adjustment (0.0, 0.0, 10.0, 400.0)
*/
, vertical_adjustment (0.0, 0.0, 10.0, 400.0)
+ , horizontal_adjustment (0.0, 0.0, 1e16)
+ , unused_adjustment (0.0, 0.0, 10.0, 400.0)
+
+ , controls_layout (unused_adjustment, vertical_adjustment)
/* tool bar related */
/* tool bar related */
@@
-367,17
+371,17
@@
Editor::Editor ()
sfbrowser = 0;
sfbrowser = 0;
- location_marker_color = ARDOUR_UI::config()->
canvasvar_LocationMarker.get
();
- location_range_color = ARDOUR_UI::config()->
canvasvar_LocationRange.get
();
- location_cd_marker_color = ARDOUR_UI::config()->
canvasvar_LocationCDMarker.get
();
- location_loop_color = ARDOUR_UI::config()->
canvasvar_LocationLoop.get
();
- location_punch_color = ARDOUR_UI::config()->
canvasvar_LocationPunch.get
();
+ location_marker_color = ARDOUR_UI::config()->
get_canvasvar_LocationMarker
();
+ location_range_color = ARDOUR_UI::config()->
get_canvasvar_LocationRange
();
+ location_cd_marker_color = ARDOUR_UI::config()->
get_canvasvar_LocationCDMarker
();
+ location_loop_color = ARDOUR_UI::config()->
get_canvasvar_LocationLoop
();
+ location_punch_color = ARDOUR_UI::config()->
get_canvasvar_LocationPunch
();
_edit_point = EditAtMouse;
_internal_editing = false;
current_canvas_cursor = 0;
_edit_point = EditAtMouse;
_internal_editing = false;
current_canvas_cursor = 0;
-
fram
es_per_pixel = 2048; /* too early to use reset_zoom () */
+
sampl
es_per_pixel = 2048; /* too early to use reset_zoom () */
_scroll_callbacks = 0;
_scroll_callbacks = 0;
@@
-929,7
+933,7
@@
Editor::zoom_adjustment_changed ()
}
double fpu = zoom_range_clock->current_duration() / _visible_canvas_width;
}
double fpu = zoom_range_clock->current_duration() / _visible_canvas_width;
- bool clamped = clamp_
fram
es_per_pixel (fpu);
+ bool clamped = clamp_
sampl
es_per_pixel (fpu);
if (clamped) {
zoom_range_clock->set ((framepos_t) floor (fpu * _visible_canvas_width));
if (clamped) {
zoom_range_clock->set ((framepos_t) floor (fpu * _visible_canvas_width));
@@
-1139,7
+1143,7
@@
Editor::map_position_change (framepos_t frame)
void
Editor::center_screen (framepos_t frame)
{
void
Editor::center_screen (framepos_t frame)
{
- double const page = _visible_canvas_width *
fram
es_per_pixel;
+ double const page = _visible_canvas_width *
sampl
es_per_pixel;
/* if we're off the page, then scroll.
*/
/* if we're off the page, then scroll.
*/
@@
-1305,7
+1309,7
@@
Editor::set_session (Session *t)
_session->tempo_map().apply_with_metrics (*this, &Editor::draw_metric_marks);
for (TrackViewList::iterator i = track_views.begin(); i != track_views.end(); ++i) {
_session->tempo_map().apply_with_metrics (*this, &Editor::draw_metric_marks);
for (TrackViewList::iterator i = track_views.begin(); i != track_views.end(); ++i) {
- (static_cast<TimeAxisView*>(*i))->set_
frames_per_pixel (fram
es_per_pixel);
+ (static_cast<TimeAxisView*>(*i))->set_
samples_per_pixel (sampl
es_per_pixel);
}
super_rapid_screen_update_connection = ARDOUR_UI::instance()->SuperRapidScreenUpdate.connect (
}
super_rapid_screen_update_connection = ARDOUR_UI::instance()->SuperRapidScreenUpdate.connect (
@@
-2281,7
+2285,7
@@
Editor::set_state (const XMLNode& node, int /*version*/)
if ((prop = node.property ("zoom"))) {
reset_zoom (PBD::atof (prop->value()));
} else {
if ((prop = node.property ("zoom"))) {
reset_zoom (PBD::atof (prop->value()));
} else {
- reset_zoom (
fram
es_per_pixel);
+ reset_zoom (
sampl
es_per_pixel);
}
if ((prop = node.property ("snap-to"))) {
}
if ((prop = node.property ("snap-to"))) {
@@
-2501,7
+2505,7
@@
Editor::get_state ()
maybe_add_mixer_strip_width (*node);
node->add_property ("zoom-focus", enum_2_string (zoom_focus));
maybe_add_mixer_strip_width (*node);
node->add_property ("zoom-focus", enum_2_string (zoom_focus));
- snprintf (buf, sizeof(buf), "%f",
fram
es_per_pixel);
+ snprintf (buf, sizeof(buf), "%f",
sampl
es_per_pixel);
node->add_property ("zoom", buf);
node->add_property ("snap-to", enum_2_string (_snap_type));
node->add_property ("snap-mode", enum_2_string (_snap_mode));
node->add_property ("zoom", buf);
node->add_property ("snap-to", enum_2_string (_snap_type));
node->add_property ("snap-mode", enum_2_string (_snap_mode));
@@
-3721,8
+3725,14
@@
Editor::set_show_measures (bool yn)
if (tempo_lines) {
tempo_lines->show();
}
if (tempo_lines) {
tempo_lines->show();
}
- (void) redraw_measures ();
+
+ ARDOUR::TempoMap::BBTPointList::const_iterator begin;
+ ARDOUR::TempoMap::BBTPointList::const_iterator end;
+
+ compute_current_bbt_points (leftmost_frame, leftmost_frame + current_page_samples(), begin, end);
+ draw_measures (begin, end);
}
}
+
instant_save ();
}
}
instant_save ();
}
}
@@
-4129,14
+4139,14
@@
Editor::reset_y_origin (double y)
void
Editor::reset_zoom (double fpp)
{
void
Editor::reset_zoom (double fpp)
{
- clamp_
fram
es_per_pixel (fpp);
+ clamp_
sampl
es_per_pixel (fpp);
- if (fpp ==
fram
es_per_pixel) {
+ if (fpp ==
sampl
es_per_pixel) {
return;
}
pending_visual_change.add (VisualChange::ZoomLevel);
return;
}
pending_visual_change.add (VisualChange::ZoomLevel);
- pending_visual_change.
fram
es_per_pixel = fpp;
+ pending_visual_change.
sampl
es_per_pixel = fpp;
ensure_visual_change_idle_handler ();
}
ensure_visual_change_idle_handler ();
}
@@
-4166,7
+4176,7
@@
Editor::current_visual_state (bool with_tracks)
{
VisualState* vs = new VisualState (with_tracks);
vs->y_position = vertical_adjustment.get_value();
{
VisualState* vs = new VisualState (with_tracks);
vs->y_position = vertical_adjustment.get_value();
- vs->
frames_per_pixel = fram
es_per_pixel;
+ vs->
samples_per_pixel = sampl
es_per_pixel;
vs->leftmost_frame = leftmost_frame;
vs->zoom_focus = zoom_focus;
vs->leftmost_frame = leftmost_frame;
vs->zoom_focus = zoom_focus;
@@
-4228,7
+4238,7
@@
Editor::use_visual_state (VisualState& vs)
vertical_adjustment.set_value (vs.y_position);
set_zoom_focus (vs.zoom_focus);
vertical_adjustment.set_value (vs.y_position);
set_zoom_focus (vs.zoom_focus);
- reposition_and_zoom (vs.leftmost_frame, vs.
fram
es_per_pixel);
+ reposition_and_zoom (vs.leftmost_frame, vs.
sampl
es_per_pixel);
if (vs.gui_state) {
*ARDOUR_UI::instance()->gui_object_state = *vs.gui_state;
if (vs.gui_state) {
*ARDOUR_UI::instance()->gui_object_state = *vs.gui_state;
@@
-4247,19
+4257,19
@@
Editor::use_visual_state (VisualState& vs)
* @param fpu New frames per unit; should already have been clamped so that it is sensible.
*/
void
* @param fpu New frames per unit; should already have been clamped so that it is sensible.
*/
void
-Editor::set_
fram
es_per_pixel (double fpp)
+Editor::set_
sampl
es_per_pixel (double fpp)
{
if (tempo_lines) {
tempo_lines->tempo_map_changed();
}
{
if (tempo_lines) {
tempo_lines->tempo_map_changed();
}
-
fram
es_per_pixel = fpp;
+
sampl
es_per_pixel = fpp;
/* convert fpu to frame count */
/* convert fpu to frame count */
- framepos_t frames = (framepos_t) floor (
fram
es_per_pixel * _visible_canvas_width);
+ framepos_t frames = (framepos_t) floor (
sampl
es_per_pixel * _visible_canvas_width);
- if (
fram
es_per_pixel != zoom_range_clock->current_duration()) {
+ if (
sampl
es_per_pixel != zoom_range_clock->current_duration()) {
zoom_range_clock->set (frames);
}
zoom_range_clock->set (frames);
}
@@
-4337,7
+4347,7
@@
Editor::idle_visual_changer ()
double const last_time_origin = horizontal_position ();
if (p & VisualChange::ZoomLevel) {
double const last_time_origin = horizontal_position ();
if (p & VisualChange::ZoomLevel) {
- set_
frames_per_pixel (pending_visual_change.fram
es_per_pixel);
+ set_
samples_per_pixel (pending_visual_change.sampl
es_per_pixel);
compute_fixed_ruler_scale ();
compute_fixed_ruler_scale ();
@@
-4356,7
+4366,7
@@
Editor::idle_visual_changer ()
}
if (p & VisualChange::TimeOrigin) {
}
if (p & VisualChange::TimeOrigin) {
- set_horizontal_position (pending_visual_change.time_origin /
fram
es_per_pixel);
+ set_horizontal_position (pending_visual_change.time_origin /
sampl
es_per_pixel);
}
if (p & VisualChange::YOrigin) {
}
if (p & VisualChange::YOrigin) {
@@
-4780,7
+4790,6
@@
Editor::idle_resize ()
}
_pending_resize_amount = 0;
}
_pending_resize_amount = 0;
- flush_canvas ();
_group_tabs->set_dirty ();
resize_idle_id = -1;
_group_tabs->set_dirty ();
resize_idle_id = -1;
@@
-5281,11
+5290,11
@@
Editor::super_rapid_screen_update ()
*/
#if 0
// FIXME DO SOMETHING THAT WORKS HERE - this is 2.X code
*/
#if 0
// FIXME DO SOMETHING THAT WORKS HERE - this is 2.X code
- double target = ((double)frame - (double)current_page_samples()/2.0) /
fram
es_per_pixel;
+ double target = ((double)frame - (double)current_page_samples()/2.0) /
sampl
es_per_pixel;
if (target <= 0.0) {
target = 0.0;
}
if (target <= 0.0) {
target = 0.0;
}
- if (fabs(target - current) < current_page_samples() /
fram
es_per_pixel) {
+ if (fabs(target - current) < current_page_samples() /
sampl
es_per_pixel) {
target = (target * 0.15) + (current * 0.85);
} else {
/* relax */
target = (target * 0.15) + (current * 0.85);
} else {
/* relax */
@@
-5525,12
+5534,3
@@
Editor::shift_key_released ()
{
_stepping_axis_view = 0;
}
{
_stepping_axis_view = 0;
}
-
-
-void
-Editor::save_canvas_state ()
-{
- XMLTree* tree = static_cast<ArdourCanvas::Canvas*>(_track_canvas)->get_state ();
- string path = string_compose ("%1/canvas-state.xml", _session->path());
- tree->write (path);
-}