New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Experimental audio playback support from BIN/CUE files. #207
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good overall. Left a few small notes, but nothing critical.
Let us know when you consider it ready for merging.
lib/ZuluSCSI_platform_RP2040/audio.h
Outdated
* The first two are for a live condition and will be returned repeatedly. The | ||
* following two reflect a historical condition and are only returned once. | ||
*/ | ||
enum audio_status_code { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would these parts be common to all platforms if another platform gets audio support in future?
If yes, it could be better to make src/ZuluSCSI_audio.h
for the common parts and interface.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good idea, I'll resolve that.
Also adds image position() call, for audio checking and removal of separate mechanism tracking system.
RP2040 scsiPhy.cpp drops to SCSI1 compatibility when IDENTIFY messages are not received, preventing this page from being sent to some hosts (68k Macs) otherwise expecting it.
I'm a novice at C++ and I'm concerned this is not good practice, I'm open to a different approach: goal here is to share underlying resources including position tracking.
Fixing my error from prior commit and properly handling current position playback request, hopefully.
Should now be minimally functional across platforms. Testing has shown lots of SCSI command variability across audio playback software, so if merged this probably needs a public 'still experimental' disclaimer for any users. Known bugs include:
If this seems like it needs refactoring, more time in the oven, etc, let me know. |
Looks good to merge in my opinion. I agree that it should be considered experimental feature, but I guess the related hardware is also still experimental. |
First attempt at getting audio playback working with the new BIN/CUE support. This has been tested to play audio successfully using 'cdplay' on a modern Linux host. There are bugs and this is not ready for merging, but hopefully the PR can give an idea of potential changes for CD-DA. I'll keep developing this toward something more polished. Known issues: