mirror of
https://github.com/narrrl/proton-stream.git
synced 2026-11-03 16:41:26 +01:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a475ad3575 | ||
|
|
da13f0547e | ||
|
|
4ca57d9449 |
No files matched your search
Generated
+7
-7
@@ -5279,7 +5279,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "pstr-android"
|
||||
version = "2.0.0"
|
||||
version = "2.0.1"
|
||||
dependencies = [
|
||||
"android_logger",
|
||||
"futures",
|
||||
@@ -5299,7 +5299,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "pstr-app"
|
||||
version = "2.0.0"
|
||||
version = "2.0.1"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"chrono",
|
||||
@@ -5333,7 +5333,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "pstr-cli"
|
||||
version = "2.0.0"
|
||||
version = "2.0.1"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"clap",
|
||||
@@ -5352,7 +5352,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "pstr-core"
|
||||
version = "2.0.0"
|
||||
version = "2.0.1"
|
||||
dependencies = [
|
||||
"directories",
|
||||
"futures",
|
||||
@@ -5372,7 +5372,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "pstr-meta"
|
||||
version = "2.0.0"
|
||||
version = "2.0.1"
|
||||
dependencies = [
|
||||
"pstr-core",
|
||||
"reqwest",
|
||||
@@ -5385,7 +5385,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "pstr-player"
|
||||
version = "2.0.0"
|
||||
version = "2.0.1"
|
||||
dependencies = [
|
||||
"async-trait",
|
||||
"libloading",
|
||||
@@ -5400,7 +5400,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "pstr-stream"
|
||||
version = "2.0.0"
|
||||
version = "2.0.1"
|
||||
dependencies = [
|
||||
"async-trait",
|
||||
"futures",
|
||||
|
||||
+1
-1
@@ -11,7 +11,7 @@ members = [
|
||||
]
|
||||
|
||||
[workspace.package]
|
||||
version = "2.0.0"
|
||||
version = "2.0.1"
|
||||
edition = "2024"
|
||||
license = "MIT"
|
||||
repository = "https://github.com/narrrl/proton-stream"
|
||||
|
||||
@@ -477,8 +477,12 @@ fun PlayerScreen(
|
||||
// four seconds after it is reached cannot be found again.
|
||||
val exploring = rememberTouchExploration()
|
||||
LaunchedEffect(exploring) { if (exploring) showControls = true }
|
||||
LaunchedEffect(showControls, state.paused, exploring) {
|
||||
if (showControls && !state.paused && !exploring) {
|
||||
// A chooser open over the controls. They hold still under it: the
|
||||
// choosers live inside the controls, so hiding them closed whatever was
|
||||
// being picked from, four seconds after the controls came up.
|
||||
var picking by remember { mutableStateOf(false) }
|
||||
LaunchedEffect(showControls, state.paused, exploring, picking) {
|
||||
if (showControls && !state.paused && !exploring && !picking) {
|
||||
delay(CONTROLS_SECONDS * 1_000)
|
||||
showControls = false
|
||||
}
|
||||
@@ -698,6 +702,7 @@ fun PlayerScreen(
|
||||
landscapeLocked = landscapeLocked,
|
||||
media = key,
|
||||
sleep = sleep,
|
||||
onPicking = { picking = it },
|
||||
onLock = {
|
||||
locked = true
|
||||
showControls = false
|
||||
@@ -949,6 +954,7 @@ private fun PlayerControls(
|
||||
landscapeLocked: Boolean,
|
||||
media: String,
|
||||
sleep: SleepTimer?,
|
||||
onPicking: (Boolean) -> Unit,
|
||||
onLock: () -> Unit,
|
||||
) {
|
||||
val scope = rememberCoroutineScope()
|
||||
@@ -957,6 +963,10 @@ private fun PlayerControls(
|
||||
var showEpisodes by remember { mutableStateOf(false) }
|
||||
var showChapters by remember { mutableStateOf(false) }
|
||||
var showSpeeds by remember { mutableStateOf(false) }
|
||||
var more by remember { mutableStateOf(false) }
|
||||
val picking = more || showSleep || choosing != null || showEpisodes || showChapters || showSpeeds
|
||||
LaunchedEffect(picking) { onPicking(picking) }
|
||||
DisposableEffect(Unit) { onDispose { onPicking(false) } }
|
||||
// What the store says, so the dialog opens on the rate that is playing.
|
||||
var speed by remember { mutableStateOf(1.0) }
|
||||
LaunchedEffect(Unit) {
|
||||
@@ -1037,7 +1047,6 @@ private fun PlayerControls(
|
||||
Row(verticalAlignment = Alignment.CenterVertically) {
|
||||
if (!roomForAll) {
|
||||
CompactIcon(Icons.Default.Subtitles, "Subtitles") { choosing = "sub" }
|
||||
var more by remember { mutableStateOf(false) }
|
||||
Box {
|
||||
CompactIcon(Icons.Default.MoreVert, "More") { more = true }
|
||||
DropdownMenu(expanded = more, onDismissRequest = { more = false }) {
|
||||
|
||||
@@ -89,6 +89,8 @@ containers.
|
||||
|
||||
## A title's page
|
||||
|
||||
<img src="../images/desktop-title.png" alt="A title's page" width="820">
|
||||
|
||||
Click a title to open its page. **Esc** goes back. On a phone, the picture at the top slides
|
||||
away more slowly than the page, and once it has gone a bar with the title's name stays at the
|
||||
top.
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 2.4 MiB After Width: | Height: | Size: 3.1 MiB |
Binary file not shown.
|
Before Width: | Height: | Size: 3.1 MiB After Width: | Height: | Size: 4.0 MiB |
Binary file not shown.
|
After Width: | Height: | Size: 2.4 MiB |
+1
-1
@@ -14,7 +14,7 @@
|
||||
# builds from the registry alone.
|
||||
|
||||
pkgname=proton-stream
|
||||
pkgver=2.0.0
|
||||
pkgver=2.0.1
|
||||
pkgrel=1
|
||||
pkgdesc="Netflix-style desktop client for Proton Drive public links: browse and stream a share"
|
||||
arch=('x86_64')
|
||||
|
||||
Reference in new issue
Block a user