FXMusic Library
JavaFX-compatible entry point for managing an observable audio library, playlist hierarchy, and waveform repository. Exposes JavaFX properties for direct binding to UI components.
Composes ObservableAudioLibrary, ObservablePlaylistHierarchy, and an AudioWaveformRepository and wires their event subscriptions so that audio item changes propagate to dependent components automatically.
Construct via builder:
val library = FXMusicLibrary.builder()
.audioLibraryJsonFile(audioFile)
.playlistHierarchyJsonFile(playlistFile)
.build()Types
Properties
Observable count of distinct albums in the library.
Observable set of all albums across all artists in the library.
Publisher that emits artist catalog CrudEvent notifications.
Observable set of all artist catalogs, each grouping albums and items by artist.
Observable set of all distinct artists in the library.
Observable list of all audio items in the library, suitable for direct JavaFX binding.
Boolean property that is true when the library contains no audio items.
Subscriber that receives AudioItemPlayerEvent notifications.
Observable set of all playlists in the hierarchy.
Functions
Creates an ObservableAudioItem from the audio file at path and adds it to the library.
Returns the underlying observable audio library for advanced operations.
Creates a new playlist with name pre-populated with audioItems.
Returns the underlying observable playlist hierarchy for advanced operations.
Returns the underlying waveform repository for advanced operations.