UI updates for detailed export state.
This commit is contained in:
parent
c00a07e811
commit
d56a44bf36
|
@ -339,16 +339,31 @@ gint
|
||||||
ExportDialog::progress_timeout ()
|
ExportDialog::progress_timeout ()
|
||||||
{
|
{
|
||||||
std::string status_text;
|
std::string status_text;
|
||||||
float progress = 0.0;
|
float progress = -1;
|
||||||
if (status->normalizing) {
|
switch (status->active_job) {
|
||||||
status_text = string_compose (_("Normalizing '%3' (timespan %1 of %2)"),
|
case ExportStatus::Exporting:
|
||||||
status->timespan, status->total_timespans, status->timespan_name);
|
|
||||||
progress = ((float) status->current_normalize_cycle) / status->total_normalize_cycles;
|
|
||||||
} else {
|
|
||||||
status_text = string_compose (_("Exporting '%3' (timespan %1 of %2)"),
|
status_text = string_compose (_("Exporting '%3' (timespan %1 of %2)"),
|
||||||
status->timespan, status->total_timespans, status->timespan_name);
|
status->timespan, status->total_timespans, status->timespan_name);
|
||||||
progress = ((float) status->processed_frames_current_timespan) / status->total_frames_current_timespan;
|
progress = ((float) status->processed_frames_current_timespan) / status->total_frames_current_timespan;
|
||||||
|
break;
|
||||||
|
case ExportStatus::Normalizing:
|
||||||
|
status_text = string_compose (_("Normalizing '%3' (timespan %1 of %2)"),
|
||||||
|
status->timespan, status->total_timespans, status->timespan_name);
|
||||||
|
progress = ((float) status->current_normalize_cycle) / status->total_normalize_cycles;
|
||||||
|
break;
|
||||||
|
case ExportStatus::Tagging:
|
||||||
|
status_text = string_compose (_("Tagging '%3' (timespan %1 of %2)"),
|
||||||
|
status->timespan, status->total_timespans, status->timespan_name);
|
||||||
|
break;
|
||||||
|
case ExportStatus::Uploading:
|
||||||
|
status_text = string_compose (_("Uploading '%3' (timespan %1 of %2)"),
|
||||||
|
status->timespan, status->total_timespans, status->timespan_name);
|
||||||
|
break;
|
||||||
|
case ExportStatus::Command:
|
||||||
|
status_text = string_compose (_("Running Post Export Command for '%1'"), status->timespan_name);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
progress_bar.set_text (status_text);
|
progress_bar.set_text (status_text);
|
||||||
|
|
||||||
if (progress < previous_progress) {
|
if (progress < previous_progress) {
|
||||||
|
@ -358,7 +373,12 @@ ExportDialog::progress_timeout ()
|
||||||
}
|
}
|
||||||
previous_progress = progress;
|
previous_progress = progress;
|
||||||
|
|
||||||
progress_bar.set_fraction (progress);
|
if (progress >= 0) {
|
||||||
|
progress_bar.set_fraction (progress);
|
||||||
|
} else {
|
||||||
|
progress_bar.set_pulse_step(.1);
|
||||||
|
progress_bar.pulse();
|
||||||
|
}
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -555,23 +555,36 @@ gint
|
||||||
ExportVideoDialog::audio_progress_display ()
|
ExportVideoDialog::audio_progress_display ()
|
||||||
{
|
{
|
||||||
std::string status_text;
|
std::string status_text;
|
||||||
double progress = 0.0;
|
double progress = -1.0;
|
||||||
if (status->normalizing) {
|
switch (status->active_job) {
|
||||||
|
case ExportStatus::Normalizing:
|
||||||
pbar.set_text (_("Normalizing audio"));
|
pbar.set_text (_("Normalizing audio"));
|
||||||
progress = ((float) status->current_normalize_cycle) / status->total_normalize_cycles;
|
progress = ((float) status->current_normalize_cycle) / status->total_normalize_cycles;
|
||||||
progress = progress / (_twopass ? 4.0 : 3.0) + (_twopass ? .25 : 1.0/3.0);
|
progress = progress / (_twopass ? 4.0 : 3.0) + (_twopass ? .25 : 1.0 / 3.0);
|
||||||
} else {
|
break;
|
||||||
|
case ExportStatus::Exporting:
|
||||||
pbar.set_text (_("Exporting audio"));
|
pbar.set_text (_("Exporting audio"));
|
||||||
progress = ((float) status->processed_frames_current_timespan) / status->total_frames_current_timespan;
|
progress = ((float) status->processed_frames_current_timespan) / status->total_frames_current_timespan;
|
||||||
progress = progress / ((_twopass ? 2.0 : 1.0) + (_normalize ? 2.0 : 1.0));
|
progress = progress / ((_twopass ? 2.0 : 1.0) + (_normalize ? 2.0 : 1.0));
|
||||||
}
|
break;
|
||||||
if (progress < _previous_progress) {
|
default:
|
||||||
// Work around gtk bug
|
pbar.set_text (_("Exporting audio"));
|
||||||
pbar.hide();
|
break;
|
||||||
pbar.show();
|
}
|
||||||
}
|
|
||||||
_previous_progress = progress;
|
if (progress < _previous_progress) {
|
||||||
|
// Work around gtk bug
|
||||||
|
pbar.hide();
|
||||||
|
pbar.show();
|
||||||
|
}
|
||||||
|
_previous_progress = progress;
|
||||||
|
|
||||||
|
if (progress >= 0) {
|
||||||
pbar.set_fraction (progress);
|
pbar.set_fraction (progress);
|
||||||
|
} else {
|
||||||
|
pbar.set_pulse_step(.1);
|
||||||
|
pbar.pulse();
|
||||||
|
}
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -121,12 +121,19 @@ static int export_session (Session *session,
|
||||||
// TODO trap SIGINT -> status->abort();
|
// TODO trap SIGINT -> status->abort();
|
||||||
|
|
||||||
while (status->running) {
|
while (status->running) {
|
||||||
if (status->normalizing) {
|
double progress = 0.0;
|
||||||
double progress = ((float) status->current_normalize_cycle) / status->total_normalize_cycles;
|
switch (status->active_job) {
|
||||||
|
case ExportStatus::Normalizing:
|
||||||
|
progress = ((float) status->current_normalize_cycle) / status->total_normalize_cycles;
|
||||||
printf ("* Normalizing %.1f%% \r", 100. * progress); fflush (stdout);
|
printf ("* Normalizing %.1f%% \r", 100. * progress); fflush (stdout);
|
||||||
} else {
|
break;
|
||||||
double progress = ((float) status->processed_frames_current_timespan) / status->total_frames_current_timespan;
|
case ExportStatus::Exporting:
|
||||||
|
progress = ((float) status->processed_frames_current_timespan) / status->total_frames_current_timespan;
|
||||||
printf ("* Exporting Audio %.1f%% \r", 100. * progress); fflush (stdout);
|
printf ("* Exporting Audio %.1f%% \r", 100. * progress); fflush (stdout);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
printf ("* Exporting... \r");
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
Glib::usleep (1000000);
|
Glib::usleep (1000000);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user