Skip to content

WIP: Unify DOS and SDL music player#51

Draft
cknave wants to merge 5 commits intomainfrom
new-play
Draft

WIP: Unify DOS and SDL music player#51
cknave wants to merge 5 commits intomainfrom
new-play

Conversation

@cknave
Copy link
Copy Markdown
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