Unconditionally save instant.xml on session-close
[ardour.git] / gtk2_ardour / region_view.cc
index 467cacf8b6cd802307c978fbf1ad98c720512aba..fd8addcf0b58556f7c5e52edf97971c6315bdc97 100644 (file)
@@ -1,21 +1,27 @@
 /*
-    Copyright (C) 2001-2006 Paul Davis
-
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-*/
+ * Copyright (C) 2006-2014 David Robillard <d@drobilla.net>
+ * Copyright (C) 2007-2012 Carl Hetherington <carl@carlh.net>
+ * Copyright (C) 2007-2019 Paul Davis <paul@linuxaudiosystems.com>
+ * Copyright (C) 2007 Doug McLain <doug@nostar.net>
+ * Copyright (C) 2013-2019 Robin Gareus <robin@gareus.org>
+ * Copyright (C) 2015-2017 Nick Mainsbridge <mainsbridge@gmail.com>
+ * Copyright (C) 2015 Tim Mayberry <mojofunk@gmail.com>
+ * Copyright (C) 2018 Ben Loftis <ben@harrisonconsoles.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
 
 #include <cmath>
 #include <algorithm>
@@ -71,7 +77,7 @@ RegionView::RegionView (ArdourCanvas::Container*          parent,
                         bool                              automation)
        : TimeAxisViewItem (r->name(), *parent, tv, spu, basic_color, r->position(), r->length(), false, automation,
                            (automation ? TimeAxisViewItem::ShowFrame :
-                            TimeAxisViewItem::Visibility (TimeAxisViewItem::ShowNameText|
+                            TimeAxisViewItem::Visibility ((UIConfiguration::instance().get_show_region_name() ? TimeAxisViewItem::ShowNameText : 0) |
                                                           TimeAxisViewItem::ShowNameHighlight| TimeAxisViewItem::ShowFrame)))
        , _region (r)
        , sync_mark(0)
@@ -528,7 +534,7 @@ RegionView::get_fill_color () const
        Gtkmm2ext::Color f = TimeAxisViewItem::get_fill_color();
        char const *modname;
 
-       if (_region->opaque() && (!ARDOUR::Profile->get_mixbus() || (!_dragging && !_region->muted ()))) {
+       if (_region->opaque() && ( !_dragging && !_region->muted () )) {
                modname = "opaque region base";
        } else {
                modname = "transparent region base";
@@ -959,3 +965,17 @@ RegionView::snap_sample_to_sample (sampleoffset_t x, bool ensure_snap) const
        /* back to region relative, keeping the relevant divisor */
        return MusicSample (sample.sample - _region->position(), sample.division);
 }
+
+void
+RegionView::update_visibility ()
+{
+       /* currently only the name visibility can be changed dynamically */
+
+       if (UIConfiguration::instance().get_show_region_name()) {
+               visibility = Visibility (visibility | ShowNameText);
+       } else {
+               visibility = Visibility (visibility & ~ShowNameText);
+       }
+
+       manage_name_text ();
+}