#include <sstream>
#include <gtkmm2ext/utils.h>
-#include <gtkmm2ext/window_title.h>
#include "pbd/xml++.h"
#include "ardour/session.h"
/*** MetadataField ***/
-MetadataField::MetadataField (ustring const & field_name) :
+MetadataField::MetadataField (string const & field_name) :
_name (field_name)
{
}
/* TextMetadataField */
-TextMetadataField::TextMetadataField (Getter getter, Setter setter, ustring const & field_name, guint width ) :
+TextMetadataField::TextMetadataField (Getter getter, Setter setter, string const & field_name, guint width ) :
MetadataField (field_name),
getter (getter),
setter (setter),
/* NumberMetadataField */
-NumberMetadataField::NumberMetadataField (Getter getter, Setter setter, ustring const & field_name, guint numbers, guint width) :
+NumberMetadataField::NumberMetadataField (Getter getter, Setter setter, string const & field_name, guint numbers, guint width) :
MetadataField (field_name),
getter (getter),
setter (setter),
return *entry;
}
-ustring
+string
NumberMetadataField::uint_to_str (uint32_t i) const
{
std::ostringstream oss ("");
}
uint32_t
-NumberMetadataField::str_to_uint (ustring const & str) const
+NumberMetadataField::str_to_uint (string const & str) const
{
- ustring tmp (str);
- ustring::size_type i;
- while ((i = tmp.find_first_not_of("1234567890")) != ustring::npos) {
+ string tmp (str);
+ string::size_type i;
+ while ((i = tmp.find_first_not_of("1234567890")) != string::npos) {
tmp.erase (i, 1);
}
/* SessionMetadataSet */
-SessionMetadataSet::SessionMetadataSet (ustring const & name) :
- name (name)
+SessionMetadataSet::SessionMetadataSet (string const & name)
+ : name (name)
{
- session = 0;
}
void
/* SessionMetadataSetEditable */
-SessionMetadataSetEditable::SessionMetadataSetEditable (ustring const & name) :
- SessionMetadataSet (name)
+SessionMetadataSetEditable::SessionMetadataSetEditable (string const & name)
+ : SessionMetadataSet (name)
{
table.set_row_spacings (6);
table.set_col_spacings (12);
void
SessionMetadataSetEditable::set_session (ARDOUR::Session * s)
{
- session = s;
+ SessionHandlePtr::set_session (s);
- ARDOUR::SessionMetadata const & data = session->metadata();
+ if (!_session) {
+ return;
+ }
+
+ ARDOUR::SessionMetadata const & data = _session->metadata();
table.resize (list.size(), 2);
uint32_t row = 0;
void
SessionMetadataSetEditable::save_data ()
{
- ARDOUR::SessionMetadata & data = session->metadata();
+ ARDOUR::SessionMetadata & data = _session->metadata();
for (DataList::const_iterator it = list.begin(); it != list.end(); ++it) {
(*it)->save_data(data);
}
/* SessionMetadataSetImportable */
-SessionMetadataSetImportable::SessionMetadataSetImportable (ustring const & name) :
- SessionMetadataSet (name),
- session_list (list)
+SessionMetadataSetImportable::SessionMetadataSetImportable (string const & name)
+ : SessionMetadataSet (name)
+ , session_list (list)
{
tree = Gtk::ListStore::create (tree_cols);
tree_view.set_model (tree);
tree_view.append_column (*viewcol);
select_all_check.signal_toggled().connect (sigc::mem_fun(*this, &SessionMetadataSetImportable::select_all));
-
- session = 0;
}
Gtk::Widget &
void
SessionMetadataSetImportable::load_extra_data (ARDOUR::SessionMetadata const & data)
{
- if (!session) {
+ if (!_session) {
std::cerr << "Programming error: no session set for SessionMetaDataSetImportable (in load_data)!" << std::endl;
return;
}
- ARDOUR::SessionMetadata & session_data = session->metadata();
+ ARDOUR::SessionMetadata & session_data = _session->metadata();
MetadataPtr session_field;
MetadataPtr import_field;
import_field->load_data(data); // hasn't been done yet
// Make string for values TODO get color from somewhere?
- ustring values = "<span weight=\"ultralight\" color=\"#777\">" + session_field->value() + "</span>\n"
- + "<span weight=\"bold\">" + import_field->value() + "</span>";
+ string values = "<span weight=\"ultralight\" color=\"#777\">" + session_field->value() + "</span>\n"
+ + "<span weight=\"bold\">" + import_field->value() + "</span>";
Gtk::TreeModel::iterator row_iter = tree->append();
Gtk::TreeModel::Row row = *row_iter;
void
SessionMetadataSetImportable::save_data ()
{
- if (!session) {
+ if (!_session) {
std::cerr << "Programming error: no session set for SessionMetaDataSetImportable (in import_data)!" << std::endl;
return;
}
- ARDOUR::SessionMetadata & session_data = session->metadata();
+ ARDOUR::SessionMetadata & session_data = _session->metadata();
Gtk::TreeModel::Children fields = tree->children();
Gtk::TreeModel::Children::iterator it;
}
void
-SessionMetadataSetImportable::selection_changed (ustring const & path)
+SessionMetadataSetImportable::selection_changed (string const & path)
{
select_all_check.set_inconsistent (true);
/* SessionMetadataDialog */
template <typename DataSet>
-SessionMetadataDialog<DataSet>::SessionMetadataDialog (ustring const & name) :
+SessionMetadataDialog<DataSet>::SessionMetadataDialog (string const & name) :
ArdourDialog (name, true)
{
cancel_button = add_button (Gtk::Stock::CANCEL, Gtk::RESPONSE_CANCEL);
- cancel_button->signal_clicked().connect (mem_fun(*this, &SessionMetadataDialog::end_dialog));
+ cancel_button->signal_clicked().connect (sigc::mem_fun(*this, &SessionMetadataDialog::end_dialog));
save_button = add_button (Gtk::Stock::SAVE, Gtk::RESPONSE_ACCEPT);
- save_button->signal_clicked().connect (mem_fun(*this, &SessionMetadataDialog::save_and_close));
+ save_button->signal_clicked().connect (sigc::mem_fun(*this, &SessionMetadataDialog::save_and_close));
}
template <typename DataSet>
void
SessionMetadataDialog<DataSet>::init_data ()
{
- if (!session) {
+ if (!_session) {
std::cerr << "Programming error: no session set for SessionMetaDataDialog (in init_data)!" << std::endl;
return;
}
init_people_data ();
for (DataSetList::iterator it = data_list.begin(); it != data_list.end(); ++it) {
- (*it)->set_session (session);
+ (*it)->set_session (_session);
notebook.append_page ((*it)->get_widget(), (*it)->get_tab_widget());
}
template <typename DataSet>
void
-SessionMetadataDialog<DataSet>::warn_user (ustring const & string)
+SessionMetadataDialog<DataSet>::warn_user (string const & string)
{
Gtk::MessageDialog msg (string, false, Gtk::MESSAGE_WARNING, Gtk::BUTTONS_OK, true);
msg.run();
/* SessionMetadataEditor */
SessionMetadataEditor::SessionMetadataEditor () :
- SessionMetadataDialog<SessionMetadataSetEditable> (_("Edit session metadata"))
+ SessionMetadataDialog<SessionMetadataSetEditable> (_("Edit Session Metadata"))
{
}
void
SessionMetadataImporter::run ()
{
- if (!session) {
+ if (!_session) {
std::cerr << "Programming error: no session set for SessionMetaDataImporter (in run)!" << std::endl;
return;
}
Gtk::FileFilter session_filter;
session_filter.add_pattern ("*.ardour");
- session_filter.set_name (_("Ardour sessions"));
+ session_filter.set_name (string_compose (_("%1 sessions"), PROGRAM_NAME));
session_selector.add_filter (session_filter);
session_selector.set_filter (session_filter);
string filename = Glib::build_filename (path, name + ".ardour");
XMLTree session_tree;
if (!session_tree.read (filename)) {
- warn_user (_("A proper ardour session file was not selected!"));
+ warn_user (_("This session file could not be read!"));
return;
}