[00:53:18] *** rsp has left #openal [01:23:50] *** Walt has quit IRC [02:11:06] *** Walt has joined #openal [04:33:39] *** juanmabc has quit IRC [06:35:30] <qknight> KittyCat: test [06:35:54] <qknight> ;-)) [07:12:08] <KittyCat> hi [07:31:51] <qknight> i'm still writing this plugin [07:32:09] <qknight> KittyCat: could i have a svn account for checking in the latest version? [07:32:20] <qknight> or would you like to have a diff? [07:32:33] <qknight> is this hosted on sf.net? [07:32:59] <qknight> KittyCat: if you consider a svn access, my sf.net account is called qknight [07:34:38] <KittyCat> it's using git at repo.or.cz [07:35:05] <qknight> ok [07:35:09] <qknight> never used git before [07:35:34] <qknight> is ut2004 linked statically against openal si? [07:36:50] <KittyCat> no. it uses openal.so in one of the sub-dirs [07:37:10] <KittyCat> can just move that file and make a symlink to openal soft to replace it [07:52:12] <qknight> ok tested it [07:52:19] <qknight> works perfectly with pulseaudio [07:52:23] <qknight> the latency is still high [07:52:36] <qknight> until i fix it to use pulseaudio glitch_free branche [07:52:37] <qknight> ;-) [08:53:32] *** Walt has quit IRC [09:04:05] *** rsp has joined #openal [09:04:05] *** ChanServ sets mode: +v rsp [09:14:35] <rsp> Do you know what [09:14:40] <rsp> s wrong KittyCat [09:18:35] <rsp> A reminder I was talking about alGenEffects not being declared [09:25:08] <KittyCat> you have to get it from alGetProcAddress [09:25:17] <KittyCat> it's not declared in the headers because it's an extension [09:25:43] *** predaeus has joined #openal [09:25:43] *** ChanServ sets mode: +v predaeus [09:25:43] <rsp> How do I use alGetProceAddress to get it [09:27:24] <rsp> is it just alGetProcAddress("alGenEffects"): [09:27:31] <KittyCat> void (*p_alGenEffect)(ALsizei, ALuint*); [09:27:32] <KittyCat> ... [09:27:43] <KittyCat> p_alGenEffects = alGetProcAddress("alGenEffects"); [09:28:14] <KittyCat> then call p_alGenEffects(count, &effects); [09:28:15] <rsp> Ok! [09:29:09] <KittyCat> just make sure the AL_EXT_EFX extension is available, otherwise you may not get a valid function and crash when you try to call it [09:29:27] <rsp> Ok! [09:29:48] <rsp> But if its software render shouldn't it always be there [09:29:58] <KittyCat> in openal soft [09:30:16] <KittyCat> but the SI, older creative drivers, or maybe new hardware drivers, may not have it [09:30:33] <rsp> Ok [09:30:52] <rsp> Which users won't have it [09:31:02] <rsp> Really old hardware? [09:31:29] <KittyCat> hardware that doesn't have EAX [09:31:42] <KittyCat> when using creative's generic hardware device [09:33:19] <rsp> Ok [09:33:40] <rsp> Is that kind of hardware still being made today [09:41:18] <rsp> invalid conversion from void* to <pointer voids declare> [09:41:48] <rsp> it says it's void (*)(ALsizei,ALuint*) [09:43:29] <KittyCat> p_alGenEffects = reinterpret_cast<typeof(p_alGenEffects)>(alGetProcAddress("alGenEffects")); [09:43:52] <KittyCat> can probably use a macro for that [09:44:27] <KittyCat> #define LOAD_FUNC(x) p_##x = reinterpret_cast<typeof(p_##x)>(alGetProcAddress(#x)) [09:44:33] <KittyCat> LOAD_FUNC(alGenEffects); [09:45:12] <rsp> typeof [09:45:20] <rsp> Any header? [09:45:34] <KittyCat> nope. it's like size(), automatically defined [09:45:41] <rsp> Ok wait [09:45:44] <KittyCat> though I think it may be a GCC extension.. I'm not sure [09:45:52] <KittyCat> sizeof() I mean [09:45:53] <rsp> I am using GCC [09:50:02] <rsp> Doesnt work :/ [09:50:21] <KittyCat> wwhat's the error? [09:50:51] <rsp> expected type specifier before typeof [09:52:46] <rsp> It [09:52:51] <rsp> s not declared anywhere [09:52:54] <KittyCat> might need to be more verbose, then.. [09:53:10] <KittyCat> typedef void (*PFNALGENEFFECTS)(ALsizei, ALuint*); [09:53:24] <KittyCat> PFNALGENEFFECTS p_alGenEffects; [09:53:34] <KittyCat> p_alGenEffects = reinterpret_cast<PFNALGENEFFECTS>(alGetProcAddress("alGenEffects")); [09:54:22] <KittyCat> I could've sworn I've used typeof() in a reinterpret_cast before, though.. [09:54:31] <rsp> C++ [09:54:36] <rsp> GCC 4.2.3 [09:57:35] <KittyCat> the creative sdk has a header that predefines all the efx type stuff [09:57:54] <rsp> Ok [09:58:09] <KittyCat> should be able to copy that into your poject (and change the __cdecl's to AL_APIENTRY [09:58:19] <rsp> Cool [10:01:05] <rsp> AL_EFFECT_TYPE wasn [10:01:10] <rsp> t declared [10:01:13] <rsp> That's the stuff you mean? [10:01:54] <KittyCat> AL_EFFECT_TYPE is in efx.h (in the sdk) [10:02:24] <rsp> : [10:02:27] <rsp> :) [10:02:30] <rsp> stupid laptop keyboard [10:03:35] <rsp> I have to make another pointer to alEffecti [10:04:14] <KittyCat> LPALEFFECTI is typedef'd in efx.h [10:04:39] <KittyCat> basically just LP + the function name in all caps [10:04:40] <rsp> Ok [10:06:56] <rsp> 1263 effects not deleted [10:06:57] <rsp> hehe rofl [10:07:10] <rsp> alDeleteEffects(uiEffect); ? [10:07:28] <KittyCat> alDeleteEffects(1, &uiEffect); [10:10:23] <rsp> Great that makes it 690 left [10:10:33] <rsp> It's random, 355 now [10:11:00] <rsp> nvm w8 [10:11:52] <rsp> lol I was assigning in SoundUpdate() [10:13:36] <rsp> Ok so I've got my effect now how do I assign it to something [10:14:29] <KittyCat> set it to an effect slot, and set the effect slot to the source [10:16:28] <rsp> I will only need one right [10:16:38] <rsp> If I am to use only reverb and static for now [10:16:56] <KittyCat> yeah [10:17:13] <KittyCat> openal soft and creative's software driver only support one effect slot [10:17:24] <rsp> Stupid pdf tutorial [10:17:26] <rsp> :P [10:17:39] <KittyCat> you can have multiple effects, but only one can be set to an effect slot at a time [10:17:51] *** jvalenzu has quit IRC [10:17:51] <rsp> ok [10:18:28] *** jvalenzu has joined #openal [10:18:28] *** irc.freenode.net sets mode: +v jvalenzu [10:25:04] <rsp> KittyCat: Do you know any good progams for generating sound [10:25:18] <rsp> Kind of realistic ones [10:25:46] <KittyCat> not really. I'd just search online for free sound effects [10:25:54] <rsp> Ok [10:26:07] <rsp> I'm gonna link you something cool [10:26:12] <rsp> Do you like 8bit type sounds [10:26:38] <rsp> http://www.cyd.liu.se/~tompe573/hp/project_sfxr.html [10:26:55] <rsp> You can generate your own sounds and set all the details to change them a bit [10:27:12] <rsp> There's an SDL version [10:43:15] *** jvalenzu has quit IRC [10:43:34] *** jvalenzu has joined #openal [10:43:34] *** irc.freenode.net sets mode: +v jvalenzu [10:43:59] <rsp> KittyCat: Since I have a Sound class, should I put the effect stuff in there? [10:44:08] <rsp> I can't access outside variables easily right [10:45:08] <KittyCat> either in the sound class, or something related to it [10:45:26] <rsp> static would make me save ram right [10:45:33] <rsp> It [10:45:45] <rsp> s only creates the effects once [10:49:11] <KittyCat> can probably just put an effect with each source [10:49:25] <rsp> Ok [10:49:30] <KittyCat> create it when you need it, and attach/detach it as needed [10:50:00] <KittyCat> you'll need to share an effect slot for all sounds though, since you're not gauranteed to have more than one [10:50:16] <rsp> That's true [10:50:21] <rsp> static [10:52:18] <rsp> You are always five hundred steps ahead of me hehe [10:53:00] <rsp> The effect works [10:53:07] <rsp> I need to do refactoring later brb [11:19:09] <rsp> The sound doesn't feel like a 3d position with the reverb effect [11:20:55] <KittyCat> the reverb itself is played centered [11:21:10] <KittyCat> the direct path/initial sound is panned, though [11:21:27] <rsp> Ok [11:23:04] <rsp> Ok is that how it should be [11:24:39] <KittyCat> no idea, honestly. but it makes sense [11:24:48] <rsp> Ok [11:24:53] <KittyCat> the reverb is from the sound reverberating on the environment, which is all around it [11:25:05] <KittyCat> it/you [11:25:10] <rsp> Hmm yeah [11:25:47] <rsp> My Audacity keeps crashing on me when I want to save a file I did stereo to mono with :( [11:26:31] <KittyCat> yeah. I haven't had good luck with many wxGTK apps. they're all unstable (if I can even get them to build, they're generally crashy) [11:26:38] <rsp> :( [11:29:16] <rsp> How many different environments are there generally [11:29:25] <rsp> large room [11:29:29] <rsp> "bathroom" [11:29:34] <KittyCat> depends on the game [11:29:56] <KittyCat> can vary from large open fields, to closed stone buildings, to tight metalic pipes [11:30:02] <rsp> Ok [11:30:21] <rsp> Does a sound always reverb [11:31:22] <rsp> The question is how much right [11:31:49] <KittyCat> the creative sdk comes with a number of eax presets, and a utility to convert eax values to efx [11:32:04] <rsp> Ok! [11:32:27] <KittyCat> just becareful that openal soft doesn't support the eaxreverb effect, which the utility's output may assume [11:37:59] *** jvalenzu has quit IRC [11:38:42] *** jvalenzu has joined #openal [11:38:42] *** irc.freenode.net sets mode: +v jvalenzu [11:39:16] <rsp> So OpenAL Soft has lowpass too? [11:39:30] <rsp> a low pass filter would be useful [11:39:31] <KittyCat> y eah [11:50:38] <rsp> How would I solve the uiEffectsSlot problem [11:52:36] <KittyCat> that there's only one? you can't, really. you'd just need to set it to the most important environment effect (usually dependant on the listener's location, instead of the source), and attach sources to the effect that are affected by that environment [11:52:59] <rsp> Okay [11:54:11] <rsp> It should be a static ALuint right [11:54:57] <KittyCat> it can be, yeah [11:55:18] <rsp> I get a crash if I have two sounds :( [11:55:35] <KittyCat> what's the backtrace? [11:56:40] <rsp> dunno it switches to fullscreen and stops so I can't do anything [11:56:48] <rsp> sigsegv [11:57:07] <KittyCat> try to make it run windowed and use gdb [11:57:31] <rsp> Yeah I was using gdb but I have to make it windowed like you said [11:57:39] <rsp> Now my mouse froze, nice [11:58:02] <KittyCat> start the app then quit before it locks up (if possible) [12:03:22] <rsp> Ok lets see [12:04:36] <rsp> cannot access memory address [12:05:57] <KittyCat> what's the backtrace? [12:07:13] <rsp> www.pasteall.org/465 [12:08:04] <KittyCat> Music::Check (this=0x80547e0) at sound.cpp:242 is throwing an uncaught exception [12:09:23] <rsp> So there is an OpenAL error [12:10:13] <KittyCat> what's the line? [12:11:00] <rsp> It just checks if there is any error from OpenAL [12:11:19] <rsp> throw string("OpenAL error was raised."); [12:11:26] <KittyCat> paste the Music::Check and Music::Load functions [12:11:29] <rsp> Ok [12:11:58] <rsp> www.pasteall.org/466 [12:13:21] <rsp> It works if I have music +1 sound not music +2 sounds [12:13:32] <rsp> or just 2 sounds and no music too afaik [12:13:48] <rsp> I don't think it's the music class but I don't know for sure [12:14:14] <KittyCat> paste the SoundInit function and the Music class definition [12:14:29] <rsp> Sound::Load [12:15:04] <rsp> www.pasteall.org/467 [12:15:18] <rsp> SoundInit is uggly I bet the problem is there [12:18:18] <KittyCat> it'd probably be better if oyu made the efx function pointers global, and loaded them once after setting a context in Sound Init [12:18:57] <rsp> Ok [12:19:06] <KittyCat> also becareful, because you're generating an effect slot in Load. it will fail on the second call [12:19:34] <rsp> Yes I know I should do a static thingy there [12:19:42] <rsp> So it only does it oncce [12:19:59] <rsp> I just saw that [12:20:20] <KittyCat> openal will th row an error if you try to generate more effect slots than available, which would make Check throw the error [12:21:12] <rsp> Great [12:21:40] <rsp> Music class is alright [12:22:17] <KittyCat> rethinking the design a bit, it may be best to store the effects with the listener, since the effects will be based on the listener's location, not the individual sources. [12:22:48] <KittyCat> can create a simple array, or an std::map, depending on how you want to get various effects [12:24:38] <rsp> Yeah that's probably better [12:24:42] <KittyCat> can probably even store the effects in their own class, and associate them with the map, and have the listener class get that [12:24:58] <KittyCat> map = level, world, whatever [12:25:06] <rsp> Ok [12:25:51] <rsp> So the PFN stuff would be in the class definition [12:27:44] <KittyCat> probably best to make them global, so they'd be used like the other openal functions [12:28:43] <rsp> You are right [12:28:57] <rsp> By the way I code with a lot of warnings [12:29:09] <rsp> I am getting iso c++ non standard ones [12:29:26] <rsp> forbid convert between pointertofunction and pointertoobject [12:29:49] <rsp> Is that the eax.h typedef stuff [12:32:11] <KittyCat> I'm not sure. what lines are making the warnings? [12:33:12] <rsp> The reinterpret ones [12:38:17] <KittyCat> what's one of the actual warnings? [12:40:06] <rsp> ISO C++ forbids casting between pointer-to-function and pointer-to-object [12:40:38] <KittyCat> what's the pointer-to-function and pointer-to-object? [12:44:12] <rsp> p_alFoo and reinterpret_cast foobar (alGetProcAddress("foo"); [12:45:14] <rsp> Why can [12:45:24] <rsp> t load access ueEffectSlot if its static [12:47:37] <KittyCat> you should be able to. there's something else wrong, which is why I wanted to see the actual error [12:47:52] <KittyCat> paste the full compiler output [12:47:59] <rsp> I have the typedefs global [12:48:21] <rsp> Where should I put the PFNALGENEFFECTS p_alGenEffects; like stuff [12:48:26] <rsp> global doesnt work [12:48:46] <KittyCat> it should [12:49:30] <rsp> I get multiple definition errors [12:49:45] <rsp> random location to main.cpp where it was first defined [12:49:52] <KittyCat> PFNALGENEFFECTS p_alGenEffects; [12:49:53] <KittyCat> in a source [12:49:56] <KittyCat> extern PFNALGENEFFECTS p_alGenEffects; [12:49:58] <KittyCat> in the header [12:51:36] <rsp> Ok why did that work [12:53:42] <KittyCat> 'extern' tells the compiler that the variable is declared somewhere else, and will be resolved at link time [12:54:06] <rsp> Yeah but why couldn't I just declare them in the header [12:54:38] <KittyCat> because then each source file that includes the header will make a new definition [12:54:49] <rsp> Ok [12:55:11] <rsp> Ah I get it now [12:55:22] <KittyCat> then when they get linked together, the linker goes, 'whoa wait, you all have a variable named 'foo'.. I don't know which to use. *dies*' [12:55:41] <rsp> :( :) [12:56:09] <rsp> undefined reference so Sound::uiEffectSlot [12:56:14] <rsp> static in public [12:56:29] <KittyCat> also need to declare it in one source file [12:56:40] <KittyCat> ALuint Sound::uiEffectSlot; [12:57:47] <rsp> Yeah [12:58:10] <rsp> Where should I put the alGetProcAddress code [12:58:18] <rsp> Right now it is in the constructor [12:58:42] <KittyCat> somewhere where it'll only be called once. probably in SoundINit after setting the openal context [13:00:23] <rsp> Ok I got it [13:00:41] <rsp> I did a [13:00:54] <rsp> if(uiEffectSlot==NULL)generate it [13:02:22] <rsp> Reverb is only for mono sounds right [13:03:18] <KittyCat> yeah [13:04:26] <rsp> what the [13:04:42] <rsp> When I exit I get termnate called after throwing an instance of 'std::string' [13:04:52] <rsp> All ran fine [13:05:07] *** juanmabc has joined #openal [13:05:07] *** ChanServ sets mode: +v juanmabc [13:05:08] <KittyCat> you throwing a string somewhere in the shutdown code? [13:06:11] <rsp> I don't think so [13:06:22] <rsp> bt points to music classa gain [13:06:48] <rsp> again* [13:07:42] <rsp> SoundAborted [13:09:15] <rsp> Is it bad to do one of the following in Sound::Load [13:09:46] <rsp> geneffects set effect type or assign it to the slot [13:10:29] <KittyCat> as long as the effect and effect slot are valid, it's fine [13:10:34] <rsp> Ok it's done once [13:20:44] <rsp> I have no idea what the reason is [13:22:17] <KittyCat> what's throwing it, and why? [13:23:04] <rsp> That's what I want to know [13:23:08] <rsp> It says SoundAborted [13:23:37] <KittyCat> you're not throwing that anywhere? [13:24:10] <rsp> I don't have it in my code [13:25:16] <KittyCat> gdb should be able to catch it still [13:25:20] <KittyCat> and give a backtrace [13:27:19] <rsp> Something at SoundKill [13:28:00] <rsp> free all sounds free music destroy context and close device [13:28:51] <KittyCat> should say what line [13:30:37] <rsp> Music::Free [13:33:12] <rsp> Is there something called AL_NO_ERROR [13:33:16] <rsp> Or is it deprecated [13:33:50] <KittyCat> it's a macro, for alGetError when no error has occured. [13:34:06] <KittyCat> it's not deprecated [13:34:34] <rsp> When I empty the Music::Check function it quits silently [13:35:04] <KittyCat> what are you doing before the check? [13:35:45] <rsp> Delete the music source in Music::Free [13:36:03] <rsp> It has been stopped already [13:37:23] <KittyCat> if you're sure it's stopped, then it's possibly not valid. [13:37:28] <KittyCat> what error is it returning? [13:51:07] <rsp> I'll check soon [13:56:42] <rsp> It works if I cout it instead of throw [13:59:34] <KittyCat> yeah, because throw causes an abort of nothing catches it [14:00:07] <KittyCat> if you take out the throw, it doesn't abort, and just continues [14:00:21] <KittyCat> the error is still generated, though [14:00:48] <rsp> But I don't get any cout output [14:00:53] <rsp> So there is no error [14:01:43] <KittyCat> are you ending the string with << endl;? [14:02:05] <rsp> Yeah I just missed it [14:02:08] <rsp> SoundError [14:02:48] <KittyCat> without the endl, cout may just buffer the string, and apparently close stdout before it flushes [14:04:19] <rsp> alGetError returns + [14:04:20] <rsp> 0 [14:04:34] *** D0pamine has joined #openal [14:04:35] *** ChanServ sets mode: +v D0pamine [14:10:04] <rsp> Wait a minute here [14:10:26] <rsp> It is possible that I am trying to delete uiEffectSlot n times [14:10:36] <rsp> n=Sound's created [14:12:14] <rsp> That did it [14:12:17] * rsp yay [14:15:43] <KittyCat> :) [14:16:30] <KittyCat> that's why you should do the effect slot and function pointer stuff once on init (and destropy them once on Kill), not per sound [14:17:02] <rsp> Yeah :) [14:24:44] <rsp> My "game engine" == 1164 rows right now :P [14:25:16] <rsp> 420 rows from sound.cpp and the header :) [14:25:40] <KittyCat> :) [14:25:59] <rsp> How big does a complex sound system get [14:28:52] <KittyCat> don't know, really. sources I've seen tend to implement quite a bit of unnecessary stuff. [14:29:16] <rsp> Yeah I know [14:29:44] <rsp> I started with some samples and I have improving the code a lot [14:29:49] <rsp> have been [14:38:23] <rsp> On to low pass now [14:39:03] <rsp> I can use low pass to, say, make a sound realistic if it's being played from another room in a house [14:39:14] <rsp> Right? [14:42:15] <KittyCat> yeah, you can use it to simulate materials that block high frequencies (like glass or walls) [14:43:28] <rsp> :) [14:44:23] <rsp> Have you been working on Soft anything recently? [14:45:00] <KittyCat> haven't done much with it since 1.3's release [14:45:07] <rsp> Ok [14:45:18] <rsp> undefined reference to `alSource3i' [14:45:23] <rsp> I just compiled it on 32bit [14:45:36] <KittyCat> do you have the SI installed? [14:46:04] <KittyCat> the last release of the SI was missing that function, so if it's trying to link against that, it won't find the function [14:46:06] <rsp> Soft [14:46:22] <rsp> Maybe both wait [14:46:59] <rsp> I have to hack the so's [14:47:02] <rsp> so I can use Soft [14:50:18] <rsp> Ok works [14:51:42] <rsp> You'll get the output wait [14:52:35] <rsp> http://pasteall.com/view.php?p=81 [14:54:31] <KittyCat> interesting... [14:54:47] <KittyCat> very interesting [14:55:26] <rsp> p_alEffecti=reinterpret_cast<PFNALEFFECTI>(alGetProcAddress("alEffecti")); [14:55:30] <rsp> Those lines [14:56:25] <KittyCat> so it doesn't even allow it with reinterpret_cast? how are you supposed to load function pointers, then? [14:56:28] <rsp> Isn't there a nicer way of doing it? :P [14:57:08] <KittyCat> hmm.. it's only warnings, at least. [14:57:16] <rsp> Yeah that's the bright side [14:57:16] <KittyCat> better than errors, but still not nice [14:57:34] <rsp> I do compile with a lot of -W [14:57:40] <rsp> But this is an ISO issue so [14:57:56] <KittyCat> maybe there's a -Wno- switch to silence the warning [14:58:16] <rsp> hehe [14:58:53] <rsp> I'll just keep them there until I solve it [15:01:03] <KittyCat> C++ is ISO standard, not ANSI [15:01:29] <rsp> Ok is there any ISO standard flag then [15:01:40] <rsp> Is that pedantic [15:01:48] <rsp> It was a long time ago I wrote this Makefile [15:04:18] <rsp> Ok [15:05:56] <rsp> I forgot what pedantic is for do you know? [15:06:43] <KittyCat> "Issue all the warnings demanded by strict ISO C and ISO C++; reject all programs that use forbidden extensions, and some other programs that do not follow ISO C and ISO C++." [15:06:59] <rsp> Great [15:07:10] <KittyCat> that's probably where the warning and the typeof() problem came from [15:08:57] <rsp> ?p_alGenEffects = reinterpret_cast<typeof(p_alGenEffects)>(alGetProcAddress("alGenEffects")); [15:09:05] <rsp> ?#define LOAD_FUNC(x) p_##x = reinterpret_cast<typeof(p_##x)>(alGetProcAddress(#x)) [15:09:44] <rsp> So I can use the macro now? [15:09:58] <KittyCat> should be able to, yeah [15:10:08] <rsp> omg [15:10:29] <rsp> I wont need the PFN stuff? [15:11:07] <KittyCat> you won't need to typedef them yourself. you can use the typedefs in efx.h [15:11:47] <rsp> efx.h and the macro [15:11:49] <rsp> that's all? [15:12:20] <KittyCat> you'll still need to declare and load the function pointers one-by-one [15:12:30] <KittyCat> you can just use that macro instead of typing out the long lines [15:12:39] <KittyCat> ..to load them [15:12:59] <rsp> Yeah [15:13:29] <rsp> What would I do in the header [15:13:36] <rsp> Where it used to be extern PFNfoo bar; [15:14:28] <KittyCat> extern LPFOO p_foo; [15:16:08] <rsp> I'll just do the low pass part first!!! hehe [15:22:02] *** juanmabc has quit IRC [15:36:10] <rsp> How do I change low pass variables [15:37:12] <KittyCat> alFilterf(filter, AL_LOWPASS_*, value); [15:37:35] <rsp> Is it normal to not hear any difference if I don't set it [15:37:55] <KittyCat> yeah. by default, everything should sound the same until you start changing values [15:38:06] <KittyCat> alFilterf(filter, AL_FILTER_TYPE, AL_FILTER_LOWPASS); to set the filter type, iirc [15:38:15] <KittyCat> alFilteri(filter, AL_FILTER_TYPE, AL_FILTER_LOWPASS); I mean [15:38:19] <rsp> Yes exactly [15:38:33] <rsp> I just have to set it to like 0.5f [15:39:08] <KittyCat> you have to apply the filter to the source [15:39:15] <rsp> I did [15:39:16] <KittyCat> and I think you have to reapply it every time you change it [15:39:25] <rsp> Ok [15:39:32] *** predaeus has quit IRC [15:39:41] <KittyCat> so you can change the filter however you want, then apply the changes by applying it to the source [15:39:49] <rsp> Yup [15:39:53] <KittyCat> without worrying about getting intermediate changes [15:46:06] *** Walt has joined #openal [15:51:38] *** predaeus has joined #openal [15:51:38] *** ChanServ sets mode: +v predaeus [15:52:42] <rsp> KittyCat: low pass isn't working [15:54:12] <KittyCat> how are you using it? [15:55:44] <rsp> Do I have to apply it to uiEffectSlot [15:56:29] <rsp> www.pasteall.org/472 [15:57:04] <KittyCat> no, unless you want it to affect the effect output [15:57:17] <KittyCat> it's not generating errors? [15:57:21] <rsp> Nope [15:59:06] <rsp> www.pasteall.org/473 thetemporaray init fix [16:02:54] <KittyCat> the sound will be extremely quiet [16:03:18] <KittyCat> p_alFilterf(uiFilter,AL_LOWPASS_GAIN,0.2f); is compbined with the source's normal gain [16:03:37] <rsp> Ok [16:04:28] <rsp> 1.0 doesn [16:04:31] <rsp> t work either [16:04:55] <KittyCat> whathappens? the sound just isn't heard, or the filter has no effect? [16:05:05] <rsp> filter has no effect :( [16:05:05] *** juanmabc has joined #openal [16:05:06] *** ChanServ sets mode: +v juanmabc [16:05:52] <KittyCat> the sound is mono? [16:05:59] <rsp> Yeah [16:07:19] <KittyCat> what if you use 0.1 or 0.01 for gainhf? [16:08:03] <rsp> Still got the same sound [16:08:08] <KittyCat> if the sound doesn't have apparent high frequencies, reducing high frequencies won't have much of an effect [16:08:20] <rsp> I tried different mono sound [16:08:21] <rsp> s [16:08:23] <KittyCat> what if you set it to 0? [16:08:53] <rsp> Same result [16:09:16] <KittyCat> then the filter isn't being applied to the source [16:09:39] <rsp> alSourcei(Source,AL_DIRECT_FILTER,uiFilter); [16:10:34] <KittyCat> you're sure that's the playing source, and it's being called? [16:12:26] <rsp> It should work but doesn't [16:12:35] <rsp> Maybe I should sen Sound ? [16:12:36] <rsp> send* [16:13:12] <KittyCat> oh, man. there's a bug [16:13:36] <rsp> In OpenAL Soft? [16:14:02] <rsp> Yay I tracked down a bug, do I get a cookie? [16:14:48] <KittyCat> in Alc/ALu.c, the function CalcSourceParams, under the comment where it says //6. Apply filter... [16:15:23] <KittyCat> it checks DirectFilter.filter and WetFilter.filter.. it should be checking .type, not .filter [16:15:34] <rsp> Oh [16:18:09] <rsp> Where is Alc/ALu.c [16:18:28] <rsp> I can't find it [16:18:36] <KittyCat> from the base directory where openal soft was extracted [16:18:56] <rsp> roger [16:21:07] <rsp> I helped ::::: D [16:21:28] <rsp> Works now [16:21:41] <rsp> Now you have a reason to release soon :D [16:21:44] <rsp> Yay :D [19:19:58] *** barra has joined #openal [19:31:52] *** barra is now known as barraAway [20:30:04] *** juanmabc has quit IRC [21:28:14] *** Walt_ has joined #openal [21:28:31] *** predaeus has quit IRC [21:29:28] *** Walt has quit IRC [21:51:23] *** barraAway is now known as barra [22:04:14] *** juanmabc has joined #openal [22:04:14] *** ChanServ sets mode: +v juanmabc [23:20:04] <rsp> KittyCat: Is 48KHz well supported on low end audio chips? [23:20:23] <KittyCat> define low end [23:20:31] <rsp> integrated [23:20:38] <KittyCat> I'd imagine anything made in the past 5 years or so can handle it [23:20:40] <rsp> x86 pc [23:20:47] <rsp> ??Is it recommended to use 44100 [23:21:10] <KittyCat> for buffers, or for output? [23:21:11] <rsp> 3D effects [23:21:25] <rsp> Actual ogg data [23:22:05] <KittyCat> I don't think there'd be much of a problem using 48khz sound data [23:22:15] <rsp> Ok [23:24:44] <barra> heya rsp [23:25:06] <barra> did I mix up things or did you got openal_soft working on win32? [23:35:20] <rsp> It works beautifully [23:35:41] <barra> hmm not here :-/ [23:35:46] <barra> how did you test it rsp ? [23:35:49] <rsp> Grr :/ [23:35:55] <rsp> My engine [23:35:59] <barra> because I thought it would work here [23:36:16] <barra> I built openal_soft as openal32.dll and linked against openal_soft.a [23:36:30] <rsp> You need the dx8 stuff [23:36:34] <rsp> Do you have them [23:37:02] <barra> our engine used the CL openal32.dll and not the openal_soft from the resided in the directory with the other dlls :-/ [23:37:12] <barra> please elaborate rsp [23:37:29] <rsp> dsound headers [23:37:35] <rsp> and that stuff [23:37:40] <rsp> You need them when you compile Soft [23:37:47] <rsp> Or you won't get any output [23:38:00] <barra> hmm I've built with dsound backend enabled [23:38:10] <barra> should I get a built error when they're not found? [23:38:24] <barra> because it built fine under code::blocks (mingw), msvc2005 & msvc2008 [23:38:33] <KittyCat> no, it won't error [23:38:36] <rsp> I have no idea then :S check that your audio cable is plugged in? ;) [23:38:42] <barra> ohh [23:39:20] <barra> isn't that a bit strange? I guess it would make sense to abort the built process in case you build with support for a specific backend but the headers are not found [23:39:25] <KittyCat> it will say when you run cmake if DirectSound support is being built (as opposed to WinMM, which is something different) [23:39:30] <barra> which header files is it looking for? [23:39:48] <rsp> KittyCat: Do you still have the link to them or should I upload them [23:39:59] <barra> yep, cmake said that dsound backend support is enabled [23:40:14] <KittyCat> and you rebuilt the dll, and replaced it? [23:40:27] <barra> yep [23:40:42] <barra> could you do me a favour and send me your .a and dll file rsp ? [23:40:51] <barra> I can upload mine as well if that helps somehow [23:41:01] <rsp> Yeah I'll send [23:41:05] <rsp> Probably wont no [23:42:15] <KittyCat> you should probably see what the EnumerateWin32.exe SDK example says when used with openal soft [23:43:22] <rsp> uploading [23:43:29] <barra> my libs can be found here: http://members.fifengine.de/mvbarracuda/openal_soft_SDK.7z [23:43:56] <barra> could I grep the .a or .dlls for a specific term that is related to dsound support to find out if it was successfully included? [23:44:01] <rsp> ?www.sendspace.com/file/xj9y5y [23:44:07] <KittyCat> probably not [23:44:50] <barra> hmm your lib size is larger rsp [23:44:53] <barra> that's good [23:45:13] <rsp> Yeah I remember that when I compiled it the 4th time or something hehe [23:46:09] <barra> .a size doesn't seem to vary [23:46:22] <KittyCat> the .a is just an import lib [23:46:26] <rsp> Just replace && rock and roll [23:46:30] <KittyCat> which just says what functions are in which dll [23:47:04] <rsp> filters won't work though afaik [23:47:28] <rsp> Havn't built a dll with the bugfix yet [23:47:45] <barra> you're my hero rsp [23:47:55] * rsp yay [23:48:06] <barra> works [23:48:15] <rsp> Great [23:48:17] <barra> I'll try to rebuild it here [23:48:30] <barra> as I need it for mingw, msvc2005 and msvc2008 anyway [23:48:43] <barra> that's the drawback of supporting 3 win32 compilers out of the box :-/ [23:49:12] <KittyCat> you should be able to use the same DLL. you just need the different import libs [23:49:13] <barra> hmm about the dx80 files rsp [23:49:21] <KittyCat> the .a for mingw, and the .lib's for msvc [23:49:30] <rsp> Yeah the dll should be the same [23:49:50] <barra> I got some dx80 minimalist SDK from allegro site [23:49:54] <barra> should this one do the job? [23:50:02] <barra> and which include directory should I set? [23:50:03] <rsp> barra: Yeah I got them from KittyCat I don't if (s)he's got them [23:50:29] <rsp> Just unzip to your include\ [23:50:50] <barra> ohh I see [23:51:28] <rsp> That's where it searches for headers [23:52:02] <barra> oki, I got this one: http://alleg.sourceforge.net/files/dx80_mgw.zip [23:52:11] <rsp> Yes that might be the one [23:52:20] <barra> KittyCat? [23:52:20] <rsp> Remember the name [23:52:49] <KittyCat> for that, you extract it to the base compiler directory. it will automatically put .h files in include/ and the .a files in lib/ [23:54:05] <barra> this is the right SDK KittyCat ? [23:54:10] <barra> or should I get another one? [23:54:36] <KittyCat> it's the right one [23:54:54] <barra> cool, it says dx80 SDK for mingw though [23:55:16] <KittyCat> isn't that what you need it for, mingw? [23:55:16] <barra> so I might run into issues with msvc I guess [23:55:31] <KittyCat> msvc should come with the dx stuff, I think.. [23:56:03] <barra> yep, but FIFE refuses to play sound even with the MSVC openal_soft dlls :-/ [23:56:05] [23:59:35] <rsp> Seriously though I remember downloading a "Windows SDK" >1GiB just to make native Windows exe files