50 , item_table (1, 6, false)
51 , start_clock (
X_(
"locationstart"), true,
"", true, false)
52 , start_to_playhead_button (
_(
"Use PH"))
53 , end_clock (
X_(
"locationend"), true,
"", true, false)
54 , end_to_playhead_button (
_(
"Use PH"))
55 , length_clock (
X_(
"locationlength"), true,
"", true, false, true)
56 , cd_check_button (
_(
"CD"))
57 , hide_check_button (
_(
"Hide"))
58 , lock_check_button (
_(
"Lock"))
59 , glue_check_button (
_(
"Glue"))
64 remove_button.set_image (*manage (
new Image (Stock::REMOVE, Gtk::ICON_SIZE_MENU)));
77 isrc_label.set_name (
"LocationEditNumberLabel");
104 Gtk::HBox* front_spacing = manage (
new HBox);
105 front_spacing->set_size_request (20, -1);
106 Gtk::HBox* mid_spacing = manage (
new HBox);
107 mid_spacing->set_size_request (20, -1);
137 VBox *rbox = manage (
new VBox);
140 item_table.attach (*rbox, 0, 1, 0, 1, FILL, Gtk::AttachOptions (0), 4, 0);
203 SessionHandlePtr::set_session (sess);
430 if (Keyboard::is_button2_event (ev)) {
499 error <<
_(
"You cannot put a CD marker at the start of the session") <<
endmsg;
725 : add_location_button (
_(
"New Marker"))
726 , add_range_button (
_(
"New Range"))
732 VBox* vbox = manage (
new VBox);
734 Table* table = manage (
new Table (2, 2));
735 table->set_spacings (2);
736 table->set_col_spacing (0, 32);
739 Label* l = manage (
new Label (
_(
"<b>Loop/Punch Ranges</b>")));
740 l->set_alignment (0, 0.5);
741 l->set_use_markup (
true);
742 table->attach (*l, 0, 2, table_row, table_row + 1);
754 vbox->pack_start (*table,
false,
false);
756 table = manage (
new Table (3, 2));
757 table->set_spacings (2);
758 table->set_col_spacing (0, 32);
761 table->attach (*manage (
new Label (
"")), 0, 2, table_row, table_row + 1, Gtk::SHRINK, Gtk::SHRINK);
764 l = manage (
new Label (
_(
"<b>Markers (Including CD Index)</b>")));
765 l->set_alignment (0, 0.5);
766 l->set_use_markup (
true);
767 table->attach (*l, 0, 2, table_row, table_row + 1, Gtk::FILL | Gtk::EXPAND, Gtk::SHRINK);
786 table->attach (
loc_frame_box, 0, 2, table_row, table_row + 1);
791 table = manage (
new Table (3, 2));
792 table->set_spacings (2);
793 table->set_col_spacing (0, 32);
796 table->attach (*manage (
new Label (
"")), 0, 2, table_row, table_row + 1, Gtk::SHRINK, Gtk::SHRINK);
799 l = manage (
new Label (
_(
"<b>Ranges (Including CD Track Ranges)</b>")));
800 l->set_alignment (0, 0.5);
801 l->set_use_markup (
true);
802 table->attach (*l, 0, 2, table_row, table_row + 1, Gtk::FILL | Gtk::EXPAND, Gtk::SHRINK);
823 HBox* add_button_box = manage (
new HBox);
828 vbox->pack_start (*add_button_box,
false,
false);
911 Locations::LocationList::iterator i = loc.begin ();
912 Box_Helpers::BoxList::iterator j = children.begin ();
913 while (i != loc.end()) {
915 if (location->
flags() != (*i)->flags()) {
921 if (*i == location) {
922 children.insert (j, Box_Helpers::Element (*erow, PACK_SHRINK, 1, PACK_START));
928 if (j != children.end()) {
954 for (Box_Helpers::BoxList::iterator i = children.begin(); i != children.end(); ++i) {
967 Locations::LocationList::iterator i;
975 for (n = 0, i = temp.begin(); i != temp.end(); ++n, ++i) {
986 Box_Helpers::BoxList & loc_children =
location_rows.children();
987 loc_children.push_back(Box_Helpers::Element(*erow, PACK_SHRINK, 1, PACK_START));
1002 Box_Helpers::BoxList & range_children =
range_rows.children();
1003 range_children.push_back(Box_Helpers::Element(*erow, PACK_SHRINK, 1, PACK_START));
1055 using namespace Box_Helpers;
1063 BoxList & range_children =
range_rows.children();
1065 loc_children.clear();
1066 range_children.clear();
1076 SessionHandlePtr::set_session (s);
1097 using namespace Box_Helpers;
1099 BoxList & range_children =
range_rows.children();
1101 loc_children.clear();
1102 range_children.clear();
1110 SessionHandlePtr::session_going_away ();
1143 set_wmclass(
X_(
"ardour_locations"), PROGRAM_NAME);
1144 set_name (
"LocationWindow");
1156 ArdourWindow::on_map ();
int next_available_name(std::string &result, std::string base)
framepos_t audible_frame() const
framepos_t current_time(framepos_t position=0) const
ARDOUR::Location * get_location()
AudioClock::Mode clock_mode_from_session_instant_xml() const
Gtk::CheckButton preemph_check_button
void set_session(ARDOUR::Session *)
void set_clock_group(ClockGroup &)
void set(framepos_t, bool force=false, ARDOUR::framecnt_t offset=0)
Gtk::VBox range_frame_box
virtual void session_going_away()
Gtk::CheckButton glue_check_button
const std::string & value() const
void set_session(ARDOUR::Session *s)
std::list< Location * > LocationList
PBD::Signal1< void, Location * > added
gint do_location_remove(ARDOUR::Location *)
void name_entry_changed()
Gtk::VPaned loc_range_panes
Gtk::CheckButton hide_check_button
void set_name(const std::string &str)
static ARDOUR_UI * instance()
PBD::Signal0< void > LockChanged
void add_command(Command *const cmd)
guint32 i_am_the_modifier
bool operator()(Location *a, Location *b)
Gtk::Label composer_label
Gtk::ScrolledWindow location_rows_scroller
LIBPBD_API Transmitter error
virtual ~LocationEditRow()
std::ostream & endmsg(std::ostream &ostr)
bool is_cd_marker() const
void request_locate(framepos_t frame, bool with_roll=false)
Gtk::Button add_range_button
#define ENSURE_GUI_THREAD(obj, method,...)
guint32 i_am_the_modifier
ClockGroup * _clock_group
bool is_session_range() const
MainClock * secondary_clock
void isrc_entry_changed()
PBD::ScopedConnectionList connections
void composer_entry_changed()
void session_going_away()
Gtk::HBox cd_track_details_hbox
PositionLockStyle position_lock_style() const
XMLNode & get_state() const
XMLProperty * property(const char *)
PBD::Signal0< void > PositionLockStyleChanged
#define string_2_enum(str, e)
std::map< std::string, std::string > cd_info
bool is_auto_punch() const
void set_clock_editable_status()
PBD::Signal1< void, Location * > removed
PBD::Signal0< void > FlagsChanged
const LocationList & list()
Gtk::Button start_to_playhead_button
void set_session(ARDOUR::Session *)
framepos_t transport_frame() const
void session_going_away()
LocationEditRow punch_edit_row
Gtk::CheckButton scms_check_button
void show_cd_track_details()
virtual void begin_reversible_command(std::string cmd_name)=0
sigc::signal< void > redraw_ranges
virtual void commit_reversible_command()=0
bool on_delete_event(GdkEventAny *)
void refresh_location_list()
void clock_changed(LocationPart part)
Gtk::Label performer_label
void map_locations(const ARDOUR::Locations::LocationList &)
Gtk::Tooltips & tooltips()
PBD::Signal0< void > NameChanged
PBD::ScopedConnectionList _session_connections
LocationEditRow(ARDOUR::Session *sess=0, ARDOUR::Location *loc=0, int32_t num=-1)
sigc::signal< void > ValueChanged
void set_tip(Gtk::Widget &w, const gchar *tip)
int set_start(framepos_t s, bool force=false, bool allow_bbt_recompute=true)
void set_location(ARDOUR::Location *)
XMLProperty * add_property(const char *name, const std::string &value)
void performer_entry_changed()
void add(Location *, bool make_current=false)
static PublicEditor & instance()
Gtk::Button add_location_button
Gtk::Entry performer_entry
XMLNode & get_state(void)
ClockGroup * _clock_group
const std::string & name() const
void set_cd(bool yn, void *src)
void location_added(ARDOUR::Location *)
void remove(AudioClock &)
XMLNode * instant_xml(const std::string &str)
framepos_t current_start_frame() const
static UIConfiguration * config()
void location_redraw_ranges()
ARDOUR::Location * location
LocationEditRow loop_edit_row
framecnt_t length() const
PBD::Signal0< void > EndChanged
sigc::signal< void, ARDOUR::Location * > remove_requested
framepos_t current_duration(framepos_t position=0) const
PBD::Signal0< void > StartChanged
Gtk::Entry composer_entry
void location_removed(ARDOUR::Location *)
AudioClock::Mode clock_mode() const
bool is_range_marker() const
virtual void set_session(ARDOUR::Session *)
void position_lock_style_changed()
Gtk::CheckButton cd_check_button
bool locate_to_clock(GdkEventButton *, AudioClock *)
Gtk::Button remove_button
bool is_auto_loop() const
Gtk::ScrolledWindow range_rows_scroller
void apply(T &obj, void(T::*method)(const LocationList &)) const
void to_playhead_button_pressed(LocationPart part)
void set_editable(bool yn)
void set_hidden(bool yn, void *src)
ARDOUR::Session * _session
void set_session(ARDOUR::Session *)
void location_remove_requested(ARDOUR::Location *)
PBD::Signal0< void > changed
int set_end(framepos_t e, bool force=false, bool allow_bbt_recompute=true)
std::string string_compose(const std::string &fmt, const T1 &o1)
ARDOUR::Location * newest_location
PBD::Signal0< void > Changed
Gtk::Button end_to_playhead_button
void remove_button_pressed()
Gtk::CheckButton lock_check_button
void set_position_lock_style(PositionLockStyle ps)
void set_clock_mode(AudioClock::Mode)