-
Posts
544 -
Joined
-
Last visited
Content Type
Blogs
Forums
Store
Gallery
Videos
Posts posted by martyj
-
-
From this you understand that LE has a limitation because it's fixed sound bitrate property, that doesn't allow a range.. for that audacity exported files, that has a fixed bitrate, are loaded without any problem, which does not happen for file with variable bitrates( most common files for what i have seen around ).
The problem with variable bitrate in leadwerks is it adds a lot of extra complexity. Since leadwerks uses WAV files it doesn't support a changing bitrate through the stream. When you play audio with OpenAL you specifiy the bitrate + size of your data.
To variable bitrate you'd have to change this with OpenAL at random spots in the song.
Either that or we'd have to resample the audio data which adds another step of complexity.
I use GoldWave or Sox to convert all my files and it appears to work just fine for me. I'd assume audacity would work perfect as well, just as long as you disable variable bitrate.
-
@macklebee I think they use to give it out with any optical drive that you purchased. I didn't dare install it though .
-
@macklebee Thanks for the insight
I wonder if Nero is adding meta data between the different Ogg streams outside of the vorbis data, thus the program fails to load the file trying to parse meta information as Ogg headers.
-
@Roberto14 I won't be able to check more until I get home tonight. Then I can try it out with Leadwerks. Your file appears fine. My Linux decoding appears to work just fine.
I'll update you guys tonight with what I find.
- 1
-
Can you send us an ogg file that we can test on?
Edit:
--------
I just ran roughly the same code on 100 ogg files that were used in my game generated with the linux command "sox" and I haven't hit any issues. I'll need a test file to find the problem.
-
It would be a lot easier if I could set set iterator=0 when it is initialized or removed from a list.
Are you referring to setting the iterators value = NULL?
Maybe something like this?
std::vector<Entity*> entities; for(auto it = entities.begin(); it != entities.end(); it++) { if(condition) { *it = NULL; } }
Idk if that would work, iterators are just pointers to each element. I'm not too proficient at my C++, more of a C, just a guess.
-
I can confirm that switching to 480 fixed it.
Thanks.
-
What does Context::GetWidth() and Context::GetHeight show compared to Window::GetWidth() and Window::GetHeight()?
- 1
-
@macklebee is that on the link I posted?
Here is my friend running the app.
As you can see there is a steam_appid file. The message that prints is around this code.
if (!Steamworks::Initialize()) { System::Print("Error: Failed to initialize Steam."); return false; }
-
You've got to have the steam_appid.txt file in the same folder as you game executable.
Even with the file there, it won't work.
I'll try having it set to 480. Right now it is set to 355500.
Edit
-------------
Even with the value set to 480 the game doesn't work. You can download it here if you want to give it a shot. http://dl.worldfactions.net/pre_alpha_0.2.7z
-
I cannot get Steamworks to initialize on anybody else steam account. Do I have to have an app approved through greenlight in order for users to play my game attached to steam?
-
Window* window = Window::Create("Stuff")
Context* context = Context::Create(window);
- 1
-
You should add your shirt size and shipping info by editing your profile.
I've updated my info in my profile, although you really don't have to send me anything. It was no trouble at all . Just happy to have this support.
-
Can't wait to use it. Of course you have permission.
- 8
-
Why use an external library when it can be added to the engine itself?
That way nobody else has to add their own support for the audio. Also it could work in 3D whereas that library is 2d only.
-
So here is what I have at the moment.
http://martyj.net/OggSound.zip
The sample program is in the OggSound folder.
The ogg decoding code basically comes from this link https://svn.xiph.org/trunk/vorbis/examples/decoder_example.c
With some slight modification to improve readability a tiny bit and to integrate it with Leadwerks Streams.
The sample program requires two static libs. libogg_static.lib and libvorbis_static.lib
The way it works is that ogg is the container format and vorbis is the actual compressed audio data format.
They can be found at this path relative to that folder. libvorbis-1.3.5\libvorbis-1.3.5\win32\VS2010 and libogg-1.3.2\libogg-1.3.2\win32\VS2010
Just open the project in VS2015, fix the include and linking paths. Build and Profit!
When I run my demo app for some reason OpenALSound isn't initialized with my example Sound class using ogg file, but it works great for wave.
I've compared the output in Sound->data, and it matches an expected decompressed audio file using 16 bit little endian PCM @ 44100hz.
So hopefully Josh can figure that out to get it to actually play.
If there's anything else I can do to help implement this, let me know.
- 7
-
It's not a switch with vs2015, it's a switch with Leadwerks integrating OpenSSL. Both happened around the same time.
-
@cassius
Project->Properties->Linker->Input
Then select Additional Dependencies.
-
I found it really hard to make your own zip. In fact I was unable to make my own.
If someone has a tutorial of how to do this, it would be great!
-------------
In other news, am working on implementing Ogg audio files. I've separated the Sound::Reload function that Josh sent into two different code paths for audio importing.
I wrote a test script to import two audio files and compare their data to make sure the decompression is working.
I've also just compiled libogg and libvorbis to be used into my program.
I should have a working version some time tomorrow hopefully.
-
If I write a bank or a stream class that decompresses ogg would you implement it into Leadwerks?
What class should I use as a base?
- 1
-
World Factions only has 250 MB of Audio as wave data.
The conversations in WF for 3 quests amounts to 19 MB in files. In fact music is the biggest usage of space. 10 songs @ 200 MB.
Also 1 GB for a game is fairly small. Isn't ESO like 60 GB? I think the thing that would be better than having compressed audio, is the ability to "update" the game without needing to download all the assets again.
Considering ADG is on Steam now, users will have to start updating any time there's a patch.
@Josh, does Leadwerks use Streams to play Audio with the Sound class? Or is all the wave data loaded into memory when the sound is loaded?
-
So there's been some instance of my code which would be extremely beneficial to have unit testing for. Especially in the networking aspects of my game. Along with some Generic libraries.
I was wondering if anyone has used unit testing in C/C++.
Google Test looks nice, except for it doesn't work with VS 2015 installed with NuGet.
I've used CUnit before.
Has anyone else used something else? I'd like something with very minimalist setup. Preferably not having to list all of my tests. Just write code, then run it.
-
evp.h
in Programming
You have to add the following to your C++ Include Path.
$(LeadwerksHeaderPath)\Libraries\openssl\include
You also have to add the following libraries in your Linker Input dependencies.
msimg32.lib
libcryptoMT.lib
libsslMT.lib
Rpcrt4.lib
crypt32.lib
libcurl.lib
ws2_32.lib
-
Maybe I just don't have a graphics eye, what am I not seeing that is an apparent problem?
Corrupt or missing data in bitstream; continuing...
in Programming
Posted
@Josh you mean Bits Per Sample instead of Bitrate?
Bitrate is like 44100 which is the number of samples/second for audio.
Leadwerks.bitrate = Bits Per Sample
Leadwerks.frequency = Bitrate.