Add clip duration to title
This commit is contained in:
parent
21955413ed
commit
cd40e5a37c
@ -54,7 +54,10 @@ public class MainController implements Initializable {
|
||||
stage.titleProperty().bind(Bindings
|
||||
.when(clipView.metadataProperty().isNull())
|
||||
.then(Main.getResources().getString("voicyanski"))
|
||||
.otherwise(clipView.metadataProperty().asString())
|
||||
.otherwise(Bindings.format("%s [%s]",
|
||||
clipView.metadataProperty().asString(),
|
||||
clipView.durationProperty()
|
||||
))
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -5,6 +5,7 @@ import com.annimon.voicyanski.audio.Waveform;
|
||||
import com.annimon.voicyanski.tasks.Metadata;
|
||||
import java.io.IOException;
|
||||
import javafx.beans.binding.Bindings;
|
||||
import javafx.beans.binding.DoubleBinding;
|
||||
import javafx.beans.binding.ObjectBinding;
|
||||
import javafx.beans.property.ObjectProperty;
|
||||
import javafx.beans.property.SimpleObjectProperty;
|
||||
@ -33,6 +34,7 @@ public final class AudioClipView extends VBox {
|
||||
private WaveformView waveform;
|
||||
|
||||
private final ObjectProperty<Metadata> metadataProperty = new SimpleObjectProperty<>();
|
||||
private final ObjectProperty<String> durationProperty = new SimpleObjectProperty<>();
|
||||
private MediaPlayer mediaPlayer;
|
||||
private FontIcon iconPlay;
|
||||
|
||||
@ -61,6 +63,10 @@ public final class AudioClipView extends VBox {
|
||||
return metadataProperty;
|
||||
}
|
||||
|
||||
public ObjectProperty<String> durationProperty() {
|
||||
return durationProperty;
|
||||
}
|
||||
|
||||
public Waveform getWaveform() {
|
||||
return waveform.getWaveform();
|
||||
}
|
||||
@ -166,6 +172,13 @@ public final class AudioClipView extends VBox {
|
||||
);
|
||||
|
||||
waveform.visibleProperty().bind(waveformProperty().isNotNull());
|
||||
|
||||
durationProperty.bind(Bindings.createStringBinding(() -> {
|
||||
double hi = rangeClip.highValueProperty().get();
|
||||
double lo = rangeClip.lowValueProperty().get();
|
||||
final int delta = (int) (hi - lo);
|
||||
return String.format("%02d:%02d", (delta % 3600) / 60, delta % 60);
|
||||
}, rangeClip.highValueProperty(), rangeClip.lowValueProperty()));
|
||||
}
|
||||
|
||||
public void initMarkButtons(Button markStart, Button markEnd) {
|
||||
|
Loading…
Reference in New Issue
Block a user