mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-21 22:26:29 +01:00
In export format dialog, show preview of generated part of description. Fix to #0004941
git-svn-id: svn://localhost/ardour2/branches/3.0@12911 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
e58e614f20
commit
04416e2d1d
6 changed files with 57 additions and 7 deletions
|
|
@ -85,6 +85,7 @@ class ExportFormatManager : public PBD::ScopedConnectionList
|
|||
/* Signals */
|
||||
|
||||
PBD::Signal1<void,bool> CompleteChanged;
|
||||
PBD::Signal0<void> DescriptionChanged;
|
||||
|
||||
/* Access to lists */
|
||||
|
||||
|
|
@ -142,6 +143,7 @@ class ExportFormatManager : public PBD::ScopedConnectionList
|
|||
|
||||
bool pending_selection_change;
|
||||
void selection_changed ();
|
||||
void check_for_description_change ();
|
||||
|
||||
/* Formats and compatibilities */
|
||||
|
||||
|
|
@ -154,13 +156,15 @@ class ExportFormatManager : public PBD::ScopedConnectionList
|
|||
ExportFormatBasePtr get_compatibility_intersection ();
|
||||
|
||||
ExportFormatBasePtr universal_set;
|
||||
ExportFormatSpecPtr current_selection;
|
||||
ExportFormatSpecPtr current_selection;
|
||||
|
||||
CompatList compatibilities;
|
||||
QualityList qualities;
|
||||
FormatList formats;
|
||||
SampleRateList sample_rates;
|
||||
|
||||
std::string prev_description;
|
||||
|
||||
};
|
||||
|
||||
} // namespace ARDOUR
|
||||
|
|
|
|||
|
|
@ -103,7 +103,7 @@ class ExportFormatSpecification : public ExportFormatBase {
|
|||
|
||||
PBD::UUID const & id () { return _id; }
|
||||
std::string const & name () const { return _name; }
|
||||
std::string description ();
|
||||
std::string description (bool include_name = true);
|
||||
|
||||
bool has_broadcast_info () const { return _has_broadcast_info; }
|
||||
uint32_t channel_limit () const { return _channel_limit; }
|
||||
|
|
|
|||
|
|
@ -40,6 +40,8 @@ ExportFormatManager::ExportFormatManager (ExportFormatSpecPtr specification) :
|
|||
init_qualities ();
|
||||
init_formats ();
|
||||
init_sample_rates ();
|
||||
|
||||
prev_description = current_selection->description();
|
||||
}
|
||||
|
||||
ExportFormatManager::~ExportFormatManager ()
|
||||
|
|
@ -255,66 +257,77 @@ void
|
|||
ExportFormatManager::set_name (string name)
|
||||
{
|
||||
current_selection->set_name (name);
|
||||
check_for_description_change ();
|
||||
}
|
||||
|
||||
void
|
||||
ExportFormatManager::select_src_quality (ExportFormatBase::SRCQuality value)
|
||||
{
|
||||
current_selection->set_src_quality (value);
|
||||
check_for_description_change ();
|
||||
}
|
||||
|
||||
void
|
||||
ExportFormatManager::select_with_cue (bool value)
|
||||
{
|
||||
current_selection->set_with_cue (value);
|
||||
check_for_description_change ();
|
||||
}
|
||||
|
||||
void
|
||||
ExportFormatManager::select_with_toc (bool value)
|
||||
{
|
||||
current_selection->set_with_toc (value);
|
||||
check_for_description_change ();
|
||||
}
|
||||
|
||||
void
|
||||
ExportFormatManager::select_trim_beginning (bool value)
|
||||
{
|
||||
current_selection->set_trim_beginning (value);
|
||||
check_for_description_change ();
|
||||
}
|
||||
|
||||
void
|
||||
ExportFormatManager::select_silence_beginning (AnyTime const & time)
|
||||
{
|
||||
current_selection->set_silence_beginning (time);
|
||||
check_for_description_change ();
|
||||
}
|
||||
|
||||
void
|
||||
ExportFormatManager::select_trim_end (bool value)
|
||||
{
|
||||
current_selection->set_trim_end (value);
|
||||
check_for_description_change ();
|
||||
}
|
||||
|
||||
void
|
||||
ExportFormatManager::select_silence_end (AnyTime const & time)
|
||||
{
|
||||
current_selection->set_silence_end (time);
|
||||
check_for_description_change ();
|
||||
}
|
||||
|
||||
void
|
||||
ExportFormatManager::select_normalize (bool value)
|
||||
{
|
||||
current_selection->set_normalize (value);
|
||||
check_for_description_change ();
|
||||
}
|
||||
|
||||
void
|
||||
ExportFormatManager::select_normalize_target (float value)
|
||||
{
|
||||
current_selection->set_normalize_target (value);
|
||||
check_for_description_change ();
|
||||
}
|
||||
|
||||
void
|
||||
ExportFormatManager::select_tagging (bool tag)
|
||||
{
|
||||
current_selection->set_tag (tag);
|
||||
check_for_description_change ();
|
||||
}
|
||||
|
||||
void
|
||||
|
|
@ -694,15 +707,26 @@ ExportFormatManager::selection_changed ()
|
|||
|
||||
}
|
||||
|
||||
/* Signal completeness */
|
||||
/* Signal completeness and possible description change */
|
||||
|
||||
CompleteChanged (current_selection->is_complete());
|
||||
check_for_description_change ();
|
||||
|
||||
/* Reset pending state */
|
||||
|
||||
pending_selection_change = false;
|
||||
}
|
||||
|
||||
void
|
||||
ExportFormatManager::check_for_description_change ()
|
||||
{
|
||||
std::string new_description = current_selection->description();
|
||||
if (new_description == prev_description) { return; }
|
||||
|
||||
prev_description = new_description;
|
||||
DescriptionChanged();
|
||||
}
|
||||
|
||||
ExportFormatManager::QualityPtr
|
||||
ExportFormatManager::get_selected_quality ()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -524,11 +524,13 @@ ExportFormatSpecification::set_format (boost::shared_ptr<ExportFormat> format)
|
|||
}
|
||||
|
||||
string
|
||||
ExportFormatSpecification::description ()
|
||||
ExportFormatSpecification::description (bool include_name)
|
||||
{
|
||||
string desc;
|
||||
|
||||
desc = _name + ": ";
|
||||
if (include_name) {
|
||||
desc = _name + ": ";
|
||||
}
|
||||
|
||||
if (_normalize) {
|
||||
desc += _("normalize, ");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue