Initial release of GPS2Audio
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
package de.waypointaudio.data
|
||||
|
||||
/**
|
||||
* Quelle der Begleitmusik für eine Tour.
|
||||
*/
|
||||
enum class MusicSourceType {
|
||||
LOCAL_PLAYLIST,
|
||||
STREAM_URL
|
||||
}
|
||||
|
||||
/**
|
||||
* Verhalten der Begleitmusik, wenn ein Wegpunkt-Audio abgespielt wird.
|
||||
*/
|
||||
enum class WaypointMusicBehavior {
|
||||
/** Begleitmusik pausieren, danach fortsetzen. */
|
||||
PAUSE_RESUME,
|
||||
|
||||
/** Begleitmusik ausblenden (Fade-out), Wegpunkt abspielen, danach einblenden (Fade-in). */
|
||||
FADE_OUT_IN,
|
||||
|
||||
/** Begleitmusik auf duckVolume leise stellen, Wegpunkt parallel abspielen, danach wiederherstellen. */
|
||||
DUCK_UNDERLAY,
|
||||
|
||||
/** Begleitmusik unveränderter Lautstärke weiterspielen, Wegpunkt parallel abspielen. */
|
||||
CONTINUE_UNDERLAY
|
||||
}
|
||||
|
||||
/**
|
||||
* Ein einzelnes Element in der lokalen Playlist.
|
||||
*/
|
||||
data class PlaylistItem(
|
||||
val uriString: String,
|
||||
val displayName: String
|
||||
)
|
||||
|
||||
/**
|
||||
* Begleitmusik-Einstellungen für eine Tour.
|
||||
*
|
||||
* @param enabled Ob Begleitmusik für diese Tour aktiv ist.
|
||||
* @param sourceType Quelle: lokale Playlist oder Stream-URL.
|
||||
* @param localPlaylist Liste von Audiodateien (content:// URIs) aus dem lokalen Speicher.
|
||||
* @param streamUrl Direkte HTTP/HTTPS-Stream-URL (z. B. Internetradio).
|
||||
* @param behavior Verhalten wenn Wegpunkt-Audio abgespielt wird.
|
||||
* @param fadeDurationMs Dauer des Fade-Effekts in Millisekunden.
|
||||
* @param duckVolume Lautstärke (0.0–1.0) während des Duck-Modus.
|
||||
* @param shuffle Playlist zufällig abspielen.
|
||||
* @param autoStartAfterWaypoint Nach Wegpunkt-Audio Begleitmusik automatisch starten,
|
||||
* auch wenn sie vorher nicht spielte.
|
||||
*/
|
||||
data class TourAudioSettings(
|
||||
val enabled: Boolean = false,
|
||||
val sourceType: MusicSourceType = MusicSourceType.LOCAL_PLAYLIST,
|
||||
val localPlaylist: List<PlaylistItem> = emptyList(),
|
||||
val streamUrl: String? = null,
|
||||
val behavior: WaypointMusicBehavior = WaypointMusicBehavior.PAUSE_RESUME,
|
||||
val fadeDurationMs: Long = 1500L,
|
||||
val duckVolume: Float = 0.25f,
|
||||
val shuffle: Boolean = false,
|
||||
val autoStartAfterWaypoint: Boolean = false
|
||||
)
|
||||
Reference in New Issue
Block a user