Skip to content
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

WIP: Unify DOS and SDL music player #51

Draft
wants to merge 5 commits into
base: main
Choose a base branch
from
Draft

WIP: Unify DOS and SDL music player #51

wants to merge 5 commits into from

Conversation

cknave
Copy link
Owner

@cknave cknave commented Jun 21, 2023

Add DOS-like sound functions to the display interface so that both DOS and SDL can use the same music player in the text editor.

This finally lets SDL follow along with the playing music like DOS does.

cknave added 5 commits March 21, 2023 21:02
Since the DOS version has nicer integration with the editor, we'll base
it off the DOS PC speaker interface:

- sound(f);   delay(d); -> audio_square(f, d);
- nosound(f); delay(d); -> audio_silence(f, d);
Rather than allocating and reallocating a monster buffer of the entire
audio stream, generate it on demand from a smaller buffer of notes.

This still needs:
- callback emits an event to tell the player it needs more notes
- wait until buffer is drained before closing audio

It would also be nice to make a less harsh waveform.  It should be
relatively simple to add polybleps on the samples surrounding the
transition.
- Fix rendering rests (wasn't writing silence to buffer)
- Request more notes when buffer running low
- Drain the buffer before closing the device
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant