2169 Commits

Author SHA1 Message Date
rakslice
772252f24c Revert "Best guess audio CD from data calls to allow multiple discs and testing different interface identifiers"
This reverts commit 35439819d3.
2025-01-10 03:08:31 -08:00
kanjitalk755
9175c4285b test for bin/cue player lock 2025-01-10 15:45:09 +09:00
kanjitalk755
5b72b58226 Merge pull request #244 from rakslice/bincue_audio_output_conversion_fix
bin/cue: Fix gappy CD playback when the audio output is not set to CD quality
2025-01-09 13:33:16 +09:00
rakslice
2816889d2e changes for b2 high precision timer for posix 2025-01-08 07:07:14 -08:00
rakslice
629d0d0874 bin/cue: Fix gappy CD playback when the audio format is not CD quality due to not converting enough source audio 2025-01-08 02:34:53 -08:00
kanjitalk755
1bedfac618 Merge pull request #243 from rakslice/bincue_cdscan_replacement
bin/cue: CD Scan (fast-forward/reverse) implementation
2025-01-08 19:24:49 +09:00
kanjitalk755
3498324bdb Merge pull request #241 from rakslice/remove_mixaudio_volume
bin/cue: removed unused MixAudio volume param
2025-01-08 19:22:18 +09:00
kanjitalk755
51e3a90866 Merge pull request #236 from rakslice/bincue_motorola
bin/cue: Implement MOTOROLA keyword for big-endian audio data
2025-01-08 19:21:55 +09:00
rakslice
3eff56b91d Merge branch 'master' into remove_mixaudio_volume 2025-01-08 01:44:45 -08:00
rakslice
420a51ce6e bin/cue: support cue sheet "AUDIO" entry with "MOTOROLA" (big-endian raw audio) 2025-01-08 01:26:08 -08:00
rakslice
5b8d1064e5 Merge branch 'master' into bincue_motorola 2025-01-08 01:20:48 -08:00
rakslice
bc5b8237ed Merge branch 'master' into bincue_cdscan_replacement 2025-01-08 01:09:47 -08:00
kanjitalk755
36b5206b90 Merge pull request #235 from rakslice/sdl3_audio_interrupt_thread
SDL 3 audio: use a separate thread for audio interrupt with stream
2025-01-08 18:06:53 +09:00
kanjitalk755
2a859c323b Merge pull request #237 from rakslice/bincue_main
bin/cue: opening/closing and fixes
2025-01-08 18:01:27 +09:00
kanjitalk755
08877b7aeb Merge pull request #238 from rakslice/sdl_dnd_in_main_thread
Handle SDL drag-and-drop in main thread
2025-01-08 17:59:24 +09:00
kanjitalk755
749655f063 Merge pull request #242 from rakslice/bincue_no_play_data
bin/cue: prevent CDPlay_bincue of data track
2025-01-08 17:53:09 +09:00
kanjitalk755
774c537356 Merge pull request #240 from rakslice/bincue_underrun
SDL 3 audio: avoid underrun when only bin/cue is playing
2025-01-08 17:50:48 +09:00
rakslice
55c5ecb464 bin/cue: replaced the Audio CD Scan (fast-forward/reverse) implementation 2025-01-07 23:08:45 -08:00
rakslice
b459223aa9 bin/cue: prevent CDPlay_bincue of data track 2025-01-07 21:49:14 -08:00
rakslice
5aacd4477c bin/cue: removed unused MixAudio volume param 2025-01-07 21:43:44 -08:00
rakslice
9b0ea7ce2c SDL 3 audio: avoid underrun when there is only bincue playback by increasing output target for that case also 2025-01-07 21:23:28 -08:00
rakslice
866aa59088 Remove declaration that belongs in a different commit 2025-01-07 21:21:22 -08:00
rakslice
1de5be48ed Handle SDL drag-and-drop events on the main thread to avoid hanging up the redraw thread 2025-01-07 20:22:24 -08:00
rakslice
28b211bb43 bin/cue audio playback: fix teardown nesting in close_bincue 2025-01-07 20:20:17 -08:00
rakslice
8e4d39b8c5 bin/cue: audio playback related fixes
- Refactored bin/cue CD player SDL streams' opening and closing
  * Added `CloseAudio_bincue` which closes CD player streams and leaves them in a state for `OpenAudio_bincue` to open the stream again without error
  * Save audio settings of most recent `OpenAudio_bincue` so that any new bin/cues opened later have their streams opened right away
- Fix a crash where the bincue's entry remains in the collection when closed
- When a bin/cue that is currently playing is closed, stop it first, to avoid a crash
- When a preconfigured cdrom (which isn't closed when ejecting) is ejected, stop it first to avoid an uncontrollable audio stream continuing in the case of a bin/cue
2025-01-07 17:10:15 -08:00
rakslice
075db1949b bin/cue: support cue sheet "AUDIO" entry with "MOTOROLA" (big-endian raw audio) 2025-01-07 16:24:27 -08:00
rakslice
64cd8155e0 sdl3: use a separate thread for audio interrupt; connect to the stream callback with another stream
This change puts the audio interrupt SoundComponentData handling part of the stream callback in a separate thread,
and connects to remaining callback with an SDL stream rather than a queue of bytes, and uses the
stream for format conversion as necessary.

- Taking the audio interrupt cycle out of the main callback isolates the possibly high latency
  of that from SDL3 drivers that are very sensitive to the callback taking too long (e.g. pipewire).

- Handles conversion of the audio from the SoundComponentData when necessary; generates the appropriate amount of silence if the format is unknown
2025-01-07 15:52:34 -08:00
rakslice
7ae4a71c6c SDL audio, bin/cue: quick fix for volume controls 2025-01-07 15:39:32 -08:00
kanjitalk755
d59278dd96 fix #233 2025-01-07 17:28:41 +09:00
rakslice
64a72eaea2 sdl3 audio: provide float volume control value for sdl3 2024-12-31 04:46:02 -08:00
rakslice
fd81480959 sdl 3 audio: fix flipped return value in startup wav stream load 2024-12-30 22:24:21 -08:00
rakslice
44d3df3c4b sdl 3 audio: fix audio close to handle close/reopen for mac audio settings change 2024-12-30 22:24:21 -08:00
rakslice
d57d0689c0 sdl 3 audio: improve audio pushing to reduce stuttering and errors 2024-12-30 22:24:21 -08:00
kanjitalk755
e013a88546 Merge pull request #229 from rakslice/unix_microseconds_fix
Fix Microseconds() implementation for clock_gettime and other posix
2024-12-30 10:17:40 +09:00
kanjitalk755
3d1cffdc20 Merge pull request #227 from rakslice/gtk3_volume_list_dnd
Add volume list file drag-and-drop to the Unix gtk3 UI
2024-12-30 10:15:14 +09:00
rakslice
2a1353896f another faux time-since-boot implementation for Microseconds() for clock_gettime and other posix 2024-12-29 15:18:27 -08:00
kanjitalk755
96e7f8566c Merge pull request #226 from rakslice/makedepend_fixups
Update depend targets for single obj build directory
2024-12-29 20:23:57 +09:00
rakslice
62b934e641 Add volume list file drag-and-drop to the Unix gtk3 UI 2024-12-29 03:05:25 -08:00
rakslice
43bc4ce944 make the same makedepend changes for Windows 2024-12-28 20:28:27 -08:00
rakslice
f396254b62 Update depend dep targets for single obj build directory 2024-12-28 19:10:37 -08:00
rakslice
d59eed0cfc Do not preserve cached ethernet packet allocation across restarts 2024-12-28 06:15:17 -08:00
kanjitalk755
d3aa80f703 Merge pull request #221 from rakslice/gtk2_volume_list_dnd
Add volume list file drag-and-drop from Windows gtk2 UI to the Unix gtk2 UIs
2024-12-07 15:04:25 +09:00
rakslice
4c11b34872 also copy the volume list drag and drop support to the b2 version of the unix gtk2 gui 2024-12-06 01:23:35 -08:00
rakslice
aa77d0269f When there is no cdrom configured or autodetected, create a placeholder one to use with drag and drop 2024-11-23 22:28:31 -08:00
rakslice
678fffa5f5 GTK2 version of SDL scaling settings 2024-11-14 19:25:33 -08:00
rakslice
666797fdee add scaling settings for sdl to gtk3 ui 2024-11-14 03:10:14 -08:00
robxnano
e35f659764 Remove call to XInitThreads
As SDL (which calls XInitThreads internally) is now initialized
before GTK, this is no longer needed.

This reverts commits f5b277548b,
ccf38a4005 and
19033a4a39.
2024-10-08 17:03:27 +01:00
kanjitalk755
52c5db16e4 Fix for SDL3 3.1.3 Preview 2024-10-07 15:12:05 +09:00
kanjitalk755
62b88fa0ae float mag_rate 2024-10-07 12:04:02 +09:00
rakslice
eeb50415ca cast address pointer passed to getsockname 2024-10-05 13:22:49 -07:00