Performance SDL 1.2.7 vs Allegro

Hello,

I’m trying to compile SDL_sound for windows with VC++6.0, only with
support for WAV and OGG files. Therefore, I modify the config.h file to
have this:

#undef DEBUG
#undef DEBUG_CHATTER
#undef NDEBUG
#undef SOUND_SUPPORTS_AIFF
#undef SOUND_SUPPORTS_AU
#undef SOUND_SUPPORTS_MIKMOD
#undef SOUND_SUPPORTS_MODPLUG
// #undef SOUND_SUPPORTS_OGG
#undef SOUND_SUPPORTS_RAW
#undef SOUND_SUPPORTS_SHN
#undef SOUND_SUPPORTS_VOC
// #undef SOUND_SUPPORTS_WAV
#undef SOUND_SUPPORTS_MIDI
#undef SOUND_SUPPORTS_FLAC
#undef SOUND_SUPPORTS_SMPEG
#undef SOUND_SUPPORTS_MPGLIB
#undef SOUND_SUPPORTS_QUICKTIME
#undef SOUND_SUPPORTS_SPEEX
#undef SOUND_USE_ALTCVT

I’ve added the HAVE_CONFIG_H definition

When I try to link, the compiler tried to link also SMPEG, MIKMOD,
LibFLAC and MODPLUG. As I don’t want any of that things, I’ve removed
them from the link. Then, everything compiles well, the SDL_sound.lib
file is generated, but it fails to generate the SDL_sound.dll file saying:

Linking…
Creating library win32lib/sdl_sound.lib and object win32lib/sdl_sound.exp
instrum.obj : error LNK2001: unresolved external symbol _load_instrument_dls
win32lib/sdl_sound.dll : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.

I’ve also tried to get the binary files of SMPEG, MIKMOD, LibFLAC and
MODPLUG in order to link everything, but I’ve failed to find LibFLAC and
MODPLUG (only source code distributions that fail to build in VC++6.0…)

Any clues on the error?

thanks in advance

well, by the looks of this file, it would seem you have to comment the
things you would like to leave in… but I have never used SDL_sound.

Santi Onta??n wrote:> Hello,

I’m trying to compile SDL_sound for windows with VC++6.0, only with
support for WAV and OGG files. Therefore, I modify the config.h file
to have this:

#undef DEBUG
#undef DEBUG_CHATTER
#undef NDEBUG
#undef SOUND_SUPPORTS_AIFF
#undef SOUND_SUPPORTS_AU
#undef SOUND_SUPPORTS_MIKMOD
#undef SOUND_SUPPORTS_MODPLUG
// #undef SOUND_SUPPORTS_OGG
#undef SOUND_SUPPORTS_RAW
#undef SOUND_SUPPORTS_SHN
#undef SOUND_SUPPORTS_VOC
// #undef SOUND_SUPPORTS_WAV
#undef SOUND_SUPPORTS_MIDI
#undef SOUND_SUPPORTS_FLAC
#undef SOUND_SUPPORTS_SMPEG
#undef SOUND_SUPPORTS_MPGLIB
#undef SOUND_SUPPORTS_QUICKTIME
#undef SOUND_SUPPORTS_SPEEX
#undef SOUND_USE_ALTCVT

I’ve added the HAVE_CONFIG_H definition

When I try to link, the compiler tried to link also SMPEG, MIKMOD,
LibFLAC and MODPLUG. As I don’t want any of that things, I’ve removed
them from the link. Then, everything compiles well, the SDL_sound.lib
file is generated, but it fails to generate the SDL_sound.dll file
saying:

Linking…
Creating library win32lib/sdl_sound.lib and object
win32lib/sdl_sound.exp
instrum.obj : error LNK2001: unresolved external symbol
_load_instrument_dls
win32lib/sdl_sound.dll : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.

I’ve also tried to get the binary files of SMPEG, MIKMOD, LibFLAC and
MODPLUG in order to link everything, but I’ve failed to find LibFLAC
and MODPLUG (only source code distributions that fail to build in
VC++6.0…)

Any clues on the error?

thanks in advance


SDL mailing list
SDL at libsdl.org
http://www.libsdl.org/mailman/listinfo/sdl

Thanks for the quick reply!

But see that the lines in the config.h file say “#undef” and not
"#define". Actually, all those symbols are defined in the project file,
and with the config file you can undefine them (I think)> well, by the looks of this file, it would seem you have to comment the

things you would like to leave in… but I have never used SDL_sound.

Santi Onta??n wrote:

Hello,

I’m trying to compile SDL_sound for windows with VC++6.0, only with
support for WAV and OGG files. Therefore, I modify the config.h file
to have this:

#undef DEBUG
#undef DEBUG_CHATTER
#undef NDEBUG
#undef SOUND_SUPPORTS_AIFF
#undef SOUND_SUPPORTS_AU
#undef SOUND_SUPPORTS_MIKMOD
#undef SOUND_SUPPORTS_MODPLUG
// #undef SOUND_SUPPORTS_OGG
#undef SOUND_SUPPORTS_RAW
#undef SOUND_SUPPORTS_SHN
#undef SOUND_SUPPORTS_VOC
// #undef SOUND_SUPPORTS_WAV
#undef SOUND_SUPPORTS_MIDI
#undef SOUND_SUPPORTS_FLAC
#undef SOUND_SUPPORTS_SMPEG
#undef SOUND_SUPPORTS_MPGLIB
#undef SOUND_SUPPORTS_QUICKTIME
#undef SOUND_SUPPORTS_SPEEX
#undef SOUND_USE_ALTCVT

I’ve added the HAVE_CONFIG_H definition

When I try to link, the compiler tried to link also SMPEG, MIKMOD,
LibFLAC and MODPLUG. As I don’t want any of that things, I’ve removed
them from the link. Then, everything compiles well, the SDL_sound.lib
file is generated, but it fails to generate the SDL_sound.dll file
saying:

Linking…
Creating library win32lib/sdl_sound.lib and object
win32lib/sdl_sound.exp
instrum.obj : error LNK2001: unresolved external symbol
_load_instrument_dls
win32lib/sdl_sound.dll : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.

I’ve also tried to get the binary files of SMPEG, MIKMOD, LibFLAC
and MODPLUG in order to link everything, but I’ve failed to find
LibFLAC and MODPLUG (only source code distributions that fail to
build in VC++6.0…)

Any clues on the error?

thanks in advance


SDL mailing list
SDL at libsdl.org
http://www.libsdl.org/mailman/listinfo/sdl


SDL mailing list
SDL at libsdl.org
http://www.libsdl.org/mailman/listinfo/sdl

lol, i just read what i wrote and have decided it is really way past my
bedtime :slight_smile: seeing you had allready done it… sorry ! no sleep, must
continue programming now.

Santi Onta??n wrote:> Thanks for the quick reply!

But see that the lines in the config.h file say “#undef” and not
"#define". Actually, all those symbols are defined in the project
file, and with the config file you can undefine them (I think)

well, by the looks of this file, it would seem you have to comment
the things you would like to leave in… but I have never used
SDL_sound.

Santi Onta??n wrote:

Hello,

I’m trying to compile SDL_sound for windows with VC++6.0, only with
support for WAV and OGG files. Therefore, I modify the config.h file
to have this:

#undef DEBUG
#undef DEBUG_CHATTER
#undef NDEBUG
#undef SOUND_SUPPORTS_AIFF
#undef SOUND_SUPPORTS_AU
#undef SOUND_SUPPORTS_MIKMOD
#undef SOUND_SUPPORTS_MODPLUG
// #undef SOUND_SUPPORTS_OGG
#undef SOUND_SUPPORTS_RAW
#undef SOUND_SUPPORTS_SHN
#undef SOUND_SUPPORTS_VOC
// #undef SOUND_SUPPORTS_WAV
#undef SOUND_SUPPORTS_MIDI
#undef SOUND_SUPPORTS_FLAC
#undef SOUND_SUPPORTS_SMPEG
#undef SOUND_SUPPORTS_MPGLIB
#undef SOUND_SUPPORTS_QUICKTIME
#undef SOUND_SUPPORTS_SPEEX
#undef SOUND_USE_ALTCVT

I’ve added the HAVE_CONFIG_H definition

When I try to link, the compiler tried to link also SMPEG, MIKMOD,
LibFLAC and MODPLUG. As I don’t want any of that things, I’ve
removed them from the link. Then, everything compiles well, the
SDL_sound.lib file is generated, but it fails to generate the
SDL_sound.dll file saying:

Linking…
Creating library win32lib/sdl_sound.lib and object
win32lib/sdl_sound.exp
instrum.obj : error LNK2001: unresolved external symbol
_load_instrument_dls
win32lib/sdl_sound.dll : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.

I’ve also tried to get the binary files of SMPEG, MIKMOD, LibFLAC
and MODPLUG in order to link everything, but I’ve failed to find
LibFLAC and MODPLUG (only source code distributions that fail to
build in VC++6.0…)

Any clues on the error?

thanks in advance


SDL mailing list
SDL at libsdl.org
http://www.libsdl.org/mailman/listinfo/sdl


SDL mailing list
SDL at libsdl.org
http://www.libsdl.org/mailman/listinfo/sdl


SDL mailing list
SDL at libsdl.org
http://www.libsdl.org/mailman/listinfo/sdl

I’m trying to compile SDL_sound for windows with VC++6.0, only with
support for WAV and OGG files. Therefore, I modify the config.h file to
have this:

config.h isn’t used on Windows; modify the project file through Visual
C++ (the appropriate things are defined in the project’s properties or
whatever VC++6 calls it); you can undefine them there, and remove
unwanted libraries from the link properties.

–ryan.

Yes, I noticed that in the VC++6.0 the project didn’t have the
HAVE_CONFIG_H symbol defined. I defined it in order to use the config.h
Anyway, I’ve tried to simply undefine the symbol from the project
properties so that I have only defined these symbols:

WIN32,_WINDOWS,_MBCS,_USRDLL,SDL_SOUND_DLL_EXPORTS,NDEBUG,_LIB,SOUND_SUPPORTS_WAV,SOUND_SUPPORTS_OGG

and I still get this error:

--------------------Configuration: sdl_sound_dll - Win32
Release--------------------
Linking…
Creating library win32lib/sdl_sound.lib and object win32lib/sdl_sound.exp
instrum.obj : error LNK2001: unresolved external symbol _load_instrument_dls
win32lib/sdl_sound.dll : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.

sdl_sound.dll - 2 error(s), 0 warning(s)

Moreover, this error only appears when I want to compile the DYNAMIC
version of the library (i.e. the DLL file), If I compile the STATIC one,
everything works fine…

Ryan C. Gordon wrote:>>I’m trying to compile SDL_sound for windows with VC++6.0, only with

support for WAV and OGG files. Therefore, I modify the config.h file to
have this:

config.h isn’t used on Windows; modify the project file through Visual
C++ (the appropriate things are defined in the project’s properties or
whatever VC++6 calls it); you can undefine them there, and remove
unwanted libraries from the link properties.

–ryan.


SDL mailing list
SDL at libsdl.org
http://www.libsdl.org/mailman/listinfo/sdl

Moreover, this error only appears when I want to compile the DYNAMIC
version of the library (i.e. the DLL file), If I compile the STATIC one,
everything works fine…

That symbol is in the Timidity (MIDI support) code; try removing all the
files in decoders/timidity from the build.

This really wasn’t meant to be chopped up like this on Windows;
SDL_sound is designed for this case, but Visual Studio really
isn’t…this is why this is less than obvious to accomplish. Sorry about
that.

–ryan.

Fred wrote:

One way to get around this issue is to use a set of buffer surfaces
of various sizes. To update an area of the screen, pick a buffer
surface of a suitable size, lock it, render into it, unlock it, and
then blit it to the screen. The unlock operation will invalidate the
buffer surface, and the next blit will force the new graphics to be
uploaded.

Does this mean that you could support a GL accelerated display with a
software display surface being updated with SDL_UpdateRects with no
extra copying of textures out of video RAM?

No, David just says that you can try do do something smart and upload
only the parts that changed using a set of pre existing buffers.
However, these buffers will still need to be uploaded (but since they
are smaller than the total surface, you can hope there will be a speedup).

Or is it the case that only complete textures can be updated at a time
via OpenGL?

Standard OpenGL can update only parts of a texture. See the
glTexSubImage2D call for this.
However, whether the full texture is uploaded again or just the modified
part is implementation-dependent.

Stephane