1
0
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:
Thomas Harte
2025-02-24 23:04:41 -05:00
parent d62362db1a
commit a340635de5

View File

@@ -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)