summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2008-09-28 19:47:45 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2008-09-28 19:47:45 +0000
commite11b3f90c2d02735a071d526d67cfd0de90cbac3 (patch)
tree3e6364da6cc3acd5d3eff4d518e1a8dcba164709 /gtk2_ardour
parent3b424fd8b55ee68f229463ccf3408de81a5c56d9 (diff)
region list patch #2 from chris g, slightly reworked by me; sv_se po changes, possibly borked
git-svn-id: svn://localhost/ardour2/branches/3.0@3820 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/editor.cc8
-rw-r--r--gtk2_ardour/editor.h20
-rw-r--r--gtk2_ardour/editor_region_list.cc477
-rw-r--r--gtk2_ardour/po/sv_SE.po559
4 files changed, 289 insertions, 775 deletions
diff --git a/gtk2_ardour/editor.cc b/gtk2_ardour/editor.cc
index c53a762df9..dc791996cd 100644
--- a/gtk2_ardour/editor.cc
+++ b/gtk2_ardour/editor.cc
@@ -652,9 +652,17 @@ Editor::Editor ()
region_list_display.append_column (_("Start"), region_list_columns.start);
region_list_display.append_column (_("End"), region_list_columns.end);
region_list_display.append_column (_("Length"), region_list_columns.length);
+ region_list_display.append_column (_("Sync"), region_list_columns.sync);
+ region_list_display.append_column (_("Fade In"), region_list_columns.fadein);
+ region_list_display.append_column (_("Fade Out"), region_list_columns.fadeout);
+ region_list_display.append_column (_("L"), region_list_columns.locked);
+ region_list_display.append_column (_("G"), region_list_columns.glued);
+ region_list_display.append_column (_("M"), region_list_columns.muted);
+ region_list_display.append_column (_("O"), region_list_columns.opaque);
region_list_display.append_column (_("Used"), region_list_columns.used);
region_list_display.append_column (_("Path to parent file"), region_list_columns.path);
region_list_display.set_headers_visible (true);
+ region_list_display.set_grid_lines (TREE_VIEW_GRID_LINES_BOTH);
CellRendererText* region_name_cell = dynamic_cast<CellRendererText*>(region_list_display.get_column_cell_renderer (0));
region_name_cell->property_editable() = true;
diff --git a/gtk2_ardour/editor.h b/gtk2_ardour/editor.h
index 6374b29d06..eb51fb5beb 100644
--- a/gtk2_ardour/editor.h
+++ b/gtk2_ardour/editor.h
@@ -933,16 +933,30 @@ class Editor : public PublicEditor
add (start);
add (end);
add (length);
+ add (sync);
+ add (fadein);
+ add (fadeout);
+ add (locked);
+ add (glued);
+ add (muted);
+ add (opaque);
add (used);
add (path);
}
- Gtk::TreeModelColumn<Glib::ustring> name;
+ Gtk::TreeModelColumn<Glib::ustring> name;
Gtk::TreeModelColumn<boost::shared_ptr<ARDOUR::Region> > region;
Gtk::TreeModelColumn<Gdk::Color> color_;
Gtk::TreeModelColumn<Glib::ustring> start;
Gtk::TreeModelColumn<Glib::ustring> end;
Gtk::TreeModelColumn<Glib::ustring> length;
- Gtk::TreeModelColumn<Glib::ustring> used;
+ Gtk::TreeModelColumn<Glib::ustring> sync;
+ Gtk::TreeModelColumn<Glib::ustring> fadein;
+ Gtk::TreeModelColumn<Glib::ustring> fadeout;
+ Gtk::TreeModelColumn<bool> locked;
+ Gtk::TreeModelColumn<bool> glued;
+ Gtk::TreeModelColumn<bool> muted;
+ Gtk::TreeModelColumn<bool> opaque;
+ Gtk::TreeModelColumn<Glib::ustring> used;
Gtk::TreeModelColumn<Glib::ustring> path;
};
@@ -1091,7 +1105,9 @@ class Editor : public PublicEditor
void add_regions_to_region_display (std::vector<boost::weak_ptr<ARDOUR::Region> > & );
void region_hidden (boost::shared_ptr<ARDOUR::Region>);
void redisplay_regions ();
+ void populate_row (boost::shared_ptr<ARDOUR::Region>, Gtk::TreeModel::Row const &);
void update_region_row (boost::shared_ptr<ARDOUR::Region>);
+ bool update_region_subrows (boost::shared_ptr<ARDOUR::Region>, Gtk::TreeModel::Row const &, int);
bool no_region_list_redisplay;
void insert_into_tmp_regionlist(boost::shared_ptr<ARDOUR::Region>);
diff --git a/gtk2_ardour/editor_region_list.cc b/gtk2_ardour/editor_region_list.cc
index c37540e2b1..767fc4ec71 100644
--- a/gtk2_ardour/editor_region_list.cc
+++ b/gtk2_ardour/editor_region_list.cc
@@ -70,7 +70,6 @@ void
Editor::region_hidden (boost::shared_ptr<Region> r)
{
ENSURE_GUI_THREAD(bind (mem_fun(*this, &Editor::region_hidden), r));
-
redisplay_regions ();
}
@@ -78,32 +77,28 @@ void
Editor::add_regions_to_region_display (vector<boost::weak_ptr<Region> >& regions)
{
region_list_display.set_model (Glib::RefPtr<Gtk::TreeStore>(0));
+
for (vector<boost::weak_ptr<Region> >::iterator x = regions.begin(); x != regions.end(); ++x) {
boost::shared_ptr<Region> region ((*x).lock());
if (region) {
add_region_to_region_display (region);
}
}
+
region_list_display.set_model (region_list_model);
}
void
Editor::add_region_to_region_display (boost::shared_ptr<Region> region)
{
+ if (!region || !session) {
+ return;
+ }
+
string str;
- char start_str[16];
- char end_str[16];
- char length_str[16];
- char used_str[8];
- int used;
TreeModel::Row row;
Gdk::Color c;
- bool missing_source;
- BBT_Time bbt; // FIXME Why do these have to be declared here ?
- SMPTE::Time smpte; // FIXME I would like them declared in the case statment where they are used.
-
-
- missing_source = boost::dynamic_pointer_cast<SilentFileSource>(region->source());
+ bool missing_source = boost::dynamic_pointer_cast<SilentFileSource>(region->source());
if (!show_automatic_regions_in_region_list && region->automatic()) {
return;
@@ -128,7 +123,6 @@ Editor::add_region_to_region_display (boost::shared_ptr<Region> region)
boost::shared_ptr<Region> proxy = parent[region_list_columns.region];
proxy.reset ();
} else {
-
parent = *iter;
}
}
@@ -186,17 +180,19 @@ Editor::add_region_to_region_display (boost::shared_ptr<Region> region)
str += ']';
}
- //if (missing_source) {
- // str += _(" (MISSING)");
- //}
-
row[region_list_columns.name] = str;
row[region_list_columns.region] = region;
-
+
+ if (missing_source) {
+ row[region_list_columns.path] = _("(MISSING) ") + region->source()->name();
+ } else {
+ row[region_list_columns.path] = region->source()->name();
+ }
+
if (region->automatic()) {
return;
}
-
+
} else {
/* find parent node, add as new child */
@@ -234,96 +230,9 @@ Editor::add_region_to_region_display (boost::shared_ptr<Region> region)
}
}
- used = get_regionview_count_from_region_list(region);
- sprintf (used_str, "%4d" , used);
-
- switch (ARDOUR_UI::instance()->secondary_clock.mode ()) {
- case AudioClock::SMPTE:
- case AudioClock::Off: /* If the secondary clock is off, default to SMPTE */
- session->smpte_time (region->position(), smpte);
- sprintf (start_str, "%02d:%02d:%02d:%02d", smpte.hours, smpte.minutes, smpte.seconds, smpte.frames);
-
- session->smpte_time (region->position() + region->length() - 1, smpte);
- sprintf (end_str, "%02d:%02d:%02d:%02d", smpte.hours, smpte.minutes, smpte.seconds, smpte.frames);
-
- session->smpte_time (region->length(), smpte);
- sprintf (length_str, "%02d:%02d:%02d:%02d", smpte.hours, smpte.minutes, smpte.seconds, smpte.frames);
- break;
-
- case AudioClock::BBT:
- session->tempo_map().bbt_time (region->position(), bbt);
- sprintf (start_str, "%03d|%02d|%04d" , bbt.bars, bbt.beats, bbt.ticks);
- session->tempo_map().bbt_time (region->position() + region->length() - 1, bbt);
- sprintf (end_str, "%03d|%02d|%04d" , bbt.bars, bbt.beats, bbt.ticks);
- session->tempo_map().bbt_time (region->length(), bbt);
- sprintf (length_str, "%03d|%02d|%04d" , bbt.bars, bbt.beats, bbt.ticks);
- break;
-
- case AudioClock::MinSec:
- nframes_t left;
- int hrs;
- int mins;
- float secs;
-
- left = region->position();
- hrs = (int) floor (left / (session->frame_rate() * 60.0f * 60.0f));
- left -= (nframes_t) floor (hrs * session->frame_rate() * 60.0f * 60.0f);
- mins = (int) floor (left / (session->frame_rate() * 60.0f));
- left -= (nframes_t) floor (mins * session->frame_rate() * 60.0f);
- secs = left / (float) session->frame_rate();
- sprintf (start_str, "%02d:%02d:%06.3f", hrs, mins, secs);
-
- left = region->position() + region->length() - 1;
- hrs = (int) floor (left / (session->frame_rate() * 60.0f * 60.0f));
- left -= (nframes_t) floor (hrs * session->frame_rate() * 60.0f * 60.0f);
- mins = (int) floor (left / (session->frame_rate() * 60.0f));
- left -= (nframes_t) floor (mins * session->frame_rate() * 60.0f);
- secs = left / (float) session->frame_rate();
- sprintf (end_str, "%02d:%02d:%06.3f", hrs, mins, secs);
-
- left = region->length();
- hrs = (int) floor (left / (session->frame_rate() * 60.0f * 60.0f));
- left -= (nframes_t) floor (hrs * session->frame_rate() * 60.0f * 60.0f);
- mins = (int) floor (left / (session->frame_rate() * 60.0f));
- left -= (nframes_t) floor (mins * session->frame_rate() * 60.0f);
- secs = left / (float) session->frame_rate();
- sprintf (length_str, "%02d:%02d:%06.3f", hrs, mins, secs);
- break;
-
- case AudioClock::Frames:
- snprintf (start_str, sizeof (start_str), "%u", region->position());
- snprintf (end_str, sizeof (end_str), "%u", (region->position() + region->length() - 1));
- snprintf (length_str, sizeof (length_str), "%u", region->length());
- break;
-
- default:
- break;
- }
-
row[region_list_columns.region] = region;
- if (used > 1) {
- row[region_list_columns.start] = "Multiple";
- row[region_list_columns.end] = "Multiple";
- } else {
- row[region_list_columns.start] = start_str;
- row[region_list_columns.end] = end_str;
- }
-
- row[region_list_columns.length] = length_str;
- row[region_list_columns.used] = used_str;
-
- if (missing_source) {
- row[region_list_columns.path] = _("(MISSING) ") + region->source()->name();
- } else {
- row[region_list_columns.path] = region->source()->name();
- }
-
- if (region->n_channels() > 1) {
- row[region_list_columns.name] = string_compose("%1 [%2]", region->name(), region->n_channels());
- } else {
- row[region_list_columns.name] = region->name();
- }
+ populate_row(region, row);
}
@@ -367,33 +276,34 @@ Editor::region_list_region_changed (Change what_changed, boost::weak_ptr<Region>
void
Editor::region_list_selection_changed()
{
- bool selected;
+ bool selected = false;
if (region_list_display.get_selection()->count_selected_rows() > 0) {
selected = true;
- } else {
- selected = false;
}
if (selected) {
TreeView::Selection::ListHandle_Path rows = region_list_display.get_selection()->get_selected_rows ();
- TreeView::Selection::ListHandle_Path::iterator i = rows.begin();
TreeIter iter;
- if ((iter = region_list_model->get_iter (*i))) {
- boost::shared_ptr<Region> r = (*iter)[region_list_columns.region];
+ for (TreeView::Selection::ListHandle_Path::iterator i = rows.begin(); i != rows.end(); ++i) {
- /* they could have clicked on a row that is just a placeholder, like "Hidden" */
-
- if (r) {
+ if (iter = region_list_model->get_iter (*i)) {
+ boost::shared_ptr<Region> r = (*iter)[region_list_columns.region];
- /* just set the first selected region (in fact, the selection model might be SINGLE, which
- means there can only be one.
- */
+ /* they could have clicked on a row that is just a placeholder, like "Hidden" */
- set_selected_regionview_from_region_list (r, Selection::Set);
+ if (r) {
+
+ /* just set the first selected region (in fact, the selection model might be SINGLE, which
+ means there can only be one.
+ */
+
+ set_selected_regionview_from_region_list (r, Selection::Set);
+ }
}
}
+
}
}
@@ -411,125 +321,149 @@ Editor::insert_into_tmp_regionlist(boost::shared_ptr<Region> region)
void
Editor::redisplay_regions ()
-{
- if (no_region_list_redisplay) {
+{
+ if (no_region_list_redisplay || !session) {
return;
}
- if (session) {
-
- region_list_display.set_model (Glib::RefPtr<Gtk::TreeStore>(0));
- region_list_model->clear ();
+ bool tree_expanded = false;
+
+ if (toggle_full_region_list_action && toggle_full_region_list_action->get_active()) { //If the list was expanded prior to rebuilding,
+ tree_expanded = true; //expand it again afterwards
+ }
+
+ region_list_display.set_model (Glib::RefPtr<Gtk::TreeStore>(0));
+ region_list_model->clear ();
- /* now add everything we have, via a temporary list used to help with
- sorting.
- */
-
- tmp_region_list.clear();
- session->foreach_region (this, &Editor::insert_into_tmp_regionlist);
+ /* now add everything we have, via a temporary list used to help with
+ sorting.
+ */
+
+ tmp_region_list.clear();
+ session->foreach_region (this, &Editor::insert_into_tmp_regionlist);
- for (list<boost::shared_ptr<Region> >::iterator r = tmp_region_list.begin(); r != tmp_region_list.end(); ++r) {
- add_region_to_region_display (*r);
- }
- tmp_region_list.clear();
-
- region_list_display.set_model (region_list_model);
+ for (list<boost::shared_ptr<Region> >::iterator r = tmp_region_list.begin(); r != tmp_region_list.end(); ++r) {
+ add_region_to_region_display (*r);
+ }
+ tmp_region_list.clear();
+
+ region_list_display.set_model (region_list_model);
+
+ if (tree_expanded) {
+ region_list_display.expand_all();
}
}
-
void
Editor::update_region_row (boost::shared_ptr<Region> region)
{
if (!region || !session) {
return;
}
+ TreeModel::iterator i;
+ TreeModel::Children rows = region_list_model->children();
- char start_str[16];
- char end_str[16];
- char length_str[16];
- char used_str[8];
- int used;
- bool missing_source;
- bool matched_region = false;
- BBT_Time bbt;
- SMPTE::Time smpte;
-
- missing_source = boost::dynamic_pointer_cast<SilentFileSource>(region->source());
-
- TreeModel::iterator found_region;
-
- if (show_automatic_regions_in_region_list) {
+ for (i = rows.begin(); i != rows.end(); ++i) {
- TreeModel::iterator i;
- TreeModel::iterator ii;
- TreeModel::Children rows = region_list_model->children();
+ cerr << "Level 1: Compare " << region->name() << " with parent " << (*i)[region_list_columns.name] << "\n";
- for (i = rows.begin(); i != rows.end(); ++i) {
-
- cerr << "Parent " << (*i)[region_list_columns.name] << "\n";
-
- TreeModel::Children subrows = (*i).children();
-
- for (ii = subrows.begin(); ii != subrows.end(); ++ii) {
-
- cerr << "Compare " << region->name() << " with child " << (*ii)[region_list_columns.name] << "\n";
-
- boost::shared_ptr<Region> compared_region = (*ii)[region_list_columns.region];
-
- if (region == compared_region) {
- cerr << "Matched\n";
- matched_region = true;
- found_region = ii;
- break;
- }
- }
-
- if (matched_region) {
- break;
+ boost::shared_ptr<Region> compared_region = (*i)[region_list_columns.region];
+
+ if (region == compared_region) {
+ cerr << "Matched\n";
+ populate_row(region, (*i));
+ return;
+ }
+
+ if (!(*i).children().empty()) {
+ if (update_region_subrows(region, (*i), 2)) {
+ return;
}
}
+ }
+ cerr << "Returning - No match\n\n";
+}
+
+bool
+Editor::update_region_subrows (boost::shared_ptr<Region> region, TreeModel::Row const &parent_row, int level)
+{
+ TreeModel::iterator i;
+ TreeModel::Children subrows = (*parent_row).children();
- } else {
+ for (i = subrows.begin(); i != subrows.end(); ++i) {
- TreeModel::iterator i;
- TreeModel::Children rows = region_list_model->children();
+ cerr << "Level " << level << ": Compare " << region->name() << " with child " << (*i)[region_list_columns.name] << "\n";
- for (i = rows.begin(); i != rows.end(); ++i) {
-
- cerr << "Compare " << region->name() << " with " << (*i)[region_list_columns.name] << "\n";
-
- boost::shared_ptr<Region> compared_region = (*i)[region_list_columns.region];
+ boost::shared_ptr<Region> compared_region = (*i)[region_list_columns.region];
+
+ if (region == compared_region) {
+ populate_row(region, (*i));
+ cerr << "Matched\n";
+ return true;
+ }
+
+ if (!(*i).children().empty()) {
- if (region == compared_region) {
- cerr << "Matched\n";
- matched_region = true;
- found_region = i;
- break;
+ if (update_region_subrows(region, (*i), level + 1)) {
+ return true;
}
-
+
}
}
+ return false;
+}
- if (!matched_region) {
- cerr << "Returning - No match\n\n";
- return;
- }
+
+void
+Editor::populate_row (boost::shared_ptr<Region> region, TreeModel::Row const &row)
+{
+ char start_str[16];
+ char end_str[16];
+ char length_str[16];
+ char sync_str[16];
+ char fadein_str[16];
+ char fadeout_str[16];
+ char used_str[8];
+ int used;
+ BBT_Time bbt; // FIXME Why do these have to be declared here ?
+ SMPTE::Time smpte; // FIXME I would like them declared in the case statment where they are used.
+ bool missing_source = boost::dynamic_pointer_cast<SilentFileSource>(region->source());
+
+ boost::shared_ptr<AudioRegion> audioRegion = boost::dynamic_pointer_cast<AudioRegion>(region);
+
+ bool fades_in_seconds = false;
+
+ start_str[0] = '\0';
+ end_str[0] = '\0';
+ length_str[0] = '\0';
+ sync_str[0] = '\0';
+ fadein_str[0] = '\0';
+ fadeout_str[0] = '\0';
+ used_str[0] = '\0';
+
used = get_regionview_count_from_region_list(region);
sprintf (used_str, "%4d" , used);
-
+
switch (ARDOUR_UI::instance()->secondary_clock.mode ()) {
case AudioClock::SMPTE:
- case AudioClock::Off: // If the secondary clock is off, default to SMPTE
+ case AudioClock::Off: /* If the secondary clock is off, default to SMPTE */
session->smpte_time (region->position(), smpte);
sprintf (start_str, "%02d:%02d:%02d:%02d", smpte.hours, smpte.minutes, smpte.seconds, smpte.frames);
-
session->smpte_time (region->position() + region->length() - 1, smpte);
sprintf (end_str, "%02d:%02d:%02d:%02d", smpte.hours, smpte.minutes, smpte.seconds, smpte.frames);
-
session->smpte_time (region->length(), smpte);
sprintf (length_str, "%02d:%02d:%02d:%02d", smpte.hours, smpte.minutes, smpte.seconds, smpte.frames);
+ session->smpte_time (region->sync_position() + region->position(), smpte);
+ sprintf (sync_str, "%02d:%02d:%02d:%02d", smpte.hours, smpte.minutes, smpte.seconds, smpte.frames);
+
+ if (audioRegion && !fades_in_seconds) {
+ session->smpte_time (audioRegion->fade_in()->back()->when, smpte);
+ sprintf (fadein_str, "%02d:%02d:%02d:%02d", smpte.hours, smpte.minutes, smpte.seconds, smpte.frames);
+ session->smpte_time (audioRegion->fade_out()->back()->when, smpte);
+ sprintf (fadeout_str, "%02d:%02d:%02d:%02d", smpte.hours, smpte.minutes, smpte.seconds, smpte.frames);
+ }
+
break;
case AudioClock::BBT:
@@ -539,6 +473,15 @@ Editor::update_region_row (boost::shared_ptr<Region> region)
sprintf (end_str, "%03d|%02d|%04d" , bbt.bars, bbt.beats, bbt.ticks);
session->tempo_map().bbt_time (region->length(), bbt);
sprintf (length_str, "%03d|%02d|%04d" , bbt.bars, bbt.beats, bbt.ticks);
+ session->tempo_map().bbt_time (region->sync_position() + region->position(), bbt);
+ sprintf (sync_str, "%03d|%02d|%04d" , bbt.bars, bbt.beats, bbt.ticks);
+
+ if (audioRegion && !fades_in_seconds) {
+ session->tempo_map().bbt_time (audioRegion->fade_in()->back()->when, bbt);
+ sprintf (fadein_str, "%03d|%02d|%04d" , bbt.bars, bbt.beats, bbt.ticks);
+ session->tempo_map().bbt_time (audioRegion->fade_out()->back()->when, bbt);
+ sprintf (fadeout_str, "%03d|%02d|%04d" , bbt.bars, bbt.beats, bbt.ticks);
+ }
break;
case AudioClock::MinSec:
@@ -570,45 +513,149 @@ Editor::update_region_row (boost::shared_ptr<Region> region)
left -= (nframes_t) floor (mins * session->frame_rate() * 60.0f);
secs = left / (float) session->frame_rate();
sprintf (length_str, "%02d:%02d:%06.3f", hrs, mins, secs);
+
+ left = region->sync_position() + region->position();
+ hrs = (int) floor (left / (session->frame_rate() * 60.0f * 60.0f));
+ left -= (nframes_t) floor (hrs * session->frame_rate() * 60.0f * 60.0f);
+ mins = (int) floor (left / (session->frame_rate() * 60.0f));
+ left -= (nframes_t) floor (mins * session->frame_rate() * 60.0f);
+ secs = left / (float) session->frame_rate();
+ sprintf (sync_str, "%02d:%02d:%06.3f", hrs, mins, secs);
+
+ if (audioRegion && !fades_in_seconds) {
+ left = audioRegion->fade_in()->back()->when;
+ hrs = (int) floor (left / (session->frame_rate() * 60.0f * 60.0f));
+ left -= (nframes_t) floor (hrs * session->frame_rate() * 60.0f * 60.0f);
+ mins = (int) floor (left / (session->frame_rate() * 60.0f));
+ left -= (nframes_t) floor (mins * session->frame_rate() * 60.0f);
+ secs = left / (float) session->frame_rate();
+ sprintf (fadein_str, "%02d:%02d:%06.3f", hrs, mins, secs);
+
+ left = audioRegion->fade_out()->back()->when;
+ hrs = (int) floor (left / (session->frame_rate() * 60.0f * 60.0f));
+ left -= (nframes_t) floor (hrs * session->frame_rate() * 60.0f * 60.0f);
+ mins = (int) floor (left / (session->frame_rate() * 60.0f));
+ left -= (nframes_t) floor (mins * session->frame_rate() * 60.0f);
+ secs = left / (float) session->frame_rate();
+ sprintf (fadeout_str, "%02d:%02d:%06.3f", hrs, mins, secs);
+ }
+
break;
case AudioClock::Frames:
snprintf (start_str, sizeof (start_str), "%u", region->position());
snprintf (end_str, sizeof (end_str), "%u", (region->position() + region->length() - 1));
snprintf (length_str, sizeof (length_str), "%u", region->length());
+ snprintf (sync_str, sizeof (sync_str), "%u", region->sync_position() + region->position());
+
+ if (audioRegion && !fades_in_seconds) {
+ snprintf (fadein_str, sizeof (fadein_str), "%u", uint (audioRegion->fade_in()->back()->when));
+ snprintf (fadeout_str, sizeof (fadeout_str), "%u", uint (audioRegion->fade_out()->back()->when));
+ }
+
break;
default:
break;
}
- cerr << "Updating " << (*found_region)[region_list_columns.name] << "\n";
+ if (audioRegion && fades_in_seconds) {
+
+ nframes_t left;
+ int mins;
+ int millisecs;
+
+ left = audioRegion->fade_in()->back()->when;
+ mins = (int) floor (left / (session->frame_rate() * 60.0f));
+ left -= (nframes_t) floor (mins * session->frame_rate() * 60.0f);
+ millisecs = (int) floor ((left * 1000.0f) / session->frame_rate());
+
+ if (audioRegion->fade_in()->back()->when >= session->frame_rate()) {
+ sprintf (fadein_str, "%01dM %01dmS", mins, millisecs);
+ } else {
+ sprintf (fadein_str, "%01dmS", millisecs);
+ }
+
+ left = audioRegion->fade_out()->back()->when;
+ mins = (int) floor (left / (session->frame_rate() * 60.0f));
+ left -= (nframes_t) floor (mins * session->frame_rate() * 60.0f);
+ millisecs = (int) floor ((left * 1000.0f) / session->frame_rate());
+
+ if (audioRegion->fade_out()->back()->when >= session->frame_rate()) {
+ sprintf (fadeout_str, "%01dM %01dmS", mins, millisecs);
+ } else {
+ sprintf (fadeout_str, "%01dmS", millisecs);
+ }
+ }
if (used > 1) {
- (*found_region)[region_list_columns.start] = "Multiple";
- (*found_region)[region_list_columns.end] = "Multiple";
+ row[region_list_columns.start] = _("Multiple");
+ row[region_list_columns.end] = _("Multiple");
+ row[region_list_columns.sync] = _("Multiple");
+ row[region_list_columns.fadein] = _("Multiple");
+ row[region_list_columns.fadeout] = _("Multiple");
+ row[region_list_columns.locked] = _(" ");
+ row[region_list_columns.glued] = _(" ");
+ row[region_list_columns.muted] = _(" ");
+ row[region_list_columns.opaque] = _(" ");
} else {
- (*found_region)[region_list_columns.start] = start_str;
- (*found_region)[region_list_columns.end] = end_str;
+ row[region_list_columns.start] = start_str;
+ row[region_list_columns.end] = end_str;
+
+ if (region->sync_position() == region->position()) {
+ row[region_list_columns.sync] = _("Start");
+ } else if (region->sync_position() == (region->position() + region->length() - 1)) {
+ row[region_list_columns.sync] = _("End");
+ } else {
+ row[region_list_columns.sync] = sync_str;
+ }
+
+ if (audioRegion) {
+ if (audioRegion->fade_in_active()) {
+ row[region_list_columns.fadein] = string_compose("%1%2%3", " ", fadein_str, " ");
+ } else {
+ row[region_list_columns.fadein] = string_compose("%1%2%3", "(", fadein_str, ")");
+ }
+ } else {
+ row[region_list_columns.fadein] = "";
+ }
+
+ if (audioRegion) {
+ if (audioRegion->fade_out_active()) {
+ row[region_list_columns.fadeout] = string_compose("%1%2%3", " ", fadeout_str, " ");
+ } else {
+ row[region_list_columns.fadeout] = string_compose("%1%2%3", "(", fadeout_str, ")");
+ }
+ } else {
+ row[region_list_columns.fadeout] = "";
+ }
+
+ row[region_list_columns.locked] = region->locked();
+
+ if (region->positional_lock_style() == Region::MusicTime) {
+ row[region_list_columns.glued] = true;
+ } else {
+ row[region_list_columns.glued] = false;
+ }
+
+ row[region_list_columns.muted] = region->muted();
+ row[region_list_columns.opaque] = region->opaque();
}
- (*found_region)[region_list_columns.length] = length_str;
- (*found_region)[region_list_columns.used] = used_str;
+ row[region_list_columns.length] = length_str;
+ row[region_list_columns.used] = used_str;
if (missing_source) {
- (*found_region)[region_list_columns.path] = _("(MISSING) ") + region->source()->name();
+ row[region_list_columns.path] = _("MISSING ") + region->source()->name();
} else {
- (*found_region)[region_list_columns.path] = region->source()->name();
+ row[region_list_columns.path] = region->source()->name();
}
if (region->n_channels() > 1) {
- (*found_region)[region_list_columns.name] = string_compose("%1 [%2]", region->name(), region->n_channels());
+ row[region_list_columns.name] = string_compose("%1 [%2]", region->name(), region->n_channels());
} else {
- (*found_region)[region_list_columns.name] = region->name();
+ row[region_list_columns.name] = region->name();
}
-
- cerr << "Returning after updating\n\n";
- //return;
}
void
diff --git a/gtk2_ardour/po/sv_SE.po b/gtk2_ardour/po/sv_SE.po
index 158b1c4cec..317bf986dc 100644
--- a/gtk2_ardour/po/sv_SE.po
+++ b/gtk2_ardour/po/sv_SE.po
@@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: ardour-gtk 1.0.2\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2006-06-12 22:09+0200\n"
-"PO-Revision-Date: 2006-06-26 23:57+GMT+1\n"
+"PO-Revision-Date: 2008-09-22 20:33+0200\n"
"Last-Translator: Petter Sundlöf <petter.sundlof@findus.dhs.org>\n"
"Language-Team: Svenska <sv@li.org>\n"
"MIME-Version: 1.0\n"
@@ -7093,8 +7093,6 @@ msgstr "EJ tonhöjdsändrat soloslagverk"
#: gtk2_ardour/editor_timefx.cc:73
msgid "Contents:"
msgstr "Innehåll"
-<<<<<<< .working
-
#: gtk2_ardour/editor_actions.cc:359
msgid "Playhead to Mouse"
@@ -7434,558 +7432,3 @@ msgstr "FFT-analysfönster"
#: gtk2_ardour/analysis_window.cc:135
msgid "Re-analyze data"
msgstr "Återanalysera data"
-=======
-
-#: gtk2_ardour/editor_actions.cc:359
-msgid "Playhead to Mouse"
-msgstr "Startmarkören till mus"
-
-#: gtk2_ardour/editor_actions.cc:277
-msgid "Playhead To Active Mark"
-msgstr "Startmarkören till aktiv markör"
-
-#: gtk2_ardour/editor_actions.cc:231
-msgid "Nudge Playhead Forward"
-msgstr "Knuffa startmarkören framåt"
-
-#: gtk2_ardour/editor_actions.cc:233
-msgid "Nudge Playhead Backward"
-msgstr "Knuffa startmarkören bakåt"
-
-#: gtk2_ardour/editor_actions.cc:475
-msgid "Move Forward to Transient"
-msgstr "Gå framåt till transient"
-
-#: gtk2_ardour/editor_actions.cc:477
-msgid "Move Backwards to Transient"
-msgstr "Gå bakåt till transient"
-
-#: gtk2_ardour/editor_actions.cc:235
-msgid "Forward To Grid"
-msgstr "Framåt till rutnät"
-
-#: gtk2_ardour/editor_actions.cc:237
-msgid "Backward To Grid"
-msgstr "Bakåt till rutnät"
-
-#: gtk2_ardour/editor_actions.cc:66 gtk2_ardour/editor.cc:151
-#: gtk2_ardour/editor.cc:3446
-msgid "Active Mark"
-msgstr "Aktiv markör"
-
-#: gtk2_ardour/editor_actions.cc:137
-msgid "to Next Region Boundary"
-msgstr "till nästa regionsgränsen"
-
-#: gtk2_ardour/editor_actions.cc:139
-msgid "to Previous Region Boundary"
-msgstr "till förra regionsgränsen"
-
-#: gtk2_ardour/editor_actions.cc:279
-msgid "Active Mark To Playhead"
-msgstr "Aktiv markör till startmarkören"
-
-#: gtk2_ardour/editor_actions.cc:361
-msgid "Active Marker to Mouse"
-msgstr "Aktiv markör till musen"
-
-#: gtk2_ardour/editor_actions.cc:61 gtk2_ardour/editor_actions.cc:613
-msgid "Markers"
-msgstr "Markörer"
-
-#: gtk2_ardour/ardour_ui_ed.cc:333
-msgid "Punch In/Out"
-msgstr "Inslag/utslag"
-
-#: gtk2_ardour/editor_actions.cc:177
-msgid "Select All Overlapping Edit Range"
-msgstr "Välj allt som överlappar redigeringsomfånget"
-
-#: gtk2_ardour/editor_actions.cc:179
-msgid "Select All Inside Edit Range"
-msgstr "Välj allt inom redigeringsomfånget"
-
-#: gtk2_ardour/editor_actions.cc:182
-msgid "Select Edit Range"
-msgstr "Välj redigeringsomfång"
-
-
-#: gtk2_ardour/editor_actions.cc:444
-msgid "Separate Using Punch Range"
-msgstr "Separera utifrån in-/utslagsomfånget"
-
-#: gtk2_ardour/editor_actions.cc:447
-msgid "Separate Using Loop Range"
-msgstr "Separera utifrån loopomfånget"
-
-#: gtk2_ardour/editor_actions.cc:469
-msgid "Split Regions At Percussion Onsets"
-msgstr "Dela regioner vid perkussiva anslag"
-
-#: gtk2_ardour/editor_actions.cc:282
-msgid "Trim Start At Edit Point"
-msgstr "Beskär början vid redigeringspunkten"
-
-#: gtk2_ardour/editor_actions.cc:285
-msgid "Trim End At Edit Point"
-msgstr "Beskär slutet vid redigeringspunkten"
-
-#: gtk2_ardour/ardour_ui_ed.cc:95
-msgid "Misc. Shortcuts"
-msgstr "Diverse kortkommandon"
-
-#: gtk2_ardour/editor_actions.cc:385
-msgid "Boost Region Gain"
-msgstr "Öka regionens volym"
-
-#: gtk2_ardour/editor_actions.cc:388
-msgid "Cut Region Gain"
-msgstr "Sänk regionens volym"
-
-#: gtk2_ardour/editor_actions.cc:99
-msgid "Break drag"
-msgstr "Avbryt dragning"
-
-
-#: gtk2_ardour/editor_actions.cc:400
-msgid "Raise Region"
-msgstr "Höj regionen"
-
-#: gtk2_ardour/editor_actions.cc:403
-msgid "Lower Region"
-msgstr "Sänk regionen"
-
-#: gtk2_ardour/editor_actions.cc:415
-msgid "Move To Original Position"
-msgstr "Flytta till ursprunglig position"
-
-#: gtk2_ardour/editor_actions.cc:409
-msgid "Lock Region"
-msgstr "Lås region"
-
-#: gtk2_ardour/editor_actions.cc:397
-msgid "Remove Region Sync"
-msgstr "Ta bort regionsynk.-punkt"
-
-#: gtk2_ardour/editor_actions.cc:505 gtk2_ardour/editor_ops.cc:5651
-msgid "Insert Time"
-msgstr "Infoga tid"
-
-#: gtk2_ardour/editor_actions.cc:93
-msgid "Waveforms"
-msgstr "Vågformer"
-
-#: gtk2_ardour/editor_actions.cc:509
-msgid "Toggle Active"
-msgstr "Växla aktiv"
-
-#: gtk2_ardour/editor_actions.cc:547
-msgid "Zoom Focus Mouse"
-msgstr "Zoomfokus: mus"
-
-#: gtk2_ardour/editor_actions.cc:582
-msgid "Next Snap Mode"
-msgstr "Nästa fästläge"
-
-#: gtk2_ardour/editor_actions.cc:583
-msgid "Next Snap Choice"
-msgstr "Nästa fästlägealternativ"
-
-#: gtk2_ardour/editor_actions.cc:70
-msgid "Primary Clock"
-msgstr "Primär klocka"
-
-#: gtk2_ardour/editor_actions.cc:77
-msgid "Secondary Clock"
-msgstr "Sekundär klocka"
-
-#: gtk2_ardour/ardour_ui_ed.cc:309 gtk2_ardour/ardour_ui_ed.cc:318
-#: gtk2_ardour/editor_actions.cc:616
-msgid "Bars & Beats"
-msgstr "Takter & slag"
-
-#: gtk2_ardour/ardour_ui_ed.cc:311 gtk2_ardour/ardour_ui_ed.cc:320
-msgid "Minutes & Seconds"
-msgstr "Minuter & sekunder"
-
-#: gtk2_ardour/editor_actions.cc:75
-msgid "Rulers"
-msgstr "Tidslinjevisning"
-
-#: gtk2_ardour/editor_actions.cc:619
-msgid "Min:Sec"
-msgstr "Min:sek"
-
-#: gtk2_ardour/editor_actions.cc:615
-msgid "Loop/Punch"
-msgstr "Loop-/inslagsmarkörer"
-
-#: gtk2_ardour/editor_actions.cc:76
-msgid "Scroll"
-msgstr "Skrollning"
-
-#: gtk2_ardour/rhythm_ferret.cc:40
-msgid "Analysis"
-msgstr "Analys"
-
-#: gtk2_ardour/rhythm_ferret.cc:30
-msgid "Percussive Onset"
-msgstr "Perkussivt anslag"
-
-#: gtk2_ardour/rhythm_ferret.cc:31
-msgid "Note Onset"
-msgstr "Notanslag"
-
-#: gtk2_ardour/rhythm_ferret.cc:48
-msgid "Threshold"
-msgstr "Tröskel"
-
-#: gtk2_ardour/rhythm_ferret.cc:51
-msgid "Sensitivity"
-msgstr "Känslighet"
-
-#: gtk2_ardour/rhythm_ferret.cc:52
-msgid "Analyze"
-msgstr "Analysera"
-
-#: gtk2_ardour/rhythm_ferret.cc:55
-msgid "Trigger gap (msecs)"
-msgstr "Utlösningsmellanrum (msek)"
-
-#: gtk2_ardour/rhythm_ferret.cc:43
-msgid "Set Tempo Map"
-msgstr "Sätt tempokarta"
-
-#: gtk2_ardour/rhythm_ferret.cc:44
-msgid "Conform Region"
-msgstr "Anpassa region"
-
-#: gtk2_ardour/rhythm_ferret.cc:39
-msgid "Selection"
-msgstr "Markering"
-
-
-#: gtk2_ardour/editor_actions.cc:463
-msgid "Set Tempo from Region=Bar"
-msgstr "Sätt tempo från region=takt"
-
-#: gtk2_ardour/editor_actions.cc:466
-msgid "Set Tempo from Edit Range=Bar"
-msgstr "Sätt tempo från redigeringsomfång=takt"
-
-
-#: gtk2_ardour/ardour_ui_ed.cc:548
-msgid "JACK does monitoring"
-msgstr "JACK sköter medhörning"
-
-#: gtk2_ardour/ardour_ui_ed.cc:552
-msgid "Ardour does monitoring"
-msgstr "Ardour sköter medhörning"
-
-#: gtk2_ardour/ardour_ui_ed.cc:553
-msgid "Audio Hardware does monitoring"
-msgstr "Ljudhårdvaran sköter medhörning"
-
-#: gtk2_ardour/ardour_ui_ed.cc:438
-msgid "Tape Machine mode"
-msgstr "Bandmaskinläge"
-
-#: gtk2_ardour/editor_actions.cc:64
-msgid "Misc Options"
-msgstr "Diverse inställningar"
-
-#: gtk2_ardour/ardour_ui_ed.cc:446
-msgid "Create marker at xrun location"
-msgstr "Skapa markör vid xrun-förekomst"
-
-#: gtk2_ardour/ardour_ui_ed.cc:455
-msgid "Rubberbanding Snaps to Grid"
-msgstr "Gummibandning fäster mot rutnätet"
-
-#: gtk2_ardour/ardour_ui_ed.cc:456
-msgid "Auto-analyse new audio"
-msgstr "Autoanalysera nya ljud"
-
-#: gtk2_ardour/editor_actions.cc:689
-msgid "Import to Region List"
-msgstr "Importera till regionslistan"
-
-#: gtk2_ardour/mixer_strip.cc:984
-msgid "Protect against denormals"
-msgstr "Skydda mot denormals"
-
-#: gtk2_ardour/option_editor.cc:1242
-msgid "Keyboard layout"
-msgstr "Tangentbordslayout"
-
-#: gtk2_ardour/option_editor.cc:275
-msgid "Font Scaling"
-msgstr "Typsnittsskalning"
-
-#: gtk2_ardour/option_editor.cc:97
-msgid "Add new MIDI port"
-msgstr "Lägg till ny MIDI-port"
-
-
-#: gtk2_ardour/editor.cc:1779 gtk2_ardour/editor.cc:1948
-msgid "Spectral Analysis"
-msgstr "Spektralanalys"
-
-#: gtk2_ardour/editor.cc:1793
-msgid "Glue to Bars&Beats"
-msgstr "Klistra mot takt&slag"
-
-#: gtk2_ardour/analysis_window.cc:46
-msgid "Signal source"
-msgstr "Signalkälla"
-
-#: gtk2_ardour/analysis_window.cc:47
-msgid "Selected ranges"
-msgstr "Valda omfång"
-
-#: gtk2_ardour/analysis_window.cc:48
-msgid "Selected regions"
-msgstr "Valda regioner"
-
-#: gtk2_ardour/analysis_window.cc:50
-msgid "Display model"
-msgstr "Visningsmodell"
-
-#: gtk2_ardour/analysis_window.cc:51
-msgid "Composite graphs for each track"
-msgstr "Sammansatt graf för varje spår"
-
-#: gtk2_ardour/analysis_window.cc:52
-msgid "Composite graph of all tracks"
-msgstr "Sammansatt graf för alla spår"
-
-#: gtk2_ardour/analysis_window.cc:54
-msgid "Show frequency power range"
-msgstr "Visa frekvenskraftsomfång"
-
-#: gtk2_ardour/analysis_window.cc:55
-msgid "Normalize values"
-msgstr "Normalisera värden"
-
-#: gtk2_ardour/analysis_window.cc:59 gtk2_ardour/analysis_window.cc:60
-msgid "FFT analysis window"
-msgstr "FFT-analysfönster"
-
-#: gtk2_ardour/analysis_window.cc:135
-msgid "Re-analyze data"
-msgstr "Återanalysera data"
-
-#: gtk2_ardour/ardour_ui_ed.cc:195
-msgid "Window"
-msgstr "Fönster"
-
-#: gtk2_ardour/ardour_ui_dependents.cc:74
-msgid "Setup Editor"
-msgstr "Förbereder redigeraren..."
-
-#: gtk2_ardour/ardour_ui_dependents.cc:76
-msgid "Setup Mixer"
-msgstr "Förbereder mixern..."
-
-#: gtk2_ardour/ardour_ui_dependents.cc:81
-msgid "Reload Session History"
-msgstr "Laddar sessionshistoriken..."
-
-#: gtk2_ardour/editor.cc:4571
-msgid "Please wait while Ardour loads visual data"
-msgstr "Vänta medan Ardour laddar visuell data..."
-
-#: gtk2_ardour/editor_actions.cc:368
-msgid "Toggle Opaque"
-msgstr "Växla genomskinligt"
-
-#: gtk2_ardour/editor_actions.cc:570
-msgid "Fit Selected Tracks"
-msgstr "Rym valda spår"
-
-#: gtk2_ardour/editor_actions.cc:299
-msgid "Zoom to Region (W&H)"
-msgstr "Zooma till region (bredd & höjd)"
-
-#: gtk2_ardour/editor_actions.cc:76
-msgid "Views"
-msgstr "Visningslägen"
-
-
-#: gtk2_ardour/editor_actions.cc:196
-msgid "Save View 1"
-msgstr "Spara läge 1"
-
-#: gtk2_ardour/editor_actions.cc:198
-msgid "Goto View 1"
-msgstr "Använd läge 1"
-
-#: gtk2_ardour/editor_actions.cc:200
-msgid "Save View 2"
-msgstr "Spara läge 2"
-
-#: gtk2_ardour/editor_actions.cc:202
-msgid "Goto View 2"
-msgstr "Använd läge 2 "
-
-#: gtk2_ardour/editor_actions.cc:204
-msgid "Save View 3"
-msgstr "Spara läge 3"
-
-#: gtk2_ardour/editor_actions.cc:206
-msgid "Goto View 3"
-msgstr "Använd läge 3"
-
-#: gtk2_ardour/editor_actions.cc:208
-msgid "Save View 4"
-msgstr "Spara läge 4"
-
-#: gtk2_ardour/editor_actions.cc:210
-msgid "Goto View 4"
-msgstr "Använd läge 4"
-
-#: gtk2_ardour/editor_actions.cc:212
-msgid "Save View 5"
-msgstr "Spara läge 5"
-
-#: gtk2_ardour/editor_actions.cc:214
-msgid "Goto View 5"
-msgstr "Använd läge 5"
-
-#: gtk2_ardour/editor_actions.cc:216
-msgid "Save View 6"
-msgstr "Spara läge 6"
-
-#: gtk2_ardour/editor_actions.cc:218
-msgid "Goto View 6"
-msgstr "Använd läge 6"
-
-#: gtk2_ardour/editor_actions.cc:220
-msgid "Save View 7"
-msgstr "Spara läge 7"
-
-#: gtk2_ardour/editor_actions.cc:222
-msgid "Goto View 7"
-msgstr "Använd läge 7"
-
-#: gtk2_ardour/editor_actions.cc:224
-msgid "Save View 8"
-msgstr "Spara läge 8"
-
-#: gtk2_ardour/editor_actions.cc:226
-msgid "Goto View 8"
-msgstr "Använd läge 8"
-
-#: gtk2_ardour/editor_actions.cc:228
-msgid "Save View 9"
-msgstr "Spara läge 9"
-
-#: gtk2_ardour/editor_actions.cc:230
-msgid "Goto View 9"
-msgstr "Använd läge 9"
-
-#: gtk2_ardour/editor_actions.cc:232
-msgid "Save View 10"
-msgstr "Spara läge 10"
-
-#: gtk2_ardour/editor_actions.cc:234
-msgid "Goto View 10"
-msgstr "Använd läge 10"
-
-#: gtk2_ardour/editor_actions.cc:236
-msgid "Save View 11"
-msgstr "Spara läge 11"
-
-#: gtk2_ardour/editor_actions.cc:238
-msgid "Goto View 11"
-msgstr "Använd läge 11"
-
-#: gtk2_ardour/editor_actions.cc:240
-msgid "Save View 12"
-msgstr "Spara läge 12"
-
-#: gtk2_ardour/editor_actions.cc:242
-msgid "Goto View 12"
-msgstr "Använd läge 12"
-
-#: gtk2_ardour/ardour_ui_ed.cc:462
-msgid "Name New Markers"
-msgstr "Namnge nya markörer"
-
-#: gtk2_ardour/editor_ops.cc:1900
-msgid "Name New Location Marker"
-msgstr "Namnge ny platsmarkör"
-
-#: gtk2_ardour/sfdb_ui.cc:513
-msgid "Search Freesound"
-msgstr "Sök i Freesound"
-
-#: gtk2_ardour/sfdb_ui.cc:480
-msgid "User:"
-msgstr "Användarnamn:"
-
-#: gtk2_ardour/sfdb_ui.cc:484
-msgid "Password:"
-msgstr "Lösenord:"
-
-#: gtk2_ardour/sfdb_ui.cc:400 gtk2_ardour/sfdb_ui.cc:789
-msgid "Start Downloading"
-msgstr "Ladda ner"
-
-#: gtk2_ardour/redirect_box.cc:1190
-msgid "New Plugin"
-msgstr "Nytt insticksprogram"
-
-#: gtk2_ardour/plugin_selector.cc:100
-msgid "Plugins to be connected"
-msgstr "Insticksprogram att ansluta"
-
-#: gtk2_ardour/plugin_selector.cc:156
-msgid "Insert Plugin(s)"
-msgstr "Infoga"
-
-#: gtk2_ardour/plugin_selector.cc:501
-msgid "Favorites"
-msgstr "Favoriter"
-
-#: gtk2_ardour/plugin_selector.cc:502
-msgid "Plugin Manager"
-msgstr "Insticksprogram"
-
-#: gtk2_ardour/plugin_selector.cc:77
-msgid "Fav"
-msgstr ""
-
-#: gtk2_ardour/plugin_selector.cc:78
-msgid "Available Plugins"
-msgstr "Tillgängliga insticksprogram"
-
-#: gtk2_ardour/plugin_selector.cc:80
-msgid "Category"
-msgstr "Kategori"
-
-#: gtk2_ardour/plugin_selector.cc:81
-msgid "Creator"
-msgstr "Upphovsperson"
-
-#: gtk2_ardour/plugin_selector.cc:51 gtk2_ardour/plugin_selector.cc:209
-msgid "Name contains"
-msgstr "Namn innehåller"
-
-#: gtk2_ardour/plugin_selector.cc:52 gtk2_ardour/plugin_selector.cc:211
-msgid "Type contains"
-msgstr "Typ innehåller"
-
-#: gtk2_ardour/plugin_selector.cc:53 gtk2_ardour/plugin_selector.cc:213
-msgid "Author contains"
-msgstr "Upphovsperson innehåller"
-
-#: gtk2_ardour/plugin_selector.cc:54 gtk2_ardour/plugin_selector.cc:215
-msgid "Library contains"
-msgstr "Bibliotek innehåller"
-
-#: gtk2_ardour/plugin_selector.cc:55 gtk2_ardour/plugin_selector.cc:203
-#: gtk2_ardour/plugin_selector.cc:451
-msgid "Favorites only"
-msgstr "Endast favoriter"
->>>>>>> .merge-right.r3622