1
1
mirror of https://github.com/danbee/persephone synced 2025-03-04 08:39:11 +00:00
persephone/Persephone/Components/VolumeControl/VolumeControlView.swift
2020-02-19 18:08:22 -05:00

46 lines
982 B
Swift

//
// VolumeControlView.swift
// Persephone
//
// Created by Daniel Barber on 2/16/20.
// Copyright © 2020 Dan Barber. All rights reserved.
//
import AppKit
import ReSwift
class VolumeControlView: NSViewController {
static let shared = VolumeControlView()
static let popover = NSPopover()
var currentVolume: Int = 0
override func viewDidLoad() {
super.viewDidLoad()
App.store.subscribe(self) {
$0.select { $0.playerState }
}
}
@IBAction func volumeSliderAction(_ sender: NSSlider) {
let newVolume = sender.integerValue
if newVolume != currentVolume {
App.mpdClient.setVolume(to: newVolume)
currentVolume = newVolume
}
}
@IBOutlet var volumeSlider: NSSlider!
}
extension VolumeControlView: StoreSubscriber {
typealias StoreSubscriberStateType = PlayerState
func newState(state: StoreSubscriberStateType) {
volumeSlider.integerValue = state.volume
currentVolume = state.volume
}
}