mirror of
https://github.com/danbee/persephone
synced 2025-03-04 08:39:11 +00:00
Importing Cocoa pulls in CoreData, which we're not using. https://github.com/brentsimmons/NetNewsWire/blob/master/Technotes/CodingGuidelines.md
24 lines
586 B
Swift
24 lines
586 B
Swift
//
|
|
// CoverArtQueue.swift
|
|
// Persephone
|
|
//
|
|
// Created by Daniel Barber on 2019/2/26.
|
|
// Copyright © 2019 Dan Barber. All rights reserved.
|
|
//
|
|
|
|
import AppKit
|
|
|
|
class CoverArtQueue {
|
|
static let shared = CoverArtQueue()
|
|
|
|
let queue = DispatchQueue(label: "CoverArtQueue")
|
|
var lastDispatchedTime = DispatchTime(uptimeNanoseconds: 0) - 1
|
|
|
|
func addToQueue(workItem: DispatchWorkItem) {
|
|
let dispatchTime = max(lastDispatchedTime + 1, DispatchTime(uptimeNanoseconds: 0))
|
|
lastDispatchedTime = dispatchTime
|
|
|
|
queue.asyncAfter(deadline: dispatchTime, execute: workItem)
|
|
}
|
|
}
|