mirror of
https://github.com/Ardour/ardour.git
synced 2026-01-27 23:48:22 +01:00
More gracefully handle type mismatch errors when doing playlist things (just ignore regions with the wrong type for this playlist).
git-svn-id: svn://localhost/ardour2/branches/3.0@3726 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
b69410425c
commit
cb19d9cb1e
7 changed files with 18 additions and 18 deletions
|
|
@ -93,7 +93,7 @@
|
|||
<Option name="selection" value="636363b2"/>
|
||||
<Option name="tempo bar" value="72727fff"/>
|
||||
<Option name="tempo marker" value="f2425bff"/>
|
||||
<Option name="time axis frame" value="0000000f"/>
|
||||
<Option name="time axis frame" value="000000ff"/>
|
||||
<Option name="time stretch fill" value="e2b5b596"/>
|
||||
<Option name="time stretch outline" value="63636396"/>
|
||||
<Option name="transport drag rect" value="969696c6"/>
|
||||
|
|
|
|||
|
|
@ -177,12 +177,10 @@ AudioRegionView::init (Gdk::Color& basic_color, bool wfd)
|
|||
fade_out_shape->property_fill_color_rgba() = fade_color;
|
||||
fade_out_shape->set_data ("regionview", this);
|
||||
|
||||
|
||||
{
|
||||
uint32_t r,g,b,a;
|
||||
UINT_TO_RGBA(fill_color,&r,&g,&b,&a);
|
||||
|
||||
|
||||
fade_in_handle = new ArdourCanvas::SimpleRect (*group);
|
||||
fade_in_handle->property_fill_color_rgba() = RGBA_TO_UINT(r,g,b,0);
|
||||
fade_in_handle->property_outline_pixels() = 0;
|
||||
|
|
|
|||
|
|
@ -3919,13 +3919,17 @@ Editor::region_drag_finished_callback (ArdourCanvas::Item* item, GdkEvent* event
|
|||
|
||||
//rv->get_time_axis_view().reveal_dependent_views (*rv);
|
||||
|
||||
} else if (changed_tracks) {
|
||||
} else if (changed_tracks && dest_rtv->playlist()) {
|
||||
new_region = RegionFactory::create (rv->region());
|
||||
}
|
||||
|
||||
if (changed_tracks || drag_info.copy) {
|
||||
|
||||
boost::shared_ptr<Playlist> to_playlist = dest_rtv->playlist();
|
||||
if (!to_playlist) {
|
||||
++i;
|
||||
continue;
|
||||
}
|
||||
|
||||
latest_regionviews.clear ();
|
||||
|
||||
|
|
|
|||
|
|
@ -71,10 +71,7 @@ MidiRegionView::MidiRegionView (ArdourCanvas::Group *parent, RouteTimeAxisView &
|
|||
, _mouse_state(None)
|
||||
, _pressed_button(0)
|
||||
{
|
||||
group->lower_to_bottom();
|
||||
_note_group->raise_to_top();
|
||||
|
||||
frame->property_fill_color_rgba() = 0xff000033;
|
||||
}
|
||||
|
||||
MidiRegionView::MidiRegionView (ArdourCanvas::Group *parent, RouteTimeAxisView &tv, boost::shared_ptr<MidiRegion> r, double spu, Gdk::Color& basic_color, TimeAxisViewItem::Visibility visibility)
|
||||
|
|
@ -106,24 +103,23 @@ MidiRegionView::init (Gdk::Color& basic_color, bool wfd)
|
|||
_model = midi_region()->midi_source(0)->model();
|
||||
_enable_display = false;
|
||||
|
||||
RegionView::init(basic_color, false);
|
||||
RegionView::init (basic_color, false);
|
||||
|
||||
compute_colors (basic_color);
|
||||
|
||||
reset_width_dependent_items ((double) _region->length() / samples_per_unit);
|
||||
|
||||
set_y_position_and_height (0, trackview.current_height());
|
||||
|
||||
region_muted ();
|
||||
region_sync_changed ();
|
||||
region_resized (BoundsChanged);
|
||||
region_locked ();
|
||||
|
||||
_region->StateChanged.connect (mem_fun(*this, &MidiRegionView::region_changed));
|
||||
|
||||
reset_width_dependent_items (_pixel_width);
|
||||
//reset_width_dependent_items ((double) _region->length() / samples_per_unit);
|
||||
|
||||
set_colors ();
|
||||
|
||||
_enable_display = true;
|
||||
|
||||
if (_model) {
|
||||
if (wfd) {
|
||||
redisplay_model();
|
||||
|
|
@ -131,8 +127,6 @@ MidiRegionView::init (Gdk::Color& basic_color, bool wfd)
|
|||
_model->ContentsChanged.connect(sigc::mem_fun(this, &MidiRegionView::redisplay_model));
|
||||
}
|
||||
|
||||
midi_region()->midi_source(0)->Switched.connect(sigc::mem_fun(this, &MidiRegionView::switch_source));
|
||||
|
||||
group->signal_event().connect (mem_fun (this, &MidiRegionView::canvas_event), false);
|
||||
|
||||
midi_view()->signal_channel_mode_changed().connect(
|
||||
|
|
|
|||
|
|
@ -163,6 +163,7 @@ TimeAxisViewItem::init (const string& it_name, double spu, Gdk::Color& base_colo
|
|||
frame->property_y1() = (double) 1.0;
|
||||
frame->property_x2() = (double) trackview.editor.frame_to_pixel(duration);
|
||||
frame->property_y2() = (double) trackview.current_height();
|
||||
frame->property_outline_pixels() = 1;
|
||||
frame->property_outline_what() = 0xF;
|
||||
frame->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_TimeAxisFrame.get();
|
||||
frame->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_TimeAxisFrame.get();
|
||||
|
|
|
|||
|
|
@ -255,7 +255,7 @@ class Playlist : public SessionObject, public boost::enable_shared_from_this<Pla
|
|||
|
||||
boost::shared_ptr<Region> region_by_id (PBD::ID);
|
||||
|
||||
void add_region_internal (boost::shared_ptr<Region>, nframes_t position);
|
||||
bool add_region_internal (boost::shared_ptr<Region>, nframes_t position);
|
||||
|
||||
int remove_region_internal (boost::shared_ptr<Region>);
|
||||
RegionList *find_regions_at (nframes_t frame);
|
||||
|
|
|
|||
|
|
@ -518,10 +518,11 @@ Playlist::set_region_ownership ()
|
|||
}
|
||||
}
|
||||
|
||||
void
|
||||
bool
|
||||
Playlist::add_region_internal (boost::shared_ptr<Region> region, nframes_t position)
|
||||
{
|
||||
assert(region->data_type() == _type);
|
||||
if (region->data_type() != _type)
|
||||
return false;
|
||||
|
||||
RegionSortByPosition cmp;
|
||||
nframes_t old_length = 0;
|
||||
|
|
@ -562,6 +563,8 @@ Playlist::add_region_internal (boost::shared_ptr<Region> region, nframes_t posit
|
|||
|
||||
region->StateChanged.connect (sigc::bind (mem_fun (this, &Playlist::region_changed_proxy),
|
||||
boost::weak_ptr<Region> (region)));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue