Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
maybe this is a n00bish question, but anyway: With the LLE plugin the looping works correctly, right? Isn't it possible to take the code from the LLE plugin and transfer it to the HLE plugin? ^^
I don't think so :p, because if you copy the code, what would be different from the LLE plugin?
alright, then don't copy but translate it from LLE to HLE

Yes, it is possible, but only in the way o very similar on how the code is now for the HLE jeje.
oo btw, render raw voice ending loop is wrong... (keeps looping in short circles the end part of music), that is because it has some influence the "for" function and call decoder21. 1 week later i was trying to fix that but like i've commented before, i broke audio exactly the same way as mario galaxy xD
I was talking about some kind of loop crossfading in
this thread, because I was playing with a few music samples and recording them. This samples don't loop perfectly when I edited them one after another at the ending loop point. Also, the music always stops at the same point all the times, so it's not ending randomly.
So, there must be some code that jumps to a certain point in the music timeline and crossfades them. Or it could even jump to another music stream. Hard to say without the music samples themselves. Is there a way to extract the music? Music is just an audio stream right? (at least in this games) THis could help to advance in my theory.
mmm you mean making buffer more shorter and not the same size of the remaining length of the sample?
I was trying to enable this is Ucode_Zelda.cpp:
Quote:// Normally, we should mix to the buffers used by the game.
// We don't do it currently for a simple reason:
// if the game runs fast all the time, then it's OK,
// but if it runs slow, sound can become choppy.
// This problem won't happen when mixing to the buffer
// provided by MixAdd(), because the size of this buffer
// is automatically adjusted if the game runs slow.
#if 1
if (m_SyncFlags[n] & 0x8000)
{
for (; m_CurVoice < m_MaxVoice; m_CurVoice++)
{
if (m_CurVoice >= m_NumVoices)
break;
MixVoice(m_CurVoice);
}
}
But get this error:
Quote:Error 1 error: identifier "MixVoice" is undefined D:\My Documents\Emulator SVN\Dolphin\Source\Plugins\Plugin_DSP_HLE\Src\UCodes\UCode_Zelda.cpp 311
How can I fix this?
that is because MixVoice is not defined, but MixAdd it is, wich i think it must be the same as MixVoice, but if you want to use it, you need 2 parameters, one is the buffer and the other is size, so this maybe be written like this:
MixAdd(short* m_CurBuffer, int m_CurVoice); ??? o something like that, don't know really, but the error is for that, MixVoice is not defined.
The MixVoice function isn't defined anywhere. It was normally not a problem with compiling because of the "#if 0", so that part never occured, therefore the compiler ignored it.
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17