android: tap-to-sync, the per-track auto-sync switch, the vocal-reduced copy
The editor the desktop drives with a mouse is better under a thumb: the song plays, the line to time sits large in the middle of the screen with the one behind and the one ahead faint around it, and a tap anywhere stamps it. One layer the back gesture peels, and a set left mid-tap is offered back by the row that opened it; Save writes the track's own document, lines never tapped left out of it and the button saying how many are kept. The lyrics sheet also gains the per-track auto-sync switch and the desktop's reduced-vocals copy — the same title, artist and duration, so the words keep following it, and one row puts the original back.
This commit is contained in:
1 parent
e693dfb868
commit
24c6857847
9 files changed
+434
-11
No files matched your search
+20
-2
@@ -21,7 +21,7 @@ implements is `research/mobile-mockup/` (gitignored; see its README).
|
||||
| `src/mobile/slsk.svelte.js` | the Soulseek hub: the connection, the rooms, the chats, the buddies — the desktop's `slsk` store and events |
|
||||
| `src/mobile/contacts.svelte.js` | the local view of a person on the network: a petname, a group, a note and the two marks (`contacts_meta_list` / `contact_meta_set`) — this phone only, published nowhere |
|
||||
| `crates/tauri-plugin-media-session/` | a Tauri plugin with a Kotlin foreground service (`MediaService`) that owns the `MediaSession`, the MediaStyle notification, audio focus and the becoming-noisy pause. The audio never passes through it; it is what keeps the process alive in the background and what the lock screen shows |
|
||||
| `src/mobile/Sheet.svelte`, `HalfSheet.svelte`, `Lane.svelte`, `Cover.svelte`, `Release.svelte` | the player (art / lyrics / queue faces, container transform from the mini bar, drags), the bottom sheets (track, record, sort, the page overflow, the sleep timer), the waveform lane, the two card pieces (a long press on a card is its sheet) |
|
||||
| `src/mobile/Sheet.svelte`, `HalfSheet.svelte`, `SyncRoom.svelte`, `Lane.svelte`, `Cover.svelte`, `Release.svelte` | the player (art / lyrics / queue faces, container transform from the mini bar, drags), the bottom sheets (track, record, sort, the page overflow, the sleep timer), the tap-to-sync room, the waveform lane, the two card pieces (a long press on a card is its sheet) |
|
||||
| `src/mobile/screens/` | Home, Search (the library half: records and artists here, tracks through `library_track_search`), Library (albums / artists / tracks / playlists), Album, Artist (the library's shell at once, the catalog dissolving in: portrait, Popular, discography with what is here marked), CatalogAlbum (a catalog record, rows the library has play), Playlist, Community (sign in; rooms, chat, buddies, taste — the Soulseek side; the private layer waits), Room, Thread, You (Appearance switches, real) |
|
||||
| `src/mobile/prefs.svelte.js` | Appearance, kept in localStorage: ambience, accent from artwork, motion |
|
||||
| `src-tauri/tauri.android.conf.json` | merged over `tauri.conf.json` on Android: one window at `mobile.html`, no desktop resources, `minSdkVersion` 26 |
|
||||
@@ -241,7 +241,25 @@ record the queue holds. A moment after boot the phone warms the library's thumbn
|
||||
desktop's way (`library_art_prewarm` at the cards' edge, one decode at a
|
||||
time behind the tiles' gate). The network results carry the hub's filters (a free slot only; FLAC or
|
||||
MP3 320+), and the lyrics sheet has the desktop's paste door (plain text,
|
||||
or LRC with timestamps, kept for the track). One switch the desktop never needed: You → Downloads → "Downloads on
|
||||
or LRC with timestamps, kept for the track).
|
||||
The rest of the lyrics tools came with it. The sheet carries the per-track
|
||||
auto-sync switch (`lyrics_set_auto_sync`), so the timing correction the app
|
||||
makes from a file's own lead-in can be turned off for one recording and back
|
||||
on. "Re-time by hand" opens the tap-to-sync room (`SyncRoom.svelte`, one
|
||||
more layer the back gesture peels): the song plays, the line to time sits
|
||||
large in the middle of the screen with the one behind and the one ahead
|
||||
faint around it, and a tap anywhere stamps it — the last tap undone, −5 s
|
||||
and play/pause under the thumb, and Save writing the track's own document
|
||||
(`lyrics_save_lines`, the top of the waterfall, where a paste lands too).
|
||||
Lines never tapped are left out of it and the button says how many are kept;
|
||||
a set left mid-tap by the back gesture is offered back by the row that
|
||||
opened it. "Play with reduced vocals" is the desktop's offline DSP
|
||||
(`lyrics_prepare_instrumental` — a band-limited centre cancel, not a
|
||||
separator, and the wording stays honest about that): the copy plays under
|
||||
the same title, artist and duration, so the lyric identity is still the
|
||||
recording's and the words keep following it, and one row puts the original
|
||||
back.
|
||||
One switch the desktop never needed: You → Downloads → "Downloads on
|
||||
Wi-Fi only" (`network.svelte.js`, off by default) holds every Save — a
|
||||
record, a track, a folder, a file, a playlist's bulk, the now-playing
|
||||
Save — while the phone is on mobile data (`navigator.connection.type`);
|
||||
|
||||
Reference in new issue
Block a user