[00:18:09] *** Alam_Debian has quit IRC [00:21:21] *** Alam_Debian has joined #openal [00:21:22] *** ChanServ sets mode: +v Alam_Debian [00:29:57] *** prophile has quit IRC [01:10:33] *** juanmabc has quit IRC [01:28:56] *** Walt has quit IRC [01:32:07] *** barra has quit IRC [03:46:40] <rsp> KittyCat: Are you gonna write a backend for PA? [03:47:24] <KittyCat> someone else was [03:51:23] <rsp> Cool [04:07:58] <rsp> Why does sound on Linux mini lag [04:08:25] <KittyCat> mini? [04:08:29] <rsp> Just a bit [04:08:46] <KittyCat> oh [04:09:11] <KittyCat> it depends on how its all set up, mostly [04:09:30] <rsp> But if i don't have an RT kernel [04:10:01] <KittyCat> the more software mixing and indirection between program and soundcard you get, the more time it takes for the program's changes to reach the soundcard and play [04:10:14] <rsp> Pretty bad if you want to set your sound up in a game to match the unaware lag :P then you compile it for X and go "what the?" [04:10:25] <KittyCat> the larger the mixing buffers, the more time it takes for the soundcard to get it [04:10:34] <rsp> Ok [04:19:31] *** rsp has left #openal [05:25:35] *** rsp has joined #openal [05:25:36] *** ChanServ sets mode: +v rsp [06:32:41] <rsp> KittyCat: My music class makes the sound repeat when it's supposed to be done! [06:32:47] <rsp> 1 second [06:35:30] <rsp> bool Music::Playing() {ALenum State; alGetSourcei(Source,AL_SOURCE_STATE,&State); return State==AL_PLAYING;} [06:38:10] <rsp> if(MyMusic.Playing()) MyMusic.Update(); [06:38:15] <rsp> Is that correct? [06:38:34] <KittyCat> so far, yeah [06:39:31] <rsp> Wait I'm cutting out the code [06:40:09] <rsp> I remember this bug from many games actually, is it common? [06:45:22] <KittyCat> hmm. actually your Playing()Update() thing is wrong [06:45:29] <KittyCat> you don't need to check Playing() [06:45:34] <rsp> Ok! [06:45:55] <KittyCat> and at the end of Update(), if the source state isn't playing, you want to play it. [06:46:09] <KittyCat> actually.. [06:46:58] <KittyCat> you can probably make active part of the class, instead of global to the function [06:47:25] <rsp> Ok [06:48:12] <KittyCat> set it to true when you start playing [06:48:26] <KittyCat> and return that value in Playing() [06:49:00] <rsp> Instead of State==AL_PLAYING [06:49:22] <KittyCat> yeah [06:53:45] <rsp> Weird, it plays the buffer 1 more time [06:53:48] <rsp> Then stops [06:59:15] <rsp> Ok it works when I wrote this in the while(processed--) [06:59:19] <rsp> if(!Active)break; [07:00:11] <KittyCat> can do that at the beginning of Update [07:00:55] <rsp> It loops one more time then [07:01:15] <KittyCat> huh? [07:01:41] <rsp> I know [07:02:30] <KittyCat> oh. [07:03:00] <KittyCat> put the if(Size == 0) check after alBufferData, in Stream [07:04:18] <rsp> Thanks! [07:07:52] <KittyCat> while(processed--) { should also be while(processed-- && Active) { [07:10:32] <rsp> Ok! [07:11:56] <rsp> I have a regular sound that moves from left to right [07:12:09] <rsp> Around center, it clicks real fast once [07:12:37] <rsp> Just as it is changing to the right speaker [07:13:07] <rsp> Sometimes it's soft and ok sometimes it's more aggressive [07:13:55] <rsp> (Only happens when Z is 0 afaik) [07:14:24] <rsp> Maybe that's a limitation though [07:15:31] <rsp> When Z 0.1 it sounds great [07:16:14] <KittyCat> when z = 0, the sound will just jump from hard left to hard right [07:16:37] <KittyCat> when z != 0, it'll have a smoother path (smoothness depending on the distance) [07:17:02] <rsp> Okay then it's just normal! [07:19:12] <rsp> By the way, that problem with fullscreen changing seemed to dissapear when I changed the define to #define MUSIC_BUFFER_SIZE (4096*16) [07:19:37] <rsp> Is that possible or is it temporary [07:19:54] <rsp> It was *8 before I changed [07:20:33] <KittyCat> I don't see what would cause that to change anything [07:20:46] <rsp> Me neither [07:21:13] <rsp> Is it recommended to stick with the lower value? [07:21:24] <rsp> 0.1MiB memory difference [07:21:48] <KittyCat> hmm [07:22:26] <KittyCat> personally, I'd probably use 16*1024, with 3 Buffers [07:22:35] <rsp> Ok [07:22:45] <KittyCat> actually, I think I realized what it is [07:22:53] <rsp> 2 buffers? [07:22:58] <rsp> Is that the problem? [07:23:21] <KittyCat> when you switch away, it drains the process of CPU time. however, it's still playing. [07:23:26] <rsp> Yes [07:23:44] <KittyCat> when it gets to the end of the buffer queue, the source stops. even though it has more to play, you don't restart the source [07:24:24] <KittyCat> which is why at the end of Update(), you check the source state and make sure it's playing (and if not, start the source again) [07:24:53] <KittyCat> so even if it gets to the end, it'll start up again [07:24:58] <rsp> Yeah that's it! [07:25:18] <KittyCat> the larger buffer just keeps it from hitting the end prematurely [07:26:02] <rsp> ok! [07:26:41] <rsp> Yes that was the reason [07:26:55] <rsp> You've been everywhere hehe [07:27:45] <KittyCat> :) I use openal quite a bit. just not much I've released [07:28:35] <rsp> :3 I'm curious about what your projects must be like [07:29:51] <rsp> A higher music buffer size would allow a user with a slow cpu to still get the music to play smooth when changing window mode fullscreen [07:30:08] <rsp> That's a fact right? [07:30:37] <KittyCat> yeah. directshow seems to use a 1-second long buffer for streaming playback [07:30:44] <rsp> Ok! [07:30:55] <KittyCat> 16K * 3 should be good enough [07:31:02] <rsp> One second of raw audio [07:31:09] <KittyCat> yeah [07:31:12] <rsp> Ok [07:32:08] <rsp> #define MUSIC_BUFFER_SIZE 16384*3 [07:32:31] <rsp> Works great [07:32:38] <KittyCat> no, 16K each [07:32:55] <rsp> per buffer? [07:33:12] <KittyCat> whatever you set MUSIC_BUFFER_SIZE to will be multipled by the number of buffers you have queued [07:33:30] <rsp> automatically yeah that's true [07:34:08] <rsp> Though I get small hang ups [07:34:18] <rsp> When I alt+tab and test some stuff [07:34:31] <KittyCat> having 3 buffers is probably better than 2, so you can be filling one buffer, and AL can be playing another and ready to pick up the next [07:35:05] <rsp> Yeah that's a way to do it [07:35:53] <rsp> 3 buffers is to small to care about putting in a vector right? [07:35:59] <rsp> too* [07:36:19] <KittyCat> yeah. 3 ints is fine [07:37:34] <rsp> I think I am using 3 buffers now [07:37:38] <KittyCat> just make sure to generate, queue, and destroy all 3 [07:37:47] <rsp> Yes that's what I changed [07:37:56] <rsp> No cange in ::Stream though [07:38:01] <rsp> That was what I was worried about [07:38:24] <KittyCat> Stream and Update shouldn't need to be changed [07:38:35] <rsp> Yeah ok I guess I am using 3 buffers now then I'll test again [07:38:58] <rsp> Works great, thanks for the advice [07:39:08] <KittyCat> no problem [07:39:13] <rsp> :) [07:40:23] <rsp> Is there any OpenAL Soft function that returns the compiled version as a cstring or something? [07:41:20] <KittyCat> no, other than maybe parsing the lib filename (for unices) [07:41:27] <rsp> Ok [07:45:26] <rsp> Have you ever used geany? [07:45:36] <KittyCat> nope [07:45:55] <KittyCat> never heard of it [07:46:00] <rsp> What IDE/text editor do you use? [07:46:23] <rsp> I usually code with gedit but geany is good for larger projects [07:46:52] <KittyCat> nano, kate, or kdevelop, depending on what I need to do at the moment [07:46:59] <rsp> Ok :) [07:48:09] <rsp> You know Sound *Snd=new Sound; [07:48:33] <rsp> Is there anyway I can do that in a function and get access to it from another without a global declaration? [07:48:52] <rsp> My only thought is map with enum [07:49:07] *** rsp has left #openal [07:49:10] *** rsp has joined #openal [07:49:11] *** ChanServ sets mode: +v rsp [07:49:15] <rsp> oops :P [07:52:09] <KittyCat> depends on what functions need to access it [07:53:14] <KittyCat> if it's global functions, it'll need to be a global variable/list (unless you want to pass it around as a parameter, but that's not very clean). [07:53:39] <rsp> Ok. [09:08:15] <rsp> Time for school [09:08:40] <rsp> I guess it's good night in your time zone! [09:08:43] *** rsp has left #openal [09:26:25] *** predaeus has joined #openal [09:26:26] *** ChanServ sets mode: +v predaeus [10:09:25] *** Dentoid has joined #openal [10:16:09] * KittyCat is away: sleep [13:41:16] *** predaeus has quit IRC [13:44:17] *** juanmabc has joined #openal [13:44:18] *** ChanServ sets mode: +v juanmabc [15:12:47] *** Walt_ has joined #openal [15:20:32] *** Walt_ has quit IRC [15:23:42] *** Walt_ has joined #openal [15:25:43] *** Walt_ has quit IRC [15:39:20] *** barra_library has joined #openal [16:22:44] *** rs1 has joined #openal [16:23:07] *** rs1 is now known as rsp [16:27:01] *** ChanServ sets mode: +v rsp [16:59:27] *** barra_ has joined #openal [17:13:03] *** barra_library has quit IRC [17:19:19] *** predaeus has joined #openal [17:19:19] *** ChanServ sets mode: +v predaeus [18:21:38] *** Dentoid has quit IRC [18:32:32] *** barra_ has quit IRC [21:04:30] *** predaeus has quit IRC [21:18:24] *** juanmabc has quit IRC [21:25:00] * KittyCat is back. [21:58:39] *** nitrotrigger has joined #openal [21:59:20] <nitrotrigger> how do I make sure that openal is installed properly? [22:00:28] <KittyCat> on your system? just try running an openal app [22:00:45] <KittyCat> what OS? [22:01:35] <nitrotrigger> fedora 8 [22:02:59] <KittyCat> just running an openal app is the best way, really [22:04:37] <nitrotrigger> I haven't any :( [22:12:36] <nitrotrigger> http://pastebin.com/m911b89e [22:13:36] <KittyCat> hmm.. [22:13:51] <KittyCat> what if you include AL/al.h and AL/alc.h before AL/alut.h? [22:14:15] <nitrotrigger> let's see [22:15:13] <nitrotrigger> didn't help [22:33:28] <nitrotrigger> 0.0.8 [22:34:03] <KittyCat> never heard of an issue with the headers before [22:34:13] <KittyCat> what compiler are you using, and what version? [22:34:45] <nitrotrigger> g++ (GCC) 4.2.2 [22:34:47] <nitrotrigger> Copyright (C) 2007 Free Software Foundation, Inc. [22:34:47] <nitrotrigger> This is free software; see the source for copying conditions. There is NO [22:34:47] <nitrotrigger> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. [22:39:17] <KittyCat> I don't see anything wrong with the headers.. [22:39:29] <KittyCat> where did you get alut? [22:41:06] <nitrotrigger> I installed it from my package manager [22:41:10] <nitrotrigger> freealut [22:47:26] <nitrotrigger> I have to go to sleep (can't keep my eyes open)... [22:47:41] *** nitrotrigger has quit IRC