Release 0.5.0
· The first release hosted here.
Files
0.5.0 is the first release published here, so every file is listed as new.
- LICENSE
- README.md
- android/DESIGN.md
- android/FONTS.md
- android/app/build.gradle.kts
- android/app/proguard-rules.pro
- android/app/src/libre/java/dev/stave/cast/CastIntegration.kt
- android/app/src/main/AndroidManifest.xml
- android/app/src/main/java/dev/stave/EarhornApp.kt
- android/app/src/main/java/dev/stave/MainActivity.kt
- android/app/src/main/java/dev/stave/cartemplate/AlbumDetailCarScreen.kt
- android/app/src/main/java/dev/stave/cartemplate/CarSessionMediaBridge.kt
- android/app/src/main/java/dev/stave/cartemplate/EarhornCarAppService.kt
- android/app/src/main/java/dev/stave/cartemplate/EarhornCarSession.kt
- android/app/src/main/java/dev/stave/cartemplate/NowPlayingCarScreen.kt
- android/app/src/main/java/dev/stave/cast/radio/RadioStatusClient.kt
- android/app/src/main/java/dev/stave/cast/raw/RawCastClient.kt
- android/app/src/main/java/dev/stave/cast/raw/RawCastObserver.kt
- android/app/src/main/java/dev/stave/data/QueuePersistenceExtensions.kt
- android/app/src/main/java/dev/stave/data/QueuePersistenceStore.kt
- android/app/src/main/java/dev/stave/data/SearchHistoryStore.kt
- android/app/src/main/java/dev/stave/data/SettingsStore.kt
- android/app/src/main/java/dev/stave/di/RendererModule.kt
- android/app/src/main/java/dev/stave/domain/model/DidlItem.kt
- android/app/src/main/java/dev/stave/domain/model/GenreParser.kt
- android/app/src/main/java/dev/stave/domain/model/MediaServer.kt
- android/app/src/main/java/dev/stave/domain/model/MetadataField.kt
- android/app/src/main/java/dev/stave/domain/model/RemoteRenderer.kt
- android/app/src/main/java/dev/stave/domain/renderer/Renderer.kt
- android/app/src/main/java/dev/stave/local/LocalMediaScanner.kt
- android/app/src/main/java/dev/stave/lyrics/LrcParser.kt
- android/app/src/main/java/dev/stave/lyrics/LyricsData.kt
- android/app/src/main/java/dev/stave/lyrics/LyricsRepository.kt
- android/app/src/main/java/dev/stave/lyrics/LyricsViewModel.kt
- android/app/src/main/java/dev/stave/playback/CoilBitmapLoader.kt
- android/app/src/main/java/dev/stave/playback/EarhornMediaButtonReceiver.kt
- android/app/src/main/java/dev/stave/playback/LocalPlaybackGate.kt
- android/app/src/main/java/dev/stave/playback/LocalRenderer.kt
- android/app/src/main/java/dev/stave/playback/PlaybackService.kt
- android/app/src/main/java/dev/stave/playlist/M3uPlaylistStore.kt
- android/app/src/main/java/dev/stave/ui/about/AboutScreen.kt
- android/app/src/main/java/dev/stave/ui/browse/BrowseScreen.kt
- android/app/src/main/java/dev/stave/ui/browse/BrowseViewModel.kt
- android/app/src/main/java/dev/stave/ui/cast/CastPickerSheet.kt
- android/app/src/main/java/dev/stave/ui/cast/RawCastPickerSheet.kt
- android/app/src/main/java/dev/stave/ui/components/ActionSheet.kt
- android/app/src/main/java/dev/stave/ui/components/AlbumArt.kt
- android/app/src/main/java/dev/stave/ui/components/KeyboardTextDialog.kt
- android/app/src/main/java/dev/stave/ui/components/Marquee.kt
- android/app/src/main/java/dev/stave/ui/components/OnScreenKeyboard.kt
- android/app/src/main/java/dev/stave/ui/components/StaveFocusable.kt
- android/app/src/main/java/dev/stave/ui/components/SystemImeTextDialog.kt
- android/app/src/main/java/dev/stave/ui/components/TvLongPress.kt
- android/app/src/main/java/dev/stave/ui/components/VoiceSearchDialog.kt
- android/app/src/main/java/dev/stave/ui/detail/DetailScreen.kt
- android/app/src/main/java/dev/stave/ui/detail/DetailViewModel.kt
- android/app/src/main/java/dev/stave/ui/dometha/DomEthaPanel.kt
- android/app/src/main/java/dev/stave/ui/guide/GuideScreen.kt
- android/app/src/main/java/dev/stave/ui/local/LocalAlbumScreen.kt
- android/app/src/main/java/dev/stave/ui/local/LocalAlbumsScreen.kt
- android/app/src/main/java/dev/stave/ui/local/LocalArtistsAndSongsScreens.kt
- android/app/src/main/java/dev/stave/ui/local/LocalHubScreen.kt
- android/app/src/main/java/dev/stave/ui/local/LocalLibraryViewModel.kt
- android/app/src/main/java/dev/stave/ui/local/LocalRandomAlbumsScreen.kt
- android/app/src/main/java/dev/stave/ui/lyrics/LyricsScreen.kt
- android/app/src/main/java/dev/stave/ui/metadata/MetadataHandoff.kt
- android/app/src/main/java/dev/stave/ui/metadata/MetadataScreen.kt
- android/app/src/main/java/dev/stave/ui/more/MoreScreen.kt
- android/app/src/main/java/dev/stave/ui/more/MoreViewModel.kt
- android/app/src/main/java/dev/stave/ui/nowplaying/NowPlayingBar.kt
- android/app/src/main/java/dev/stave/ui/nowplaying/NowPlayingScreen.kt
- android/app/src/main/java/dev/stave/ui/nowplaying/NowPlayingViewModel.kt
- android/app/src/main/java/dev/stave/ui/playlist/PlaylistsScreen.kt
- android/app/src/main/java/dev/stave/ui/playlist/SavePlaylistScreen.kt
- android/app/src/main/java/dev/stave/ui/queue/QueueScreen.kt
- android/app/src/main/java/dev/stave/ui/random/RandomPickerScreen.kt
- android/app/src/main/java/dev/stave/ui/search/SearchScreen.kt
- android/app/src/main/java/dev/stave/ui/servers/ServersScreen.kt
- android/app/src/main/java/dev/stave/ui/servers/ServersViewModel.kt
- android/app/src/main/java/dev/stave/ui/settings/PlaybackSettingsScreen.kt
- android/app/src/main/java/dev/stave/ui/settings/SettingsScreen.kt
- android/app/src/main/java/dev/stave/ui/settings/SettingsViewModel.kt
- android/app/src/main/java/dev/stave/ui/theme/Color.kt
- android/app/src/main/java/dev/stave/ui/theme/Layout.kt
- android/app/src/main/java/dev/stave/ui/theme/Shape.kt
- android/app/src/main/java/dev/stave/ui/theme/Theme.kt
- android/app/src/main/java/dev/stave/ui/theme/Type.kt
- android/app/src/main/java/dev/stave/ui/theme/WindowSize.kt
- android/app/src/main/java/dev/stave/ui/welcome/WelcomeScreen.kt
- android/app/src/main/java/dev/stave/upnp/AlbumInfoLoader.kt
- android/app/src/main/java/dev/stave/upnp/AudioMetadataReader.kt
- android/app/src/main/java/dev/stave/upnp/BrowseResult.kt
- android/app/src/main/java/dev/stave/upnp/ContentDirectoryClient.kt
- android/app/src/main/java/dev/stave/upnp/DidlParser.kt
- android/app/src/main/java/dev/stave/upnp/MediaCollector.kt
- android/app/src/main/java/dev/stave/upnp/MinimServerControl.kt
- android/app/src/main/java/dev/stave/upnp/NetworkInterfaceResolver.kt
- android/app/src/main/java/dev/stave/upnp/UpnpServiceHolder.kt
- android/app/src/main/java/dev/stave/upnp/renderer/DidlLiteCodec.kt
- android/app/src/main/java/dev/stave/upnp/renderer/EarhornAVTransportService.kt
- android/app/src/main/java/dev/stave/upnp/renderer/EarhornMediaRendererDevice.kt
- android/app/src/main/java/dev/stave/upnp/renderer/EarhornRendererService.kt
- android/app/src/main/java/dev/stave/upnp/renderer/EarhornRenderingControlService.kt
- android/app/src/main/java/dev/stave/upnp/renderer/RemoteUpnpRenderer.kt
- android/app/src/main/java/dev/stave/upnp/renderer/RendererCoordinator.kt
- android/app/src/main/res/drawable-hdpi/ic_notification.png
- android/app/src/main/res/drawable-mdpi/ic_notification.png
- android/app/src/main/res/drawable-nodpi/earhorn_badge.png
- android/app/src/main/res/drawable-nodpi/earhorn_brand.png
- android/app/src/main/res/drawable-nodpi/earhorn_gramophone.png
- android/app/src/main/res/drawable-nodpi/earhorn_gramophone_glow.webp
- android/app/src/main/res/drawable-nodpi/earhorn_lettermark.png
- android/app/src/main/res/drawable-nodpi/empty_clef.png
- android/app/src/main/res/drawable-nodpi/ic_headphones_vinyl.png
- android/app/src/main/res/drawable-nodpi/ic_launcher_foreground.png
- android/app/src/main/res/drawable-nodpi/splash_icon.png
- android/app/src/main/res/drawable-nodpi/stave_empty_clef.png
- android/app/src/main/res/drawable-xhdpi/ic_notification.png
- android/app/src/main/res/drawable-xxhdpi/ic_notification.png
- android/app/src/main/res/drawable-xxxhdpi/ic_notification.png
- android/app/src/main/res/drawable/ic_lyrics_singer.xml
- android/app/src/main/res/drawable/ic_notif_cast.xml
- android/app/src/main/res/drawable/ic_notif_cast_connected.xml
- android/app/src/main/res/drawable/ic_notif_lyrics.xml
- android/app/src/main/res/drawable/ic_notif_more_by_artist.xml
- android/app/src/main/res/drawable/ic_notif_more_from_album.xml
- android/app/src/main/res/drawable/ic_notif_repeat_all.xml
- android/app/src/main/res/drawable/ic_notif_repeat_off.xml
- android/app/src/main/res/drawable/ic_notif_repeat_one.xml
- android/app/src/main/res/drawable/ic_notif_shuffle.xml
- android/app/src/main/res/drawable/ic_transport_next.xml
- android/app/src/main/res/drawable/ic_transport_play.xml
- android/app/src/main/res/drawable/ic_transport_previous.xml
- android/app/src/main/res/drawable/ic_transport_stop.xml
- android/app/src/main/res/drawable/ic_view_grid.xml
- android/app/src/main/res/drawable/ic_view_list.xml
- android/app/src/main/res/drawable/splash_badge.xml
- android/app/src/main/res/font/fraunces.ttf
- android/app/src/main/res/font/inter.ttf
- android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
- android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
- android/app/src/main/res/mipmap-hdpi/ic_launcher.png
- android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
- android/app/src/main/res/mipmap-mdpi/ic_launcher.png
- android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
- android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
- android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
- android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
- android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
- android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
- android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
- android/app/src/main/res/raw/keep.xml
- android/app/src/main/res/values-v31/themes.xml
- android/app/src/main/res/values/colors.xml
- android/app/src/main/res/values/strings.xml
- android/app/src/main/res/values/themes.xml
- android/app/src/main/res/xml/automotive_app_desc.xml
- android/app/src/main/res/xml/backup_rules.xml
- android/app/src/main/res/xml/data_extraction_rules.xml
- android/app/src/play/AndroidManifest.xml
- android/app/src/play/java/dev/stave/cast/CastIntegration.kt
- android/app/src/play/java/dev/stave/cast/CastStreamProxy.kt
- android/app/src/play/java/dev/stave/cast/EarhornCastOptionsProvider.kt
- android/build.gradle.kts
- android/gradle.properties
- android/gradle/libs.versions.toml
- android/gradle/wrapper/gradle-wrapper.jar
- android/gradle/wrapper/gradle-wrapper.properties
- android/gradlew
- android/gradlew.bat
- android/settings.gradle.kts
- desktop/CHANGELOG.md
- desktop/CONTRIBUTING.md
- desktop/DESIGN.md
- desktop/LICENSE
- desktop/PRIVACY.md
- desktop/README.md
- desktop/SECURITY.md
- desktop/build.gradle.kts
- desktop/desktop/build.gradle.kts
- desktop/desktop/src/jvmMain/kotlin/dev/stave/desktop/AboveAnchorPopupFactory.kt
- desktop/desktop/src/jvmMain/kotlin/dev/stave/desktop/CoilSetup.kt
- desktop/desktop/src/jvmMain/kotlin/dev/stave/desktop/DesktopModule.kt
- desktop/desktop/src/jvmMain/kotlin/dev/stave/desktop/Main.kt
- desktop/desktop/src/jvmMain/kotlin/dev/stave/desktop/components/VolumeControl.kt
- desktop/desktop/src/jvmMain/kotlin/dev/stave/desktop/integration/MprisIntegration.kt
- desktop/desktop/src/jvmMain/kotlin/dev/stave/desktop/screens/AboutScreen.kt
- desktop/desktop/src/jvmMain/kotlin/dev/stave/desktop/screens/BrowseScreen.kt
- desktop/desktop/src/jvmMain/kotlin/dev/stave/desktop/screens/GuideScreen.kt
- desktop/desktop/src/jvmMain/kotlin/dev/stave/desktop/screens/LyricsOverlay.kt
- desktop/desktop/src/jvmMain/kotlin/dev/stave/desktop/screens/MetadataOverlay.kt
- desktop/desktop/src/jvmMain/kotlin/dev/stave/desktop/screens/NowPlayingPane.kt
- desktop/desktop/src/jvmMain/kotlin/dev/stave/desktop/screens/PlaylistsScreen.kt
- desktop/desktop/src/jvmMain/kotlin/dev/stave/desktop/screens/RandomPickerScreen.kt
- desktop/desktop/src/jvmMain/kotlin/dev/stave/desktop/screens/SearchScreen.kt
- desktop/desktop/src/jvmMain/kotlin/dev/stave/desktop/screens/ServerSwitcher.kt
- desktop/desktop/src/jvmMain/kotlin/dev/stave/desktop/screens/SettingsScreen.kt
- desktop/desktop/src/jvmMain/kotlin/dev/stave/desktop/shortcuts/Keybindings.kt
- desktop/desktop/src/jvmMain/kotlin/dev/stave/desktop/ui/FancifyAmpersand.kt
- desktop/desktop/src/jvmMain/kotlin/dev/stave/desktop/ui/FrauncesFonts.kt
- desktop/desktop/src/jvmMain/kotlin/dev/stave/desktop/ui/InterFont.kt
- desktop/desktop/src/jvmMain/kotlin/dev/stave/desktop/ui/StaveApp.kt
- desktop/desktop/src/jvmMain/kotlin/dev/stave/desktop/ui/components/AlbumNotesDialog.kt
- desktop/desktop/src/jvmMain/kotlin/dev/stave/desktop/ui/components/AnimatedWebPImage.kt
- desktop/desktop/src/jvmMain/kotlin/dev/stave/desktop/ui/components/BrandedTooltip.kt
- desktop/desktop/src/jvmMain/kotlin/dev/stave/desktop/ui/rendererpicker/RendererPicker.kt
- desktop/desktop/src/jvmMain/kotlin/dev/stave/desktop/window/StaveMenuBar.kt
- desktop/desktop/src/jvmMain/resources/earhorn.png
- desktop/desktop/src/jvmMain/resources/earhorn_gramophone_glow.webp
- desktop/desktop/src/jvmMain/resources/fonts/README.md
- desktop/desktop/src/jvmMain/resources/fonts/fraunces.ttf
- desktop/desktop/src/jvmMain/resources/fonts/inter.ttf
- desktop/desktop/src/jvmMain/resources/icon.png
- desktop/desktop/src/jvmMain/resources/icons/earhorn-128.png
- desktop/desktop/src/jvmMain/resources/icons/earhorn-256.png
- desktop/desktop/src/jvmMain/resources/icons/earhorn-48.png
- desktop/desktop/src/jvmMain/resources/icons/earhorn-512.png
- desktop/desktop/src/jvmMain/resources/icons/earhorn-64.png
- desktop/desktop/src/jvmMain/resources/org/fourthline/cling/support/avtransport/metadata-1.01-avt.xsd
- desktop/desktop/src/jvmMain/resources/org/fourthline/cling/support/renderingcontrol/metadata-1.0-rcs.xsd
- desktop/desktop/src/jvmMain/resources/org/jupnp/support/avtransport/lastchange/AVT_LastChange.xsd
- desktop/desktop/src/jvmMain/resources/org/jupnp/support/renderingcontrol/lastchange/RCS_LastChange.xsd
- desktop/gradle.properties
- desktop/gradle/libs.versions.toml
- desktop/gradle/wrapper/gradle-wrapper.jar
- desktop/gradle/wrapper/gradle-wrapper.properties
- desktop/gradlew
- desktop/gradlew.bat
- desktop/settings.gradle.kts


