21 #include <gtkmm/button.h>
47 set_name (
"PlaylistSelectorWindow");
49 add_events (Gdk::KEY_PRESS_MASK|Gdk::KEY_RELEASE_MASK);
50 set_size_request (300, 200);
57 scroller.set_policy (POLICY_AUTOMATIC, POLICY_AUTOMATIC);
59 get_vbox()->set_border_width (6);
60 get_vbox()->set_spacing (12);
64 Button* b = add_button (
_(
"Close"), RESPONSE_CANCEL);
77 for (TrackPlaylistMap::iterator x =
trpl_map.begin(); x !=
trpl_map.end(); ++x) {
90 return Dialog::on_unmap_event (ev);
96 vector<const char*> item;
112 TreeModel::Row others = *(
model->append ());
118 for (TrackPlaylistMap::iterator x =
trpl_map.begin(); x !=
trpl_map.end(); ++x) {
138 if (tr->
name().empty()) {
139 nodename =
_(
"unassigned");
141 nodename = tr->
name().c_str();
145 TreeModel::Row selected_row;
146 bool have_selected =
false;
149 if (tr == this_track) {
150 row = *(
model->prepend());
155 row = *(
model->append (others.children()));
163 list<boost::shared_ptr<Playlist> >* pls = x->second;
167 TreeModel::Row child_row;
169 child_row = *(
model->append (row.children()));
174 selected_row = child_row;
175 have_selected =
true;
180 tree.get_selection()->select (selected_row);
185 list<boost::shared_ptr<Playlist> > unassigned;
189 TreeModel::Row selected_row;
190 bool have_selected =
false;
193 row = *(
model->append (others.children()));
199 TreeModel::Row child_row;
201 child_row = *(
model->append (row.children()));
206 selected_row = child_row;
207 have_selected =
true;
211 tree.get_selection()->select (selected_row);
228 if ((apl = boost::dynamic_pointer_cast<AudioPlaylist> (pl)) == 0) {
232 TrackPlaylistMap::iterator x;
238 x->second->push_back (pl);
253 TreeModel::iterator iter =
tree.get_selection()->get_selected();
255 if (!iter ||
rui == 0) {
270 if ((apl = boost::dynamic_pointer_cast<AudioPlaylist> (playlist)) == 0) {
Gtk::TreeModelColumn< boost::shared_ptr< ARDOUR::Playlist > > playlist
boost::shared_ptr< Track > track_by_diskstream_id(PBD::ID)
boost::shared_ptr< Route > route_by_id(PBD::ID)
Glib::RefPtr< Gtk::TreeStore > model
shared_ptr< T > dynamic_pointer_cast(shared_ptr< U > const &r)
bool on_unmap_event(GdkEventAny *)
TrackPlaylistMap trpl_map
const PBD::ID & get_orig_track_id() const
int use_playlist(boost::shared_ptr< Playlist >)
WM::ProxyTemporary * proxy
boost::shared_ptr< ARDOUR::Track > track() const
boost::shared_ptr< Playlist > playlist()
Gtk::TreeModelColumn< std::string > text
Gtk::ScrolledWindow scroller
void add_playlist_to_map(boost::shared_ptr< ARDOUR::Playlist >)
void close_button_click()
boost::shared_ptr< SessionPlaylists > playlists
boost::shared_ptr< ARDOUR::AudioTrack > audio_track() const
sigc::connection select_connection
ARDOUR::Session * _session
boost::shared_ptr< ARDOUR::Route > route() const
std::string string_compose(const std::string &fmt, const T1 &o1)