Observable Audio Library
interface ObservableAudioLibrary : ReactiveAudioLibrary<ObservableAudioItem, ObservableArtistCatalog>
JavaFX-compatible audio library interface exposing collections as observable properties for UI binding.
Extends ReactiveAudioLibrary with concrete JavaFX-observable type parameters and adds JavaFX properties for direct binding to UI components, enabling reactive table views, list views, and other JavaFX controls without manual synchronization.
Properties
Link copied to clipboard
Observable count of distinct albums in the library.
Link copied to clipboard
Observable set of all albums across all artists in the library.
Link copied to clipboard
abstract val artistCatalogPublisher: LirpEventPublisher<CrudEvent.Type, CrudEvent<Artist, ObservableArtistCatalog>>
Link copied to clipboard
Observable set of all artist catalogs, each grouping albums and items by artist.
Link copied to clipboard
Observable set of all distinct artists in the library.
Link copied to clipboard
Observable list of all audio items in the library, suitable for direct JavaFX binding.
Link copied to clipboard
Link copied to clipboard
Boolean property that is true when the library contains no audio items.
Link copied to clipboard
Link copied to clipboard
Functions
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun createFromFileBatchAsync(audioItemPaths: Collection<Path>, batchSize: Int): CompletableFuture<List<ObservableAudioItem>>
open fun createFromFileBatchAsync(audioItemPaths: Collection<Path>, executor: Executor, batchSize: Int): CompletableFuture<List<ObservableAudioItem>>
open fun createFromFileBatchAsync(audioItemPaths: Collection<Path>, dispatcher: CoroutineDispatcher, batchSize: Int): CompletableFuture<List<ObservableAudioItem>>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
abstract fun findFirst(predicate: Predicate<in ObservableAudioItem>): Optional<out ObservableAudioItem>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
abstract fun lazySearch(predicate: Predicate<in ObservableAudioItem>): Sequence<ObservableAudioItem>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
abstract fun search(size: Int, predicate: Predicate<in ObservableAudioItem>): Set<ObservableAudioItem>
Link copied to clipboard
abstract fun searchStream(predicate: Predicate<in ObservableAudioItem>): Stream<ObservableAudioItem>
Link copied to clipboard
open fun subscribe(action: Consumer<in CrudEvent<Int, ObservableAudioItem>>): LirpEventSubscription<in LirpEntity, CrudEvent.Type, CrudEvent<Int, ObservableAudioItem>>
abstract fun subscribe(action: suspend (CrudEvent<Int, ObservableAudioItem>) -> Unit): LirpEventSubscription<in LirpEntity, CrudEvent.Type, CrudEvent<Int, ObservableAudioItem>>
abstract fun subscribe(vararg eventTypes: CrudEvent.Type, action: suspend (CrudEvent<Int, ObservableAudioItem>) -> Unit): LirpEventSubscription<in LirpEntity, CrudEvent.Type, CrudEvent<Int, ObservableAudioItem>>