mirror of
https://github.com/yattee/yattee.git
synced 2025-08-06 10:44:06 +00:00
Add rate change selector
This commit is contained in:
@@ -216,8 +216,8 @@ final class MPVBackend: PlayerBackend {
|
||||
}
|
||||
}
|
||||
|
||||
func setRate(_: Float) {
|
||||
// TODO: Implement rate change
|
||||
func setRate(_ rate: Float) {
|
||||
client.setDoubleAsync("speed", Double(rate))
|
||||
}
|
||||
|
||||
func closeItem() {}
|
||||
|
@@ -225,6 +225,11 @@ final class MPVClient: ObservableObject {
|
||||
mpv_set_property_async(mpv, 0, name, MPV_FORMAT_FLAG, &data)
|
||||
}
|
||||
|
||||
func setDoubleAsync(_ name: String, _ value: Double) {
|
||||
var data = value
|
||||
mpv_set_property_async(mpv, 0, name, MPV_FORMAT_DOUBLE, &data)
|
||||
}
|
||||
|
||||
private func getDouble(_ name: String) -> Double {
|
||||
var data = Double()
|
||||
mpv_get_property(mpv, name, MPV_FORMAT_DOUBLE, &data)
|
||||
|
@@ -338,6 +338,7 @@ final class PlayerModel: ObservableObject {
|
||||
}
|
||||
|
||||
inactiveBackends().forEach { $0.pause() }
|
||||
backend.setRate(currentRate)
|
||||
|
||||
let fromBackend: PlayerBackend = from == .appleAVPlayer ? avPlayerBackend : mpvBackend
|
||||
let toBackend: PlayerBackend = to == .appleAVPlayer ? avPlayerBackend : mpvBackend
|
||||
|
Reference in New Issue
Block a user