Rename API to LoadMusicStreamFromMemory & default unload.
This commit is contained in:
parent
14e8c19873
commit
1afee2f4d1
20
src/raudio.c
20
src/raudio.c
|
|
@ -1298,7 +1298,7 @@ Music LoadMusicStream(const char *fileName)
|
||||||
}
|
}
|
||||||
|
|
||||||
// extension including period ".mod"
|
// extension including period ".mod"
|
||||||
Music LoadModuleFromData(const char *fileType, const char* data, int dataSize){
|
Music LoadMusicStreamFromMemory(const char *fileType, unsigned char* data, int dataSize){
|
||||||
Music music = { 0 };
|
Music music = { 0 };
|
||||||
bool musicLoaded = false;
|
bool musicLoaded = false;
|
||||||
|
|
||||||
|
|
@ -1334,10 +1334,19 @@ Music LoadModuleFromData(const char *fileType, const char* data, int dataSize){
|
||||||
int result = 0;
|
int result = 0;
|
||||||
|
|
||||||
jar_mod_init(ctxMod);
|
jar_mod_init(ctxMod);
|
||||||
|
|
||||||
|
// copy data to allocated memory for default UnloadMusicStream
|
||||||
|
unsigned char *newData = RL_MALLOC(dataSize);
|
||||||
|
int it = dataSize / sizeof(unsigned char);
|
||||||
|
for (int i = 0; i < it; i++){
|
||||||
|
newData[i] = data[i];
|
||||||
|
}
|
||||||
|
TRACELOG(LOG_WARNING, "-------: %d / %d = %d", dataSize, sizeof(unsigned char), it);
|
||||||
|
// Memory loaded version for jar_mod_load_file()
|
||||||
if (dataSize && dataSize < 32*1024*1024)
|
if (dataSize && dataSize < 32*1024*1024)
|
||||||
{
|
{
|
||||||
ctxMod->modfilesize = dataSize;
|
ctxMod->modfilesize = dataSize;
|
||||||
ctxMod->modfile = data;
|
ctxMod->modfile = newData;
|
||||||
if(jar_mod_load(ctxMod, (void*)ctxMod->modfile, dataSize)) result = dataSize;
|
if(jar_mod_load(ctxMod, (void*)ctxMod->modfile, dataSize)) result = dataSize;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1368,19 +1377,20 @@ Music LoadModuleFromData(const char *fileType, const char* data, int dataSize){
|
||||||
else if (music.ctxType == MUSIC_MODULE_MOD) { jar_mod_unload((jar_mod_context_t *)music.ctxData); RL_FREE(music.ctxData); }
|
else if (music.ctxType == MUSIC_MODULE_MOD) { jar_mod_unload((jar_mod_context_t *)music.ctxData); RL_FREE(music.ctxData); }
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
TRACELOG(LOG_WARNING, "FILEIO: [%s] Music data could not be loaded", fileType);
|
music.ctxData = NULL;
|
||||||
|
TRACELOG(LOG_WARNING, "FILEIO: [%s] Music memory could not be opened", fileType);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// Show some music stream info
|
// Show some music stream info
|
||||||
TRACELOG(LOG_INFO, "FILEIO: [%s] Music data successfully loaded:", fileType);
|
TRACELOG(LOG_INFO, "FILEIO: [%s] Music memory successfully loaded:", fileType);
|
||||||
TRACELOG(LOG_INFO, " > Total samples: %i", music.sampleCount);
|
TRACELOG(LOG_INFO, " > Total samples: %i", music.sampleCount);
|
||||||
TRACELOG(LOG_INFO, " > Sample rate: %i Hz", music.stream.sampleRate);
|
TRACELOG(LOG_INFO, " > Sample rate: %i Hz", music.stream.sampleRate);
|
||||||
TRACELOG(LOG_INFO, " > Sample size: %i bits", music.stream.sampleSize);
|
TRACELOG(LOG_INFO, " > Sample size: %i bits", music.stream.sampleSize);
|
||||||
TRACELOG(LOG_INFO, " > Channels: %i (%s)", music.stream.channels, (music.stream.channels == 1)? "Mono" : (music.stream.channels == 2)? "Stereo" : "Multi");
|
TRACELOG(LOG_INFO, " > Channels: %i (%s)", music.stream.channels, (music.stream.channels == 1)? "Mono" : (music.stream.channels == 2)? "Stereo" : "Multi");
|
||||||
}
|
}
|
||||||
|
|
||||||
return music;
|
return music;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Unload music stream
|
// Unload music stream
|
||||||
|
|
|
||||||
|
|
@ -164,7 +164,7 @@ float *GetWaveData(Wave wave); // Get samples d
|
||||||
|
|
||||||
// Music management functions
|
// Music management functions
|
||||||
Music LoadMusicStream(const char *fileName); // Load music stream from file
|
Music LoadMusicStream(const char *fileName); // Load music stream from file
|
||||||
Music LoadModuleFromData(const char *fileType, const char* data, int dataSize); // Load module music from data
|
Music LoadMusicStreamFromMemory(const char *fileType, unsigned char* data, int dataSize); // Load module music from data
|
||||||
void UnloadMusicStream(Music music); // Unload music stream
|
void UnloadMusicStream(Music music); // Unload music stream
|
||||||
void PlayMusicStream(Music music); // Start music playing
|
void PlayMusicStream(Music music); // Start music playing
|
||||||
void UpdateMusicStream(Music music); // Updates buffers for music streaming
|
void UpdateMusicStream(Music music); // Updates buffers for music streaming
|
||||||
|
|
|
||||||
|
|
@ -1495,7 +1495,7 @@ RLAPI void UnloadWaveSamples(float *samples); // Unload
|
||||||
|
|
||||||
// Music management functions
|
// Music management functions
|
||||||
RLAPI Music LoadMusicStream(const char *fileName); // Load music stream from file
|
RLAPI Music LoadMusicStream(const char *fileName); // Load music stream from file
|
||||||
RLAPI Music LoadModuleFromData(const char *fileType, const char* data, int dataSize); // Load module music from data
|
RLAPI Music LoadMusicStreamFromMemory(const char *fileType, unsigned char* data, int dataSize); // Load module music from data
|
||||||
RLAPI void UnloadMusicStream(Music music); // Unload music stream
|
RLAPI void UnloadMusicStream(Music music); // Unload music stream
|
||||||
RLAPI void PlayMusicStream(Music music); // Start music playing
|
RLAPI void PlayMusicStream(Music music); // Start music playing
|
||||||
RLAPI void UpdateMusicStream(Music music); // Updates buffers for music streaming
|
RLAPI void UpdateMusicStream(Music music); // Updates buffers for music streaming
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user