34 #include <sigc++/signal.h>
37 #include <ytkmm/alignment.h>
38 #include <ytkmm/box.h>
39 #include <ytkmm/cellrenderercombo.h>
40 #include <ytkmm/checkbutton.h>
41 #include <ytkmm/label.h>
42 #include <ytkmm/liststore.h>
43 #include <ytkmm/scrolledwindow.h>
44 #include <ytkmm/spinbutton.h>
45 #include <ytkmm/treemodel.h>
46 #include <ytkmm/treeview.h>
52 class ExportChannelConfiguration;
53 class RegionExportChannelFactory;
136 Gtk::TreeModelColumn<std::string>
name;
137 Gtk::TreeModelColumn<ARDOUR::IO *>
io;
141 typedef Gtk::TreeModelColumn<Glib::RefPtr<Gtk::ListStore> >
ComboCol;
150 Gtk::TreeModelColumn<std::weak_ptr<ARDOUR::AudioPort> >
port;
151 Gtk::TreeModelColumn<std::string>
label;
162 class PortCols :
public Gtk::TreeModel::ColumnRecord
168 Gtk::TreeModelColumn<std::weak_ptr<ARDOUR::AudioPort> >
port;
169 Gtk::TreeModelColumn<std::string>
label;
234 std::shared_ptr<ARDOUR::RegionExportChannelFactory>
factory;
273 Gtk::TreeModelColumn<std::shared_ptr<ARDOUR::Route> >
route;
274 Gtk::TreeModelColumn<std::string>
label;
std::shared_ptr< ChannelConfigState > ChannelConfigStatePtr
virtual ARDOUR::Session * session() const
virtual bool channel_limit_reached() const =0
sigc::signal< void > CriticalSelectionChanged
std::shared_ptr< ARDOUR::ExportChannelConfiguration > ChannelConfigPtr
ProfileManagerPtr manager
std::shared_ptr< ARDOUR::ExportProfileManager > ProfileManagerPtr
virtual ~ExportChannelSelector()
ExportChannelSelector(ARDOUR::Session *session, ProfileManagerPtr manager)
virtual void sync_with_manager()=0
std::list< ChannelConfigPtr > ChannelConfigList
Glib::RefPtr< Gtk::ListStore > route_list
sigc::signal< void > CriticalSelectionChanged
uint32_t channel_count() const
void update_toggle_selection(std::string const &path)
void update_selection_text(std::string const &path, std::string const &new_text, uint32_t channel)
uint32_t max_route_channel_count() const
void set_channel_count(uint32_t channels)
void add_route(ARDOUR::IO *route)
void set_config(ChannelConfigPtr c)
ChannelTreeView(uint32_t max_channels)
Gtk::TreeModelColumn< bool > selected
Gtk::TreeModelColumn< std::string > label
Gtk::TreeModelColumn< std::weak_ptr< ARDOUR::AudioPort > > port
Gtk::TreeModelColumn< bool > selected
Gtk::TreeModelColumn< Glib::RefPtr< Gtk::ListStore > > ComboCol
Channel & get_channel(uint32_t channel)
Gtk::TreeModelColumn< ARDOUR::IO * > io
Gtk::TreeModelColumn< std::string > name
std::list< Channel > channels
void add_channels(uint32_t chans)
Gtk::Label channels_label
ARDOUR::ExportProfileManager::ChannelConfigStatePtr state
Gtk::CheckButton split_checkbox
bool channel_limit_reached() const
void update_split_state()
Gtk::Alignment channel_alignment
~PortExportChannelSelector()
void update_channel_count()
std::list< ARDOUR::ExportChannelPtr > CahnnelList
ChannelTreeView channel_view
Gtk::SpinButton channels_spinbutton
PortExportChannelSelector(ARDOUR::Session *session, ProfileManagerPtr manager)
Gtk::ScrolledWindow channel_scroller
ARDOUR::AudioRegion const & region
std::shared_ptr< ARDOUR::RegionExportChannelFactory > factory
RegionExportChannelSelector(ARDOUR::Session *session, ProfileManagerPtr manager, ARDOUR::AudioRegion const ®ion, ARDOUR::AudioTrack &track)
Gtk::RadioButtonGroup type_group
bool channel_limit_reached() const
Gtk::RadioButton raw_button
Gtk::RadioButton fades_button
ARDOUR::AudioTrack & track
ARDOUR::ExportProfileManager::ChannelConfigStatePtr state
virtual void sync_with_manager()
TrackExportChannelSelector(ARDOUR::Session *session, ProfileManagerPtr manager)
Gtk::CheckMenuItem * exclude_muted
~TrackExportChannelSelector()
ChannelConfigList configs
bool channel_limit_reached() const
bool sync_with_manager_state()
Gtk::ScrolledWindow track_scroller
void track_outputs_selected()
bool track_output() const
void add_track(std::shared_ptr< ARDOUR::Route > route, bool selected)
bool _syncing_with_manager
Gtk::CheckMenuItem * exclude_hidden
Glib::RefPtr< Gtk::ListStore > track_list
ArdourWidgets::ArdourDropdown select_menu
Gtk::CheckButton track_output_button
PBD::PropertyDescriptor< bool > selected
Gtk::TreeModelColumn< std::string > label
Gtk::TreeModelColumn< std::weak_ptr< ARDOUR::AudioPort > > port
Gtk::TreeModelColumn< std::shared_ptr< ARDOUR::Route > > route
Gtk::TreeModelColumn< bool > selected
Gtk::TreeModelColumn< std::string > label
Gtk::TreeModelColumn< uint32_t > order_key