Sound Probleme


IceOnly

Member
Joined
Sep 13, 2005
Messages
456
Ich habe mal vectroids geportet.
Läuft auch schon super ihr könnt diese woche noch mit dem ersten release rechnen. Aber warum gibt der kein sound wieder?
Es tretten keine fehler auf. Muss man den soundchip erst aktivieren?
Oder ist die Lautstärke des GP2X immer standardmäßig auf 0?
Ich glaube nämmlich das er den sound abspielt nur warum höhrt man nichts?

MfG
IceOnly
 
Hallo Leidensgenosse

<r>Habe mich grade mal mit deinem Prob rumgeschlagen, da ich ähnliche Probs habe.<br/>
<br/>
vectroids legt im Start-Verzeichnis eine Datei an: stderr.txt<br/>
<br/>
Und was steht da drin:
<CODE><s>
Code:
</s><i>
</i>Warning: I could not set up audio for 22050 Hz 16-bit stereo.
The Simple DirectMedia error that occured was:
Couldn't create mixer lock
<e>
</e></CODE>

Und zwar passiert das an folgender Stelle:<br/>

<CODE><s>
Code:
</s><i>
</i>      if (Mix_OpenAudio(22050, AUDIO_S16, 2, 4096) < 0)
			{
	  		fprintf(stderr_datei,
                  "\nWarning: I could not set up audio for 22050 Hz "
                  "16-bit stereo.\n"
                  "The Simple DirectMedia error that occured was:\n"
                  "%s\n\n", SDL_GetError());
          use_sound = FALSE;
			}
    }
<e>
</e></CODE>

Du hast damit das selbe Prob wie ich. Es soll mit den minilibs gehen, aber dann ist dein Spiel nicht mehr unter der GPL auslieferbar. Und das verstößt gegen die GPL-Regularien.<br/>
<br/>
Wir brauchen Hilfe oder eine Erweiterung der GPL-SDL, oder.....??????<br/>
<br/>
Greetz<br/>
BNrXYZ<br/>
<br/>
Edit: Wir 2 können jetzt zwar mit SDL_Mixer compilen und linken dank der großen libsdlmixer.a aber der Sound funktioniert nicht... oder muss die große lib*.a auch auf den GP2X?<br/>
<br/>
Ich habe gelesen, dass die neue FW 1.2.0 neue SDL-Libs mitbringen soll bzw. Teile der alten überschreibt. Ich habe noch die FW 1.0.1 drauf... Ob's mit den neuen Libs geht? Keine Ahnung... und immo wenig Zeit zum testen...</r>
 
Re: Hallo Leidensgenosse

<r><QUOTE author="BestNrXYZ"><s>
BestNrXYZ said:
</s>Habe mich grade mal mit deinem Prob rumgeschlagen, da ich ähnliche Probs habe.<br/>
<br/>
vectroids legt im Start-Verzeichnis eine Datei an: stderr.txt<br/>
<br/>
Und was steht da drin:
<CODE><s>
Code:
</s><i>
</i>Warning: I could not set up audio for 22050 Hz 16-bit stereo.
The Simple DirectMedia error that occured was:
Couldn't create mixer lock
<e>
</e></CODE>

Und zwar passiert das an folgender Stelle:<br/>

<CODE><s>
Code:
</s><i>
</i>      if (Mix_OpenAudio(22050, AUDIO_S16, 2, 4096) < 0)
			{
	  		fprintf(stderr_datei,
                  "\nWarning: I could not set up audio for 22050 Hz "
                  "16-bit stereo.\n"
                  "The Simple DirectMedia error that occured was:\n"
                  "%s\n\n", SDL_GetError());
          use_sound = FALSE;
			}
    }
<e>
</e></CODE>

Du hast damit das selbe Prob wie ich. Es soll mit den minilibs gehen, aber dann ist dein Spiel nicht mehr unter der GPL auslieferbar. Und das verstößt gegen die GPL-Regularien.<br/>
<br/>
Wir brauchen Hilfe oder eine Erweiterung der GPL-SDL, oder.....??????<br/>
<br/>
Greetz<br/>
BNrXYZ<br/>
<br/>
Edit: Wir 2 können jetzt zwar mit SDL_Mixer compilen und linken dank der großen libsdlmixer.a aber der Sound funktioniert nicht... oder muss die große lib*.a auch auf den GP2X?<br/>
<br/>
Ich habe gelesen, dass die neue FW 1.2.0 neue SDL-Libs mitbringen soll bzw. Teile der alten überschreibt. Ich habe noch die FW 1.0.1 drauf... Ob's mit den neuen Libs geht? Keine Ahnung... und immo wenig Zeit zum testen...<e>
</e></QUOTE>

Stimmt das mit der stderr.txt hab ich selber eingebaut <E>:)</E><br/>
Um zu sehen was da nicht stimmt aber das sollte gehen. Ich vermute das durch das static linken der SDL_mixer lib was schief geht.<br/>
<br/>
Ma lsehen ob ich das mit der 300kb lib am laufen bekomme.<br/>
<br/>
MfG<br/>
IceOnly</r>
 
luteijn said:
Also discussed here, no definite answer though:
http://www.gp32x.com/board/index.php?showtopic=22759&st=15

thx luteijn 4 the link...

Das Problem ist: Portiere ich die GPL-based Programme weiter in der Hoffnung, dass da noch etwas kommt um Audio nachträglich einzubinden? Oder beschränke ich mich auf komplette Eigenentwicklungen, welche ich mit der Minilib entwickle? Oder steige ich auf Allegro um?

Ich versteh nur nicht, warum der Autor die Minilib nicht unter GPL stellt, dann hätte er doch auch was davon, oder?

Ratlos
BNrXYZ
 
Ich habe es mal mit den SDL-Libs der Distri gobolinux http://www.gobolinux.org/ (001) für den ARM920-Proz http://www.gobolinux.org/download/iso/ versucht. DEVcpp bringt dabei folgende Fehler:
Code:
<i>
</i>C:/devkitGP2X/lib\libSDL_mixer.a(mdriver.lo): In function `MD_DropPrivileges':

mdriver.c:(.text+0x2aec): warning: Using 'getpwnam' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
c:\devkitgp2x\bin\..\lib\gcc\arm-linux\4.0.2\..\..\..\..\arm-linux\bin\ld.exe: ERROR: C:/devkitGP2X/lib\libSDL.a(SDL.o) uses hardware FP, whereas AirPong.gpe uses software FP
c:\devkitgp2x\bin\..\lib\gcc\arm-linux\4.0.2\..\..\..\..\arm-linux\bin\ld.exe: failed to merge target specific data of file C:/devkitGP2X/lib\libSDL.a(SDL.o)

Die Meldungen bei der Version 002 von gobolinux 4 arm sind identisch

iirc hat der arm-Proz des GP2X auch keine floating-point-hardware...

Es gibt dazu auch einen kurzen Thread http://www.gp32x.com/board/index.php?showtopic=12785

just a try...

Vlt. hilft es jemandem weiter???

Greetz
BNrXYZ
 
Die warnung bekomm ich auch wenn ich die 300kb sdl_mixer nehme.
Aber das hilft mir nicht weiter :(
 
Wie hat hc232 Noiz2sa geportet :twisted:
mit sein source dürfte das eigentlich auch nicht gehen ist genau gleich :-||
 
Er wird die theoddbot-SDL-Libs http://www.emuholic.com/theoddbot-libs-open2x-soft-float-beta2.tar.gz] verwendet haben, denn die machen imho floating point Operationen in Software...

Ich habe sie mir gerade mal gezogen. Werde es heute abend aber erst testen können. Finde in dem Archiv auf die schnelle aber keinen Hinweis auf GPL. Da die Libs aber auf unter GPL stehenden Libs basieren, sollten sie eigentlich auch GPL sein, oder missverstehe ich da jetzt was?

Greetz
BNrXYZ
 
Ich habe mich gerade mal mit der theoddbot-SDL-Lib auseinander gesetzt. Wenn ich die installiere renne ich wieder in eine Menge anderer Probleme mit der Kompilierung unter DEVcpp.

Meine Portierungen werde ich jetzt erst mal pausieren lassen und mich ein wenig mit Fenix auseinandersetzen für die Umsetzung einer kleineren Spielidee...

Greetz
BNrXYZ
 
BestNrXYZ said:
Ich habe mich gerade mal mit der theoddbot-SDL-Lib auseinander gesetzt. Wenn ich die installiere renne ich wieder in eine Menge anderer Probleme mit der Kompilierung unter DEVcpp.

Probably related to the order of linking, and missing out on linking in libraries that the ones you are linking are depending upon. It's often a good idea to take a step back, and try to compile things form the commandline at first to get a feeling for gcc's quirks, and then go back using an integrated environment. Also feel free to post the feedback from the compiler/linker to the boards, someone else might be able to pinpoint your problem, and help you past the hurdle. Then someone else in the future might just be able to do it too, without having to ask questions ;)

P.
 
Also ich hab nicht so die ahnung von llinux und libaries.
Wenn ich etwas mit -static compiliere dann werden doch alle benötigten libarys eingebunden, oder?
Das müssen wir ja machen wegen der libgcc(oder wie die heisst).
Aber auf den gp2x gibts doch auch ne sdl_mixer lib, oder?
Wie linke ich nur die libgcc? Vielleicht hilft das ja.

MfG
IceOnly
 
luteijn said:
...Also feel free to post the feedback from the compiler/linker to the boards...

i feel free :)

ok

1. Versuch, Ergebnis:
Code:
<i>
</i>arm-linux-g++.exe -D__DEBUG__ main.o cgameobj.o cball.o cbat.o config.o display.o event.o font.o game.o global.o menu.o mouse.o objects.o timer.o keyboard.o  -o "AirPong.gpe" -L"C:/devkitGP2X/lib" -lSDLmain  -lSDL_mixer  -lSDL -static  -lgmon -pg  -g3 -fmessage-length=0 
c:\devkitgp2x\bin\..\lib\gcc\arm-linux\4.0.2\..\..\..\..\arm-linux\bin\ld.exe: cannot find -lgmon
make.exe: *** [AirPong.gpe] Error 1
Ausführung beendet

Wo zum Teufel holt der das "-lgmon" her? Keine Ahnung und davon jede Menge.

Ich habe dann das Laden der gmon-lib in dem von DEVcpp erzeugten Makefile.win entfernt und dem DEVcpp gesagt, er soll die Makefile.win nicht selbst erstellen, sondern die geänderte nehmen.


2. Versuch, Ergebnis:
Code:
<i>
</i>C:/devkitGP2X/lib\libSDL_mixer.a(music.o): In function `music_mixer':
music.c:(.text+0x2c4): undefined reference to `VC_WriteBytes'
music.c:(.text+0x59c): undefined reference to `VC_WriteBytes'
C:/devkitGP2X/lib\libSDL_mixer.a(music.o): In function `open_music':
music.c:(.text+0x974): undefined reference to `MikMod_InfoDriver'
music.c:(.text+0x984): undefined reference to `MikMod_RegisterAllDrivers'
music.c:(.text+0x988): undefined reference to `MikMod_InfoLoader'
music.c:(.text+0x998): undefined reference to `MikMod_RegisterAllLoaders'
.
.
.

Nun ja, es gibt ja mehrere "gmon.h" Dateien auf meinem System, also mal im Include-Verzeichnis von DEVcpp eins zusätzlich angegeben, nämlich: "C:\devkitGP2X\sysroot\usr\include\sys" und dem DEVcpp gesagt, es soll sein Makefile selbst erzeugen.


3. Versuch, Ergebnis:
Code:
<i>
</i>In file included from C:/devkitGP2X/sysroot/usr/include/sys/signal.h:1,
                 from C:/devkitGP2X/sysroot/usr/include/sys/signal.h:1,
                 from C:/devkitGP2X/sysroot/usr/include/sys/signal.h:1,
                 from C:/devkitGP2X/sysroot/usr/include/sys/signal.h:1,
                 from C:/devkitGP2X/sysroot/usr/include/sys/signal.h:1,
                 from C:/devkitGP2X/sysroot/usr/include/sys/signal.h:1,
                 from C:/devkitGP2X/sysroot/usr/include/sys/signal.h:1,
.
.
.

Und da ich nun mit den Port-Versuchen von AirPong meinen ersten engeren Kontakt zu C(++) habe, bin ich hier leider am Ende. Mit einzig der Kommandozeile hätte ich mich nie an sowas herangewagt. Ich bin leider nicht der Kommandozeilen-Freak, der dafür notwendig wäre.

Wenn es jemandem hilft, umso besser...

Und die C-Profis werden sich ob dieser Try&Error Methode kaputt lachen *gg

So haben wenigstens alle was davon....

Greetz
BNrXYZ
 
add a "-lmikmod", needed by the sdl_mixer lib

I'm compiling my little wumpus remake like this
Code:
$(CC) $(L_FLAGS) -o wumpus.gpe $(O_FILES) -lSDLmain -lSDL_mixer -lvorbisidec -lmikmod -lSDL_ttf -lm -lfreetype -lz -lSDL -lpthread

the order is important. you might not need the freetype and z libraries.
 
I included the -lmikmod option and after reconfig the DEVcpp it compiles with:
Code:
<i>
</i>C:/devkitGP2X/lib\libmikmod.a(mdriver.o): In function `MD_DropPrivileges':
mdriver.c:(.text+0x2cf4): warning: Using 'getpwnam' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking

Ausführung beendet
Kompilierung erfolgreich

The results on the GP2X:
Code:
<i>
</i>AP4GP2X v0.2.2              
Clarence "Treezy" Pearson '02                             
Init...       
Init SDL...           
SDL_SYS_JoystickInit                    
Warning: Couldn't set 22050 Hz 16-bit audio                                           
 Reason: Couldn't create mixer lock                                   
[root@Linux gp2x]$

Selbe Ergebnis wie vorher auch... Ich glaube doch, dass ich noch etwas warten muss... Oder kann es sei, dass ich die theoddbots-Libs nicht über die normalen SDL-Libs kopieren soll? Ich könnte die ganze DEV-Sache ja nochmal neu installieren....

Morgen mal noch einen Versuch...

THX P. :wink: 

Greetz
BNrXYZ
 
BestNrXYZ said:
mdriver.c:(.text+0x2cf4): warning: Using 'getpwnam' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
[/code]

This warning can be ignored, as long as getpwnam is not being used (which it usually won't be).

The results on the GP2X:
Code:
<i>
</i>AP4GP2X v0.2.2              
Clarence "Treezy" Pearson '02                             
Init...       
Init SDL...           
SDL_SYS_JoystickInit                    
Warning: Couldn't set 22050 Hz 16-bit audio                                           
 Reason: Couldn't create mixer lock                                   
[root@Linux gp2x]$

Selbe Ergebnis wie vorher auch... Ich glaube doch, dass ich noch etwas warten muss... Oder kann es sei, dass ich die theoddbots-Libs nicht über die normalen SDL-Libs kopieren soll? Ich könnte die ganze DEV-Sache ja nochmal neu installieren....

BNrXYZ[/quote]

I think that's what I did. That way also no chance of accidentally linking the wrong libs... The 'Couldn't create mixer lock' error comes out of libSDL.a; did the version of theoddbots-libs you got include a libSDL.a (mine did, although there is an earlier version that didn't) 
I'm using the soft-float version..
 
luteijn said:
did the version of theoddbots-libs you got include a libSDL.a (mine did, although there is an earlier version that didn't)
I'm using the soft-float version..

Yes, there is a libSDL.a with 564.162 bytes and i'm using the theoddbot-libs-open2x-soft-float-beta2 version

BNrXYZ
 
Kann nicht einer von euch ne mail an hc232 schreiben?
Mein enlsich ist zu schlecht dafür :(
Irgendwie muss der das gemacht haben <_<
Leider ist das Makefile nicht bei dem Source.

MfG
IceOnly
 
I have a theory, but no time to properly test it, that this is related to hw-blitting (not) working. for me, mixer works, hw-blits don't. I don't have the original dynamic sdl libs on my gp2x anymore. theory is that gph menu-app is pre-initializing stuff, on mine this would enable mixer to work (and hw-blit not). on yours, with 'original' (1.2.0 changed something to enable tv-out, so you have 'original' dynamic libs) hw-blit would work and sound would not.

I'll try to find some time to play with this conjecture.
 
luteijn said:
I have a theory, ... (1.2.0 changed something to enable tv-out, so you have 'original' dynamic libs) hw-blit would work and sound would not.

I'll try to find some time to play with this conjecture.

That's nice but i've changed to FW 1.2.0 after all my tries because i was a little bit frustrated and i want to see at least one success :)

Greetz
BNrXYZ
 
Back
Top