mirror of
https://github.com/TomHarte/CLK.git
synced 2025-08-08 14:25:05 +00:00
Fix lost audio, race condition.
This commit is contained in:
@@ -71,13 +71,15 @@ class MachineDocument:
|
||||
self.displayName = analyser.displayName
|
||||
self.configureAs(analyser)
|
||||
self.fileObserver = CSFileContentChangeObserver.init(url: url, handler: {
|
||||
if let machine = self.machine {
|
||||
DispatchQueue.main.async {
|
||||
switch(self.machine.effectForFile(atURLDidChange: url)) {
|
||||
switch(machine.effectForFile(atURLDidChange: url)) {
|
||||
case .reinsertMedia: self.insertFile(url)
|
||||
case .restartMachine:
|
||||
let target = CSStaticAnalyser(fileAt: url)
|
||||
if let target = target {
|
||||
self.machine.substitute(target)
|
||||
self.audioQueue = nil
|
||||
machine.substitute(target)
|
||||
self.optionsController?.establishStoredOptions()
|
||||
}
|
||||
|
||||
@@ -85,6 +87,7 @@ class MachineDocument:
|
||||
@unknown default: break
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
} else {
|
||||
throw NSError(domain: "MachineDocument", code: -1, userInfo: nil)
|
||||
|
Reference in New Issue
Block a user