Выкладываю дополненный SDK
http://www.ifolder.ru/2010023
в котором добавил библиотеку libmikmod, а это означает поддержку WAV и большинства треккерных файлов.
Так же выклыдываю свою редакцию MGF, нашел парочку глюков, поправил шрифты, и, самое главное, добавил базовый класс работы с аудио mgfaudio.
Пока реализовал поддержку MP3 и WAV, но позже добавлю треккерные файлы и OGG.
Mortem, посмотри, может чего сам добавишь.
Вот структура MakeFile, когда задействован практически весь движок (из тетриса, полную версию так же вскоре выложу)
TARGET=TETRIS
OBJS=MGF/vram.o MGF/mgfutils.o MGF/mgftexture.o MGF/tgatexture.o MGF/pngtexture.o MGF/jpgtexture.o MGF/mgfcallback.o MGF/mgf.o MGF/mgfsprite.o MGF/mgffont.o MGF/mgfaudio.o MGF/mp3player.o main.o game.o
INCDIR =MGF
CFLAGS=-g -G0 -O0
CXXFLAGS=$(CFLAGS) -fno-exceptions -fno-rtti
ASFLAGS=$(CFLAGS)
BUILD_PRX=0
LIBDIR=
LDFLAGS=
LIBS=-lstdc++ -lpspgum -lpspgu -lpng -lz -ljpeg -lpsprtc -lm -lmad -lmikmod -lpspaudiolib -lpspaudio -lpsppower
EXTRA_TARGETS=EBOOT.PBP
PSP_EBOOT_TITLE=tetris
PSPSDK=$(shell psp-config --pspsdk-path)
include $(PSPSDK)/lib/build.mak
пример использования mgfaudio:
MGFAUDIO *mp3_player,*snd;
mp3_player=new MGFAUDIO();
mp3_player->PlayFile("Music.mp3");
snd=new MGFAUDIO(10);
snd->Add(".MUSIC/Alert.wav");
snd->Add(".MUSIC/Beep.wav");
snd->Play(0);
snd->Play(1);
при этом в один момент времени можно проигрывать лишь один MP3 (в принципе есть возможность несколько каналов организовать, но MP3 очень ресурсоемкий и смысла пока в этом не вижу), а Wav
можно воспроизводить несколько одновременно (точнее я поставил 10) , так же Wav будет микширован с другими звуковыми каналами это полезно
для эффектов (например поверх фоновой музыки), правда можно использовать только MONO Wave в несжатом RIFF формате.
Ну вроде все, тетрис мой уже почти совсем готов, самому уже не терпится выложить, но хочу уже все доделать, а не выкладывать шлейф бета версий, так что все путем
P.S. Mortem, да, самому хочется что нибудь "навороченное" из 3D замутить, мозг размять, но пока надо имеющиеся проекты закончить
