Jump to content
  • Advertisement
Sign in to follow this  
dudeBot

Unity openAL timing woes (my first post)

This topic is 4408 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hello to all, This is my first post at devmaster.net and I'm glad to be part of the community. I am working on project using openGL(win32) and I was wanted to use openAL for the audio. My problem is with getting audio loops (.wav) to playback in sync. I've used GetClickCount() and timeGetTime() to attempt to keep track of the musical measures. Since I'm still early in the development stage of this project, I'm starting with 2 .wav files both at 80bpm. At 80bpm the time between each quarter note is 750ms (1000ms*60sec)/80bpm. My code is set to check if 750ms or more have expired and if so, I increment a "quarter note" variable. If I've got more than 4 quarter notes then I set the value to 1 and increment a "measure" variable. So it’s kind of like a metronome or measure/beat counter common in sequencing software. In my test, I count down 4 quarter notes and then start playing the first loop. On the first down note of the ninth measure, the second loop starts to play as well. So...I was doing this at work on my fat Dell XPS and hurray!!!! not only did it work, but my measure/beat counter (which is displayed on screen) seemed to be keeping "perfect" time. But when I got home to test it out on my 1.5ghz p4 boo!!!!!!!! it was starting to get out of sync by the 9th measure...which made me very very sad. As I said I've tried using both GetClickCount() and timeGetTime(). GetClickCount() worked on the Dell at work, but timeGetTime() did not, and of course neither worked at home. The only thing I have not tried is QueryPerformanceCounter which I have not figured out how to implement, and I have also seen many recommending to stay clear of it. Ultimately, I'd like to have 1 or 2 major loops (about 8 measures each) and then have maybe 10 or so other shorter sounds that would not loop but would play back in sync on user events. Seems reasonable, but its gonna sound pretty crappy if I have a bunch of 80bmp loops playing at the same time out of sync. I am hoping that someone can give me some advice on how to manage a timing system accurate enough so when a new sound plays it can do so on the next down beat or next measure. I'd be happy with that, I won’t even worry about eighth or sixteenth notes. Since I am still in early development, I would be open to options other than openAL if there are other technologies better suited. I hope that I'm not being over ambitious here. I'm optimistic that it can be done, but I have run out of ideas. Sorry for the book here. Thanks in advance dudeBot

Share this post


Link to post
Share on other sites
Advertisement
Quote:
Original post by dudeBot
This is my first post at devmaster.net and I'm glad to be part of the
community.

Clearly not.

Share this post


Link to post
Share on other sites
well...if all i get is a flame for pasting
the message I posted at devmaster and forgetting
to change it to gamedev, then maybe you are
indeed correct.

Share this post


Link to post
Share on other sites
Quote:
Original post by dudeBot
well...if all i get is a flame for pasting
the message I posted at devmaster and forgetting
to change it to gamedev, then maybe you are
indeed correct.

It's just a joke, far from a flame. Chill out, dude. [cool]

Share this post


Link to post
Share on other sites
I can take a joke.
I though it was pretty funny that I did that
I guess if I had written the reponse
I would have put some kind of smile after the comment
to make sure that it was taken as a joke. :)

I guess I was more looking for some help with my post.
And I guess I got more busted than flamed.

Anyway, sorry if I over reacted, just looking for
some guidance.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!