diff options
author | David Robillard <d@drobilla.net> | 2008-09-14 19:01:08 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2008-09-14 19:01:08 +0000 |
commit | cb19d9cb1ef7698d63b00917008d0c4de38fb182 (patch) | |
tree | ca285743fa260ce049faf4c856e38ef8399ce52a | |
parent | b69410425c1070aad5aa8a711a9ebb671f308621 (diff) |
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
-rw-r--r-- | gtk2_ardour/ardour3_ui_default.conf | 2 | ||||
-rw-r--r-- | gtk2_ardour/audio_region_view.cc | 2 | ||||
-rw-r--r-- | gtk2_ardour/editor_mouse.cc | 6 | ||||
-rw-r--r-- | gtk2_ardour/midi_region_view.cc | 16 | ||||
-rw-r--r-- | gtk2_ardour/time_axis_view_item.cc | 1 | ||||
-rw-r--r-- | libs/ardour/ardour/playlist.h | 2 | ||||
-rw-r--r-- | libs/ardour/playlist.cc | 7 |
7 files changed, 18 insertions, 18 deletions
diff --git a/gtk2_ardour/ardour3_ui_default.conf b/gtk2_ardour/ardour3_ui_default.conf index 663a96edc1..5029c3f121 100644 --- a/gtk2_ardour/ardour3_ui_default.conf +++ b/gtk2_ardour/ardour3_ui_default.conf @@ -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"/> diff --git a/gtk2_ardour/audio_region_view.cc b/gtk2_ardour/audio_region_view.cc index 3a269c04bc..60f52d50a3 100644 --- a/gtk2_ardour/audio_region_view.cc +++ b/gtk2_ardour/audio_region_view.cc @@ -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; diff --git a/gtk2_ardour/editor_mouse.cc b/gtk2_ardour/editor_mouse.cc index 24a6fb47ef..d0931e4579 100644 --- a/gtk2_ardour/editor_mouse.cc +++ b/gtk2_ardour/editor_mouse.cc @@ -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 (); diff --git a/gtk2_ardour/midi_region_view.cc b/gtk2_ardour/midi_region_view.cc index 5ad459cb34..2dea5fd84b 100644 --- a/gtk2_ardour/midi_region_view.cc +++ b/gtk2_ardour/midi_region_view.cc @@ -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( diff --git a/gtk2_ardour/time_axis_view_item.cc b/gtk2_ardour/time_axis_view_item.cc index 6ea16c4b25..6f25f1e6b5 100644 --- a/gtk2_ardour/time_axis_view_item.cc +++ b/gtk2_ardour/time_axis_view_item.cc @@ -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(); diff --git a/libs/ardour/ardour/playlist.h b/libs/ardour/ardour/playlist.h index ad7210f48f..b937c412ab 100644 --- a/libs/ardour/ardour/playlist.h +++ b/libs/ardour/ardour/playlist.h @@ -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); diff --git a/libs/ardour/playlist.cc b/libs/ardour/playlist.cc index 0b0d5ecc22..65cb8637d5 100644 --- a/libs/ardour/playlist.cc +++ b/libs/ardour/playlist.cc @@ -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 |