Hi again,
I am trying to change the volume of MIDI file stream , before encoding to MP3. As it uses BASS_STREAM_DECODE, from documentation I cannot use BASS_ChannelSetAttribute, so I think I need to use Bass_Mixer, but I am trying to do it with no results. Here is the code:
String file=getActivity().getFilesDir()+"/"+fileTmp+".mid";
int streamMidi= BASSMIDI.BASS_MIDI_StreamCreateFile(file, 0, 0, BASS_STREAM_DECODE,0);
BASS.BASS_CHANNELINFO info = new BASS.BASS_CHANNELINFO();
boolean b = BASS.BASS_ChannelGetInfo(streamMidi, info);
int compressionStream = BASSmix.BASS_Mixer_StreamCreate(info.freq, info.chans, BASS.BASS_STREAM_DECODE|BASSmix.BASS_MIXER_END);
BASSmix.BASS_Mixer_StreamAddChannel(compressionStream,streamMidi,BASSmix.BASS_MIXER_NORAMPIN);
//f returns error
float [][] matrixA= {{.75f,0f},{0f,0.75f}};
boolean f=BASSmix.BASS_Mixer_ChannelSetMatrix(compressionStream,matrixA);
//These two lines does not work, because it is in DECODE mode
//BASS.BASS_ChannelSetAttribute(compressionStream,BASS_ATTRIB_VOL,.15f);
//BASS.BASS_SetConfig(BASS_CONFIG_GVOL_STREAM,4000);
BASSenc_MP3.BASS_Encode_MP3_StartFile(compressionStream, null, 0,file.replace(".mid",".mp3") );
while (true) {
int got = BASS.BASS_ChannelGetData(compressionStream, buffer, 20000);
if (got < 0) break; // end or error
}
BASSenc.BASS_Encode_Stop(compressionStream);
Any help is appreciated. Thanks