crossfade views are only as long as the crossfades themselves, show verbose time cursor when copy-grabbing regions (instead of upon motion), translucent regions while dragging/trimming

git-svn-id: svn://localhost/ardour2/trunk@1164 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Nick Mainsbridge 2006-11-28 19:19:13 +00:00
parent 5abf55c3d7
commit 6f4f716058
4 changed files with 11 additions and 6 deletions

View file

@ -52,7 +52,7 @@ CrossfadeView::CrossfadeView (ArdourCanvas::Group *parent,
: TimeAxisViewItem ("xfade" /*xf.name()*/, *parent, tv, spu, basic_color, xf.position(),
xf.overlap_length(), TimeAxisViewItem::Visibility (TimeAxisViewItem::ShowFrame)),
xf.length(), TimeAxisViewItem::Visibility (TimeAxisViewItem::ShowFrame)),
crossfade (xf),
left_view (lview),
right_view (rview)
@ -124,7 +124,7 @@ CrossfadeView::crossfade_changed (Change what_changed)
if (what_changed & BoundsChanged) {
set_position (crossfade.position(), this);
set_duration (crossfade.overlap_length(), this);
set_duration (crossfade.length(), this);
need_redraw_curves = true;
}

View file

@ -2724,6 +2724,7 @@ Editor::start_region_copy_grab (ArdourCanvas::Item* item, GdkEvent* event)
drag_info.want_move_threshold = true;
drag_info.motion_callback = &Editor::region_drag_motion_callback;
drag_info.finished_callback = &Editor::region_drag_finished_callback;
show_verbose_time_cursor (drag_info.last_frame_position, 10);
}
void
@ -2772,8 +2773,6 @@ Editor::region_drag_motion_callback (ArdourCanvas::Item* item, GdkEvent* event)
vector<int32_t> height_list(512) ;
vector<int32_t>::iterator j;
show_verbose_time_cursor (drag_info.last_frame_position, 10);
if (drag_info.copy && drag_info.move_threshold_passed && drag_info.want_move_threshold) {
drag_info.want_move_threshold = false; // don't copy again
@ -3136,6 +3135,7 @@ Editor::region_drag_motion_callback (ArdourCanvas::Item* item, GdkEvent* event)
rv->get_canvas_frame()->get_bounds (ix1, iy1, ix2, iy2);
rv->get_canvas_group()->i2w (ix1, iy1);
rv->region()->set_opaque(false);
TimeAxisView* tvp2 = trackview_by_y_position (iy1);
AudioTimeAxisView* canvas_atv = dynamic_cast<AudioTimeAxisView*>(tvp2);
AudioTimeAxisView* temp_atv;
@ -3350,6 +3350,8 @@ Editor::region_drag_finished_callback (ArdourCanvas::Item* item, GdkEvent* event
(*i)->get_canvas_group()->i2w (ix1, iy1);
TimeAxisView* tvp2 = trackview_by_y_position (iy1);
AudioTimeAxisView* atv2 = dynamic_cast<AudioTimeAxisView*>(tvp2);
(*i)->region()->set_opaque (true);
from_playlist = (*i)->region()->playlist();
to_playlist = atv2->playlist();
@ -3443,6 +3445,7 @@ Editor::region_drag_finished_callback (ArdourCanvas::Item* item, GdkEvent* event
/* no need to add an undo here, we did that when we added this playlist to motion_frozen playlists */
rv->region()->set_position (where, (void *) this);
rv->region()->set_opaque (true);
}
}
@ -4005,6 +4008,7 @@ Editor::trim_motion_callback (ArdourCanvas::Item* item, GdkEvent* event)
begin_reversible_command (trim_type);
for (list<RegionView*>::const_iterator i = selection->regions.by_layer().begin(); i != selection->regions.by_layer().end(); ++i) {
(*i)->region()->set_opaque(false);
(*i)->region()->freeze ();
AudioRegionView* const arv = dynamic_cast<AudioRegionView*>(*i);
@ -4199,6 +4203,7 @@ Editor::trim_finished_callback (ArdourCanvas::Item* item, GdkEvent* event)
i != selection->regions.by_layer().end(); ++i)
{
thaw_region_after_trim (**i);
(*i)->region()->set_opaque(true);
}
}

View file

@ -359,7 +359,7 @@ void
RegionView::set_frame_color ()
{
if (_region->opaque()) {
fill_opacity = 180;
fill_opacity = 230;
} else {
fill_opacity = 100;
}

View file

@ -102,7 +102,7 @@ TimeAxisViewItem::TimeAxisViewItem(const string & it_name, ArdourCanvas::Group&
frame_position = start ;
item_duration = duration ;
name_connected = false;
fill_opacity = 50;
fill_opacity = 230;
position_locked = false ;
max_item_duration = ARDOUR::max_frames;
min_item_duration = 0 ;