Commit graph

818 commits

Author SHA1 Message Date
7107d95e7f fix: assets/orthodox: add , for middle element in json 2025-05-18 13:50:16 +05:30
408defd096 feat: assets/stations/religious: add and update islamic orthodox stations
- add new islamic stations
  - add orthodox-chants.ru 128kb stream
2025-05-18 13:46:48 +05:30
c0dd333744 fix: assets/stations: update praise 107.9 url
- remove temporary playSessionID query parameter from url
2025-05-18 13:13:56 +05:30
65e879919b fix: assets/orthodox: transliterate greek station names to latin 2025-05-17 20:46:25 +05:30
16db1a542a feat: assets: categorize religious stations
- split single religious.json file into multiple files on denomination
  - create separate files for each
2025-05-17 20:41:46 +05:30
89768a1771 assets: bring back fujairah fm 2025-05-11 20:55:09 +05:30
a271cc62bb use default poll value instead of 1000
- `waitForProcessButSpin` uses 1000 ms for poll
  - there is no need for that delay
2025-05-05 22:20:34 +05:30
e4f480a08d add small logging module 2025-05-05 22:19:30 +05:30
e23c4a333a disable useless hints when nlvm 2025-05-05 22:18:36 +05:30
0d352a4953 feat: player: add automatic retry on stream interruption
- impl retry mechanism when core goes idle after initial playback
  - attempt reconnection up to `RetryTimesWhenStreamInterrupt` (8) times
  - bell sound cue when retry attempts
2025-05-05 00:11:19 +05:30
b81a0acf4f assets: rm calmradio ambient station
- they are premium only
2025-05-04 22:20:45 +05:30
bf1348c1e6 feat: link: add timeout for station link check to testing
- use timeout (6s)
consider indefinite waits for unresponsive stations
2025-05-04 15:30:37 +05:30
8998b795ce assets: add more rock stations 2025-05-04 15:23:11 +05:30
b8d187c5ee fix: resolve ambigous use of debug
- last commits added module that had another debug
2025-05-03 21:09:45 +05:30
c18a80932a feat: ui: show spinner when async station check
- makes user feel like something is happening
2025-05-03 20:36:20 +05:30
75b13f42bc generalise spinLoadingSpinnerOnce for any coord 2025-05-03 20:22:30 +05:30
a17e2de9d6 fix: dont useless call terminalWidth()
strace shows a lot of ioctl(0, TIOCGWINSZ, ... )

unnecessarily calls terminalWidth to refresh
2025-05-03 18:56:18 +05:30
4f548e1fb4 refac: ui: fix simple build: mv spinner logic 2025-05-03 18:41:27 +05:30
635ecf9046 ui: remove unused count variable during loading 2025-05-02 19:52:11 +05:30
d80d9749ef feat: ui: show loading spinner until metadata ready
- make `spinLoadingSpinnerOnce` to run a single frame
  - spinner is dynamically at the right end
  - drive spinner animation from main loop until first property change
2025-05-01 17:47:58 +05:30
6b57c7ff4c remove health status 2025-05-01 17:26:53 +05:30
cee9a7796c remove code of conduct 2025-05-01 16:42:39 +05:30
98ac0fc4a5 ui: impl fixed-position loading spinner
- updates at a fixed position
  - rm old `showSpinner` from utils
2025-05-01 16:39:20 +05:30
ffc07023fb cleanup: rm redundant comments 2025-04-29 22:55:01 +05:30
d1d477ad7a bell/audio: make uri explicit for bell.ogg
- mpv handles no uri case
  - vlc does not
  - we make it explicit for both
2025-04-29 21:29:46 +05:30
81fa65d2e3 bell/audio: do proper init to play correctly for vlc 2025-04-29 21:28:57 +05:30
b38ed9a10b audio: export some functions
forgot to export important functions
2025-04-29 21:27:43 +05:30
7545f09fa6 audio: implement resourceIsOver for vlc 2025-04-29 20:58:07 +05:30
f910c9330d audio: make bell use new abstract audio module 2025-04-29 20:26:47 +05:30
0741fade92 audio: hide alloc mem for new audioHandle 2025-04-29 20:25:36 +05:30
3d8dd355f4 cleanup: hidestderr: restrict exports
- remove duplicate code paths within identical conditional compilation blocks
  - make c bindings and device constants private
2025-04-29 02:25:49 +05:30
a4e3262d92 audio: implement some audio functions for vlc backend
- implement some functoons for vlc
  - add usage example for the audio abstraction layer
2025-04-28 23:23:34 +05:30
0e4f790738 only fade volume when not simple 2025-04-28 17:46:29 +05:30
8d0abc5855 stations: update station lists 2025-04-28 17:45:52 +05:30
48cc0e8c89 refac: hidestderr: use proc(var state) instead of proc(ref state)
- simpler
  - no need for complex ref concepts
2025-04-28 01:17:37 +05:30
f51e3b32f6 refac: hidestderr: use ref on StderrState
more idiomatic cleaner nim code
2025-04-28 00:55:09 +05:30
ee28a13302 fix: fade: ensure fade-in begins at zero volume
`waitEvent` would launch core but volume remains last volume until `IDFileLoaded`,
so we make it zero at start itself
2025-04-27 14:08:23 +05:30
237b29c047 fade: ensure same fade foreach volume
- replace fixed sleep values with dynamic fade-in/out
2025-04-27 14:06:21 +05:30
4e096efb0c fade: fine tune the fade time 2025-04-26 20:12:52 +05:30
45a83b512e fade: make explicit cstring conversion 2025-04-25 20:58:08 +05:30
606465c721 audio: use setOptionString for setting vol
- safer (openbsd)
2025-04-25 20:26:41 +05:30
ba8c7e2802 feat: audio: add volume fadein/out 2025-04-25 20:06:47 +05:30
27e13d9293 menuui: fmt menu names with _ and !
- "_b" -> " B"
  - "!m" -> "M"
2025-04-24 18:22:12 +05:30
46c04da143 radiob: encode request for special characters
- spaces are transformed and requested as expected
2025-04-24 00:33:31 +05:30
de221dc2c9 ci: fix last commit caused recursive dep 2025-04-23 23:46:43 +05:30
248d5f7325 bell: use small delay when waitEventt 2025-04-23 23:39:38 +05:30
f9ae14b88d playerui: make key.space to pause/unpause
- familiar way to navigate
2025-04-23 23:29:56 +05:30
7805681f09 fix: quotes not showing app exit when release build
- isolate quotes logic to showQuotes
  - call showQuotes when app exit hook

thus we will show quotes when release or debug build
2025-04-23 23:07:12 +05:30
f55e5a809b fix: debug template to actually be correct 2025-04-23 23:03:06 +05:30
f4c621d712 fix: cursor visible after invalidChoice 2025-04-23 20:17:53 +05:30