1
1
mirror of https://github.com/danbee/persephone synced 2025-03-04 08:39:11 +00:00

Transport and progress finished

This commit is contained in:
Daniel Barber 2019-04-21 10:09:02 -05:00
parent d076ef311b
commit bb5a7c2c5c
Signed by: danbarber
GPG Key ID: 931D8112E0103DD8
2 changed files with 20 additions and 43 deletions

View File

@ -23,6 +23,7 @@ class WindowController: NSWindowController, StoreSubscriber {
super.windowDidLoad()
window?.titleVisibility = .hidden
// TODO: We will want to filter this subscribe later
AppDelegate.store.subscribe(self)
NotificationCenter.default.addObserver(
@ -90,24 +91,6 @@ class WindowController: NSWindowController, StoreSubscriber {
setTimeRemaining(elapsedTimeMs, totalTime * 1000)
}
// func updateProgressState() {
// let currentTime = CACurrentMediaTime()
//
// guard let userInfo = timer.userInfo as? Dictionary<String, Any>,
// let startTime = userInfo["startTime"] as? Double,
// let startElapsed = userInfo["startElapsed"] as? Double
// else { return }
//
// let timeDiff = currentTime - startTime
// let newElapsedTimeMs = (startElapsed + timeDiff) * 1000
//
// self.elapsedTimeMs = UInt(newElapsedTimeMs)
// trackProgressBar.integerValue = Int(newElapsedTimeMs)
//
// setTimeElapsed()
// setTimeRemaining()
// }
@objc func startDatabaseUpdatingIndicator() {
databaseUpdatingIndicator.startAnimation(self)
}
@ -137,27 +120,25 @@ class WindowController: NSWindowController, StoreSubscriber {
}
// TODO: Refactor this using a gesture recognizer
// @IBAction func changeTrackProgress(_ sender: NSSlider) {
// guard let event = NSApplication.shared.currentEvent else {
// return
// }
//
// switch event.type {
// case .leftMouseDown:
// trackTimer?.invalidate()
// case .leftMouseDragged:
// self.elapsedTimeMs = UInt(sender.integerValue)
//
// setTimeElapsed()
// setTimeRemaining()
// case .leftMouseUp:
// let seekTime = Float(sender.integerValue) / 1000
//
// AppDelegate.mpdClient.seekCurrentSong(timeInSeconds: seekTime)
// default:
// break
// }
// }
@IBAction func changeTrackProgress(_ sender: NSSlider) {
guard let event = NSApplication.shared.currentEvent
else { return }
switch event.type {
case .leftMouseDown:
trackTimer?.invalidate()
case .leftMouseDragged:
AppDelegate.store.dispatch(
UpdateElapsedTimeAction(elapsedTimeMs: UInt(sender.integerValue))
)
case .leftMouseUp:
let seekTime = Float(sender.integerValue) / 1000
AppDelegate.mpdClient.seekCurrentSong(timeInSeconds: seekTime)
default:
break
}
}
@IBAction func handleTransportControl(_ sender: NSSegmentedControl) {
guard let transportAction = TransportAction(rawValue: sender.selectedSegment)

View File

@ -14,9 +14,7 @@ class TrackTimer: NSObject {
var startElapsed: Double = 0
func start(elapsedTimeMs: UInt?) {
print("Starting timer")
guard let elapsedTimeMs = elapsedTimeMs else { return }
print(elapsedTimeMs)
timer?.invalidate()
@ -28,7 +26,6 @@ class TrackTimer: NSObject {
withTimeInterval: 0.25,
repeats: true
) { _ in
print("Timer fired")
let currentTime = CACurrentMediaTime()
let timeDiff = currentTime - self.startTime
@ -42,7 +39,6 @@ class TrackTimer: NSObject {
}
func stop(elapsedTimeMs: UInt?) {
print("Stopping timer")
guard let elapsedTimeMs = elapsedTimeMs else { return }
timer?.invalidate()