Builder

class Builder

Builder for FXMusicLibrary.

All storage configurations default to volatile (in-memory) unless overridden with a JSON file or SQL data source:

val library = FXMusicLibrary.builder()
.audioLibrarySql(dataSource, audioTableDef)
.playlistHierarchySql(dataSource, playlistTableDef)
.waveformRepositorySql(dataSource, waveformTableDef)
.build()

Constructors

Link copied to clipboard
constructor()

Functions

Link copied to clipboard

Configures the audio library to use JSON file persistence at file.

Link copied to clipboard
fun audioLibrarySql(dataSource: DataSource, tableDef: SqlTableDef<ObservableAudioItem>): FXMusicLibrary.Builder

Configures the audio library to persist to a SQL database using dataSource and tableDef.

Link copied to clipboard

Builds the FXMusicLibrary, wiring all event subscriptions between components.

Link copied to clipboard

Configures the playlist hierarchy to use JSON file persistence at file.

Link copied to clipboard

Configures the playlist hierarchy to persist to a SQL database using dataSource and tableDef.

Link copied to clipboard

Configures the waveform repository to use JSON file persistence at file.

Link copied to clipboard
fun waveformRepositorySql(dataSource: DataSource, tableDef: SqlTableDef<AudioWaveform>): FXMusicLibrary.Builder

Configures the waveform repository to persist to a SQL database using dataSource and tableDef.