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

Improve audio support #7

Open
2 of 6 tasks
Rinnegatamante opened this issue Mar 25, 2016 · 6 comments
Open
2 of 6 tasks

Improve audio support #7

Rinnegatamante opened this issue Mar 25, 2016 · 6 comments

Comments

@Rinnegatamante
Copy link
Owner

Rinnegatamante commented Mar 25, 2016

This is a complete TODO list regarding audio support:

BGM (Musics):

  • OGG support (partially implemented)
  • MP3 support
  • MIDI support
  • BGM_Pitch implementation
  • BGM_GetTicks implementation

Generic:

  • Write a proper audio wrapper which uses dsp::DSP service if csnd:SND is unavailable.
@Ghabry
Copy link

Ghabry commented Mar 31, 2016

Just to keep the people only following github and not the forum informed:
MP3 and MIDI support will be provided by the EasyRPG devs because the way how MP3/MIDI are currently supported is bad.

And BGM_GetTicks is a MIDI-only feature btw.

@Rinnegatamante
Copy link
Owner Author

Rinnegatamante commented Apr 17, 2016

BGM_Pitch produces a lot of bugs atm:

On csnd:SND:

  1. When called it seems to not be able to resume correctly sometimes, in the specific it seems to follow this pattern:

1st call: BGM playstate is paused but not in logic streaming (so it will continue the streaming but you'll not listen anything like if volume is 0) at the end of BGM_Pitch.
2nd call: BGM is fine.
3rd call: Same as 1st call.
...

  1. Looks like it produces random system crashes if used with pretty high samplerates (?)
  2. With high samplerates (like a 44100 samplerate BGM pitched with values >100) audio thread is not fast enough to correctly stream the song resulting in a corrupted BGM playback.

@Rinnegatamante
Copy link
Owner Author

BGM_Pitch finally fixed :P

@gnmmarechal
Copy link

awesome, updated the testbuild for the updater with the latest commit.

@Ghabry
Copy link

Ghabry commented Apr 19, 2016

You wrote a while ago that OGG does not work correctly.
Maybe this helps: Ghabry/easyrpg-player@9ef8469#diff-5ae40f1d5e418f1297a3df932be3d5b7L24

@Rinnegatamante
Copy link
Owner Author

Rinnegatamante commented Apr 19, 2016

Not at all, OGG doesn't work correctly only for BGMs cause it needs a different audio streaming function (since vorbisidec doesn't give you static PCM buffer sizes) and cause apparently secondary thread just crashes when used for BGM oggs. Sounds are working perfectly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants