ObservablePlaylist

interface ObservablePlaylist : ReactiveAudioPlaylist<ObservableAudioItem, ObservablePlaylist>

JavaFX-compatible playlist interface exposing playlist data as observable properties.

Extends ReactiveAudioPlaylist with JavaFX property bindings for automatic UI synchronization. Provides observable collections of audio items and nested playlists backed directly by lirp-fx aggregate delegates, plus a derived cover image property extracted from the first audio item with cover art.

Properties

Link copied to clipboard
Link copied to clipboard
abstract val audioItemsProperty: ReadOnlyListProperty<ObservableAudioItem>
Link copied to clipboard
Link copied to clipboard
abstract val audioItemsRecursiveProperty: ReadOnlyListProperty<ObservableAudioItem>
Link copied to clipboard
abstract val changes: SharedFlow<MutationEvent<Int, ObservablePlaylist>>
Link copied to clipboard
abstract val coverImageProperty: ReadOnlyObjectProperty<Optional<Image>>
Link copied to clipboard
abstract val id: Int
Link copied to clipboard
abstract val isClosed: Boolean
Link copied to clipboard
abstract override var isDirectory: Boolean
Link copied to clipboard
abstract val isDirectoryProperty: ReadOnlyBooleanProperty
Link copied to clipboard
Link copied to clipboard
abstract override var name: String
Link copied to clipboard
abstract val nameProperty: ReadOnlyStringProperty
Link copied to clipboard
abstract override val playlists: Set<ObservablePlaylist>
Link copied to clipboard
abstract val playlistsProperty: ReadOnlySetProperty<ObservablePlaylist>
Link copied to clipboard
open override val uniqueId: String

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
Link copied to clipboard
Link copied to clipboard
abstract fun clearAudioItems()
Link copied to clipboard
abstract fun clearPlaylists()
Link copied to clipboard
abstract override fun clone(): ReactiveEntity<Int, ObservablePlaylist>
Link copied to clipboard
abstract override fun close()
Link copied to clipboard
open operator override fun compareTo(other: AudioPlaylist<ObservableAudioItem>): Int
Link copied to clipboard
abstract fun emitAsync(event: MutationEvent<Int, ObservablePlaylist>)
Link copied to clipboard
open fun exportToM3uFile(destinationPath: Path)
Link copied to clipboard
open fun removeAudioItem(audioItemId: Int): Boolean
Link copied to clipboard
@JvmName(name = "removeAudioItemIds")
abstract fun removeAudioItems(audioItemIds: Collection<Int>): Boolean
Link copied to clipboard
open fun removePlaylist(playlistId: Int): Boolean
Link copied to clipboard
@JvmName(name = "removePlaylistIds")
abstract fun removePlaylists(playlistIds: Collection<Int>): Boolean
Link copied to clipboard
abstract fun subscribe(p0: Flow.Subscriber<in MutationEvent<Int, ObservablePlaylist>?>?)
open fun subscribe(action: Consumer<in MutationEvent<Int, ObservablePlaylist>>): LirpEventSubscription<in ObservablePlaylist, MutationEvent.Type, MutationEvent<Int, ObservablePlaylist>>
abstract fun subscribe(action: suspend (MutationEvent<Int, ObservablePlaylist>) -> Unit): LirpEventSubscription<in ObservablePlaylist, MutationEvent.Type, MutationEvent<Int, ObservablePlaylist>>
abstract fun subscribe(vararg eventTypes: MutationEvent.Type, action: Consumer<in MutationEvent<Int, ObservablePlaylist>>): LirpEventSubscription<in ObservablePlaylist, MutationEvent.Type, MutationEvent<Int, ObservablePlaylist>>
Link copied to clipboard
abstract fun <T> withEventsDisabled(action: () -> T): T