You can subscribe to this list here.
| 2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
(14) |
Dec
(33) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2002 |
Jan
(68) |
Feb
(19) |
Mar
(6) |
Apr
(97) |
May
(15) |
Jun
(28) |
Jul
(83) |
Aug
(21) |
Sep
(67) |
Oct
(16) |
Nov
|
Dec
(22) |
| 2003 |
Jan
(47) |
Feb
(17) |
Mar
(5) |
Apr
|
May
(5) |
Jun
(106) |
Jul
(25) |
Aug
|
Sep
(14) |
Oct
(7) |
Nov
(24) |
Dec
(5) |
| 2004 |
Jan
(54) |
Feb
(19) |
Mar
|
Apr
(33) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(6) |
Nov
(153) |
Dec
(6) |
| 2005 |
Jan
(178) |
Feb
(17) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2006 |
Jan
(2) |
Feb
(173) |
Mar
|
Apr
(7) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(12) |
Dec
(14) |
| 2007 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(4) |
Jun
(29) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2008 |
Jan
(29) |
Feb
(3) |
Mar
(5) |
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(4) |
Dec
|
| 2009 |
Jan
|
Feb
|
Mar
(3) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
| 2013 |
Jan
(7) |
Feb
|
Mar
(18) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2015 |
Jan
|
Feb
|
Mar
|
Apr
(7) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Henri M. <hfm...@us...> - 2006-02-22 22:43:26
|
Update of /cvsroot/tritonus/tritonus/src/lib/fluidsynth In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21765 Modified Files: org_tritonus_midi_device_fluidsynth_FluidSynthesizer.c Log Message: - program changes no longer ignored on channel 9 - in Java_org_tritonus_midi_device_fluidsynth_FluidSynthesizer_setTrace don't try to turn of log levels in Win32 since fluid_log_config() is not an exported function in the fluidsynth DLL and so causes a link error Direct links to online-CVS: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/tritonus/tritonus/src/lib/fluidsynth/org_tritonus_midi_device_fluidsynth_FluidSynthesizer.c Index: org_tritonus_midi_device_fluidsynth_FluidSynthesizer.c =================================================================== RCS file: /cvsroot/tritonus/tritonus/src/lib/fluidsynth/org_tritonus_midi_device_fluidsynth_FluidSynthesizer.c,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -r1.12 -r1.13 *** org_tritonus_midi_device_fluidsynth_FluidSynthesizer.c 22 Feb 2006 21:21:49 -0000 1.12 --- org_tritonus_midi_device_fluidsynth_FluidSynthesizer.c 22 Feb 2006 22:43:20 -0000 1.13 *************** *** 479,483 **** { fluid_synth_t* synth = get_synth(env, obj); ! if (synth && channel != 9) // don't change drum channel { fluid_synth_program_change(synth, channel, program); --- 479,483 ---- { fluid_synth_t* synth = get_synth(env, obj); ! if (synth) { fluid_synth_program_change(synth, channel, program); *************** *** 550,553 **** --- 550,557 ---- debug_flag = bTrace; debug_file = stderr; + /* Don't try to turn of log levels in Win32 since fluid_log_config() is not an exported function + * in the fluidsynth DLL and so causes a link error + */ + #ifndef WIN32 if (!bTrace) { *************** *** 564,567 **** --- 568,572 ---- fluid_set_log_function(FLUID_INFO, NULL, NULL); } + #endif } |
|
From: Matthias P. <pfi...@us...> - 2006-02-22 21:21:52
|
Update of /cvsroot/tritonus/tritonus/src/lib/fluidsynth In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11142/src/lib/fluidsynth Modified Files: org_tritonus_midi_device_fluidsynth_FluidSynthesizer.c Log Message: introduced 'double casts' for native pointer fields to suppress compiler warnings; re-enabled call to fluid_log_config() Direct links to online-CVS: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/tritonus/tritonus/src/lib/fluidsynth/org_tritonus_midi_device_fluidsynth_FluidSynthesizer.c Index: org_tritonus_midi_device_fluidsynth_FluidSynthesizer.c =================================================================== RCS file: /cvsroot/tritonus/tritonus/src/lib/fluidsynth/org_tritonus_midi_device_fluidsynth_FluidSynthesizer.c,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -r1.11 -r1.12 *** org_tritonus_midi_device_fluidsynth_FluidSynthesizer.c 21 Feb 2006 21:49:26 -0000 1.11 --- org_tritonus_midi_device_fluidsynth_FluidSynthesizer.c 22 Feb 2006 21:21:49 -0000 1.12 *************** *** 72,76 **** { get_fluidclassinfo(env); ! return (fluid_synth_t*) (*env)->GetLongField(env, obj, synthPtrFieldID); } --- 72,76 ---- { get_fluidclassinfo(env); ! return (fluid_synth_t*) ((unsigned int) (*env)->GetLongField(env, obj, synthPtrFieldID)); } *************** *** 135,141 **** goto error_recovery; } ! (*env)->SetLongField(env, obj, settingsPtrFieldID, (jlong) settings); ! (*env)->SetLongField(env, obj, synthPtrFieldID, (jlong) synth); ! (*env)->SetLongField(env, obj, audioDriverPtrFieldID, (jlong) adriver); } return 0; --- 135,141 ---- goto error_recovery; } ! (*env)->SetLongField(env, obj, settingsPtrFieldID, (jlong) ((unsigned int) settings)); ! (*env)->SetLongField(env, obj, synthPtrFieldID, (jlong) ((unsigned int) synth)); ! (*env)->SetLongField(env, obj, audioDriverPtrFieldID, (jlong) ((unsigned int) adriver)); } return 0; *************** *** 169,174 **** } #endif ! settings = (fluid_settings_t*) (*env)->GetLongField(env, obj, settingsPtrFieldID); ! adriver = (fluid_audio_driver_t*) (*env)->GetLongField(env, obj, audioDriverPtrFieldID); fluid_jni_delete_synth(env, obj, settings, synth, adriver); } --- 169,174 ---- } #endif ! settings = (fluid_settings_t*) ((unsigned int) (*env)->GetLongField(env, obj, settingsPtrFieldID)); ! adriver = (fluid_audio_driver_t*) ((unsigned int) (*env)->GetLongField(env, obj, audioDriverPtrFieldID)); fluid_jni_delete_synth(env, obj, settings, synth, adriver); } *************** *** 552,557 **** if (!bTrace) { ! ! // fluid_log_config(); fluid_set_log_function(FLUID_WARN, NULL, NULL); fluid_set_log_function(FLUID_INFO, NULL, NULL); --- 552,564 ---- if (!bTrace) { ! /* fluid_log_config() is not part of the public API of fluidsynth. ! * However, this call is necessary because of a bug in fluidsynth: ! * fluid_set_log_function() does not initialize the data structures. ! * This is only done with the first call to fluid_log() and then, log ! * functions that are NULL are initialized to the default, so that ! * setting them to NULL with fluid_set_log_function() previously has no ! * effect. ! */ ! fluid_log_config(); fluid_set_log_function(FLUID_WARN, NULL, NULL); fluid_set_log_function(FLUID_INFO, NULL, NULL); |
|
From: Matthias P. <Mat...@we...> - 2006-02-22 21:18:26
|
Henri Manson wrote: > Update of /cvsroot/tritonus/tritonus/src/lib/fluidsynth > In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24855 > > Modified Files: > org_tritonus_midi_device_fluidsynth_FluidSynthesizer.c > Log Message: > - changed native pointers to 64 bit. > - Java_org_tritonus_midi_device_fluidsynth_FluidSynthesizer_programChange ignores program changes on channel 9 (Drum channel) Why is this necessary? I'm not a MIDI expert, but I thought that using channel 9 as an oridinary channel instead of a drum channel should be possible (as well as making another channel the drum channel). Perhaps the MIDI experts can clearify this. > - remarked out fluid_log_config() in Java_org_tritonus_midi_device_fluidsynth_FluidSynthesizer_setTrace > fluid_log_config() is not part of the fluidsynth api. Unfortunately, this call is necessary due to a bug in fluid_set_log_function(). Without it, switching off the messages does not work. Matthias > > > > Direct links to online-CVS: > > http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/tritonus/tritonus/src/lib/fluidsynth/org_tritonus_midi_device_fluidsynth_FluidSynthesizer.c -- Matthias Pfisterer Mat...@we... Reuchlinstrasse 28 phone ++49-711-62 87 12 D-70176 Stuttgart (in Deutschland 0711-62 87 12) GERMANY Work like you don't need the money. Love like you've never been hurt. Dance like nobody is watching. Java Sound Resources (examples, FAQ, applications): http://www.jsresources.org/ Tritonus, the open source implementation of the Java Sound API: http://www.tritonus.org/ -------------------------------------------------------------- |
|
From: Matthias P. <pfi...@us...> - 2006-02-22 20:06:26
|
Update of /cvsroot/tritonus/tritonus/test/suite/src/classes/org/tritonus/test/api/midi/synthesizer In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5106/src/classes/org/tritonus/test/api/midi/synthesizer Added Files: MidiChannelTestCase.java Log Message: added test case Direct links to online-CVS: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/tritonus/tritonus/test/suite/src/classes/org/tritonus/test/api/midi/synthesizer/MidiChannelTestCase.java --- NEW FILE: MidiChannelTestCase.java --- |
|
From: Matthias P. <pfi...@us...> - 2006-02-22 20:06:15
|
Update of /cvsroot/tritonus/tritonus/test/suite In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5106 Modified Files: build.xml Log Message: added test case Direct links to online-CVS: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/tritonus/tritonus/test/suite/build.xml Index: build.xml =================================================================== RCS file: /cvsroot/tritonus/tritonus/test/suite/build.xml,v retrieving revision 1.26 retrieving revision 1.27 diff -C2 -r1.26 -r1.27 *** build.xml 17 Feb 2006 10:09:32 -0000 1.26 --- build.xml 22 Feb 2006 20:06:09 -0000 1.27 *************** *** 128,131 **** --- 128,132 ---- <test name="org.tritonus.test.api.midi.synthesizer.GetDefaultSoundbankTestCase" /> <test name="org.tritonus.test.api.midi.synthesizer.WrongSoundbankTestCase" /> + <test name="org.tritonus.test.api.midi.synthesizer.MidiChannelTestCase" /> </junit> </target> |
|
From: Matthias P. <pfi...@us...> - 2006-02-22 20:04:12
|
Update of /cvsroot/tritonus/tritonus/test/suite/src/classes/org/tritonus/test/api/midi/synthesizer In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4099/src/classes/org/tritonus/test/api/midi/synthesizer Modified Files: BaseSynthesizerTestCase.java Log Message: changed error message Direct links to online-CVS: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/tritonus/tritonus/test/suite/src/classes/org/tritonus/test/api/midi/synthesizer/BaseSynthesizerTestCase.java Index: BaseSynthesizerTestCase.java =================================================================== RCS file: /cvsroot/tritonus/tritonus/test/suite/src/classes/org/tritonus/test/api/midi/synthesizer/BaseSynthesizerTestCase.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** BaseSynthesizerTestCase.java 15 Feb 2006 09:03:55 -0000 1.1 --- BaseSynthesizerTestCase.java 22 Feb 2006 20:04:04 -0000 1.2 *************** *** 83,87 **** protected static String getMessagePrefix(Synthesizer seq) { ! return seq.getDeviceInfo().getName(); } } --- 83,87 ---- protected static String getMessagePrefix(Synthesizer seq) { ! return seq.getDeviceInfo().getName() + ": "; } } |
|
From: Matthias P. <pfi...@us...> - 2006-02-22 10:58:30
|
Update of /cvsroot/tritonus/tritonus/test/suite/src/classes/org/tritonus/test/tritonus/share/midi In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18108/src/classes/org/tritonus/test/tritonus/share/midi Modified Files: TDirectSynthesizerTestCase.java Log Message: implemented real test cases Direct links to online-CVS: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/tritonus/tritonus/test/suite/src/classes/org/tritonus/test/tritonus/share/midi/TDirectSynthesizerTestCase.java Index: TDirectSynthesizerTestCase.java =================================================================== RCS file: /cvsroot/tritonus/tritonus/test/suite/src/classes/org/tritonus/test/tritonus/share/midi/TDirectSynthesizerTestCase.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** TDirectSynthesizerTestCase.java 13 Feb 2006 22:22:20 -0000 1.2 --- TDirectSynthesizerTestCase.java 22 Feb 2006 10:58:20 -0000 1.3 *************** *** 25,33 **** import junit.framework.TestCase; ! import javax.sound.midi.Patch; import javax.sound.midi.Instrument; import javax.sound.midi.Soundbank; import javax.sound.midi.MidiChannel; import javax.sound.midi.VoiceStatus; import org.tritonus.share.midi.TDirectSynthesizer; --- 25,37 ---- import junit.framework.TestCase; ! import javax.sound.midi.Synthesizer; import javax.sound.midi.Instrument; + import javax.sound.midi.Patch; import javax.sound.midi.Soundbank; import javax.sound.midi.MidiChannel; import javax.sound.midi.VoiceStatus; + import javax.sound.midi.Receiver; + import javax.sound.midi.ShortMessage; + //import javax.sound.midi.MidiMessage; import org.tritonus.share.midi.TDirectSynthesizer; *************** *** 46,67 **** ! public void testEmptyMap() { } ! public void testCopying() { } ! public void testUnmodifiable() { } ! public void testGet() { } --- 50,233 ---- ! public void testNoteOn() ! throws Exception ! { ! checkMessage2(Type.NOTEON); ! } ! ! ! public void testNoteOff() ! throws Exception ! { ! checkMessage2(Type.NOTEOFF); ! } ! ! ! public void testPolyPressure() ! throws Exception ! { ! checkMessage2(Type.POLY_PRESSURE); ! } ! ! ! public void testControlChange() ! throws Exception ! { ! checkMessage2(Type.CONTROL_CHANGE); ! } ! ! ! public void testProgramChange() ! throws Exception ! { ! checkMessage1(Type.PROGRAM); ! } ! ! ! public void testChannelPressure() ! throws Exception ! { ! checkMessage1(Type.CHANNEL_PRESSURE); ! } ! ! ! public void testPitchbend() ! throws Exception ! { ! Synthesizer synth = new TestSynthesizer(); ! synth.open(); ! TestSynthesizer.TestChannel[] channels = ! (TestSynthesizer.TestChannel[]) synth.getChannels(); ! try ! { ! Receiver r = synth.getReceiver(); ! checkPitchbend(channels, r, 0, 0); ! checkPitchbend(channels, r, 5, 127); ! checkPitchbend(channels, r, 7, 128); ! checkPitchbend(channels, r, 15, 16383); ! } ! finally ! { ! synth.close(); ! } ! } ! ! ! private void checkPitchbend(TestSynthesizer.TestChannel[] channels, ! Receiver r, int nChannel, int nBend) ! throws Exception ! { ! Type type = Type.PITCHBEND; ! ShortMessage shMsg = new ShortMessage(); ! shMsg.setMessage(type.getCommand(), ! nChannel, nBend & 0x7F, nBend >> 7); ! resetResults(channels); ! r.send(shMsg, -1); ! checkResult(channels, nChannel, type, ! nBend, -1); ! } ! ! ! /** ! * ! * @param bOn if true, note on is tested. If false, note off is tested. ! * @throws Exception ! */ ! private void checkMessage2(Type type) ! throws Exception { + Synthesizer synth = new TestSynthesizer(); + synth.open(); + TestSynthesizer.TestChannel[] channels = + (TestSynthesizer.TestChannel[]) synth.getChannels(); + try + { + Receiver r = synth.getReceiver(); + checkMessage(type, channels, r, 0, 17, 55); + checkMessage(type, channels, r, 15, 0, 0); + checkMessage(type, channels, r, 5, 127, 127); + } + finally + { + synth.close(); + } } + /** + * + * @param type + * @throws Exception + */ + private void checkMessage1(Type type) + throws Exception + { + Synthesizer synth = new TestSynthesizer(); + synth.open(); + TestSynthesizer.TestChannel[] channels = + (TestSynthesizer.TestChannel[]) synth.getChannels(); + try + { + Receiver r = synth.getReceiver(); + checkMessage(type, channels, r, 0, 57, 0); + checkMessage(type, channels, r, 15, 0, 0); + checkMessage(type, channels, r, 5, 127, 0); + } + finally + { + synth.close(); + } + } + ! private void checkMessage(Type type, ! TestSynthesizer.TestChannel[] channels, ! Receiver r, int nChannel, int nValue1, int nValue2) ! throws Exception { + ShortMessage shMsg = new ShortMessage(); + shMsg.setMessage(type.getCommand(), + nChannel, nValue1, nValue2); + resetResults(channels); + r.send(shMsg, -1); + checkResult(channels, nChannel, type, + nValue1, nValue2); } ! private void resetResults(TestSynthesizer.TestChannel[] channels) { + for (int i = 0; i < channels.length; i++) + { + channels[i].resetValues(); + } } ! private void checkResult(TestSynthesizer.TestChannel[] channels, ! int channel, Type type, int value1, int value2) { + for (int i = 0; i < channels.length; i++) + { + TestSynthesizer.TestChannel ch = channels[i]; + if (i == channel) + { + assertEquals("affected channel: type", + type, ch.getType()); + assertEquals("affected channel: value1", + value1, ch.getValue1()); + assertEquals("affected channel: value2", + value2, ch.getValue2()); + } + else + { + assertEquals("unaffected channel: type", + Type.NONE, ch.getType()); + assertEquals("unaffected channel: value1", + -1, ch.getValue1()); + assertEquals("unaffected channel: value2", + -1, ch.getValue2()); + } + } } *************** *** 77,85 **** // no MidiDevice.Info super(null); ! // m_channels = new MidiChannel[16]; ! // for (int i = 0; i < 16; i++) ! // { ! // m_channels[i] = new TestChannel(i); ! // } } --- 243,251 ---- // no MidiDevice.Info super(null); ! m_channels = new TestChannel[16]; ! for (int i = 0; i < 16; i++) ! { ! m_channels[i] = new TestChannel(i); ! } } *************** *** 98,102 **** public MidiChannel[] getChannels() { ! return null; } --- 264,268 ---- public MidiChannel[] getChannels() { ! return m_channels; } *************** *** 174,185 **** ! // private class TestChannel ! // implements MidiChannel ! // { ! // public TestChannel(int nChannel) ! // { ! // } ! // } } } --- 340,551 ---- ! public class TestChannel ! implements MidiChannel ! { ! private Type m_nType; ! private int m_nValue1; ! private int m_nValue2; ! ! ! public TestChannel(int nChannel) ! { ! } ! ! ! public void resetValues() ! { ! m_nType = Type.NONE; ! m_nValue1 = -1; ! m_nValue2 = -1; ! } ! ! ! public Type getType() ! { ! return m_nType; ! } ! ! ! public int getValue1() ! { ! return m_nValue1; ! } ! ! public int getValue2() ! { ! return m_nValue2; ! } ! ! public void allNotesOff() ! { ! } ! ! public void allSoundOff() ! { ! } ! ! public void controlChange(int nController, int nValue) ! { ! m_nType = Type.CONTROL_CHANGE; ! m_nValue1 = nController; ! m_nValue2 = nValue; ! } ! ! public int getChannelPressure() ! { ! return 0; ! } ! ! public int getController(int nController) ! { ! return 0; ! } ! ! public boolean getMono() ! { ! return false; ! } ! ! public boolean getMute() ! { ! return false; ! } ! ! public boolean getOmni() ! { ! return false; ! } ! ! public int getPitchBend() ! { ! return 0; ! } ! ! public int getPolyPressure(int nNoteNumber) ! { ! return 0; ! } ! ! public int getProgram() ! { ! return 0; ! } ! ! public boolean getSolo() ! { ! return false; ! } ! ! public boolean localControl(boolean bOn) ! { ! return false; ! } ! ! public void noteOff(int nNoteNumber, int nVelocity) ! { ! m_nType = Type.NOTEOFF; ! m_nValue1 = nNoteNumber; ! m_nValue2 = nVelocity; ! } ! ! public void noteOff(int nNoteNumber) ! { ! } ! ! public void noteOn(int nNoteNumber, int nVelocity) ! { ! m_nType = Type.NOTEON; ! m_nValue1 = nNoteNumber; ! m_nValue2 = nVelocity; ! } ! ! public void programChange(int nBank, int nProgram) ! { ! m_nType = Type.BANK_PROGRAM; ! m_nValue1 = nBank; ! m_nValue2 = nProgram; ! } ! ! public void programChange(int nProgram) ! { ! m_nType = Type.PROGRAM; ! m_nValue1 = nProgram; ! m_nValue2 = 0; ! } ! ! public void resetAllControllers() ! { ! } ! ! public void setChannelPressure(int nPressure) ! { ! m_nType = Type.CHANNEL_PRESSURE; ! m_nValue1 = nPressure; ! m_nValue2 = 0; ! } ! ! public void setMono(boolean bMono) ! { ! } ! ! public void setMute(boolean bMute) ! { ! } ! ! public void setOmni(boolean bOmni) ! { ! } ! ! public void setPitchBend(int nBend) ! { ! m_nType = Type.PITCHBEND; ! m_nValue1 = nBend; ! } ! ! public void setPolyPressure(int nNoteNumber, int nPressure) ! { ! m_nType = Type.POLY_PRESSURE; ! m_nValue1 = nNoteNumber; ! m_nValue2 = nPressure; ! } ! ! public void setSolo(boolean bSolo) ! { ! } ! } ! } ! ! ! public static enum Type ! { ! NONE, ! CONTROL_CHANGE(ShortMessage.CONTROL_CHANGE), ! NOTEON(ShortMessage.NOTE_ON), ! NOTEOFF(ShortMessage.NOTE_OFF), ! PROGRAM(ShortMessage.PROGRAM_CHANGE), ! BANK_PROGRAM(ShortMessage.PROGRAM_CHANGE), ! PITCHBEND(ShortMessage.PITCH_BEND), ! POLY_PRESSURE(ShortMessage.POLY_PRESSURE), ! CHANNEL_PRESSURE(ShortMessage.CHANNEL_PRESSURE); ! ! private int m_nCommand; ! ! private Type() ! { ! this(0); ! } ! ! private Type(int nCommand) ! { ! m_nCommand = nCommand; ! } ! ! public int getCommand() ! { ! return m_nCommand; ! } } + + } |
|
From: Henri M. <hfm...@us...> - 2006-02-21 21:49:35
|
Update of /cvsroot/tritonus/tritonus/src/lib/fluidsynth In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27326 Modified Files: org_tritonus_midi_device_fluidsynth_FluidSynthesizer.c Log Message: bugfix: Type Signatures for native pointer fields corrected. Direct links to online-CVS: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/tritonus/tritonus/src/lib/fluidsynth/org_tritonus_midi_device_fluidsynth_FluidSynthesizer.c Index: org_tritonus_midi_device_fluidsynth_FluidSynthesizer.c =================================================================== RCS file: /cvsroot/tritonus/tritonus/src/lib/fluidsynth/org_tritonus_midi_device_fluidsynth_FluidSynthesizer.c,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -r1.10 -r1.11 *** org_tritonus_midi_device_fluidsynth_FluidSynthesizer.c 21 Feb 2006 21:44:38 -0000 1.10 --- org_tritonus_midi_device_fluidsynth_FluidSynthesizer.c 21 Feb 2006 21:49:26 -0000 1.11 *************** *** 62,68 **** if (!fluidsynthclass) return -1; ! synthPtrFieldID = (*env)->GetFieldID(env, fluidsynthclass, "synthPtr", "I"); ! settingsPtrFieldID = (*env)->GetFieldID(env, fluidsynthclass, "settingsPtr", "I"); ! audioDriverPtrFieldID = (*env)->GetFieldID(env, fluidsynthclass, "audioDriverPtr", "I"); } return 0; --- 62,68 ---- if (!fluidsynthclass) return -1; ! synthPtrFieldID = (*env)->GetFieldID(env, fluidsynthclass, "synthPtr", "J"); ! settingsPtrFieldID = (*env)->GetFieldID(env, fluidsynthclass, "settingsPtr", "J"); ! audioDriverPtrFieldID = (*env)->GetFieldID(env, fluidsynthclass, "audioDriverPtr", "J"); } return 0; |
|
From: Henri M. <hfm...@us...> - 2006-02-21 21:44:43
|
Update of /cvsroot/tritonus/tritonus/src/lib/fluidsynth In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24855 Modified Files: org_tritonus_midi_device_fluidsynth_FluidSynthesizer.c Log Message: - changed native pointers to 64 bit. - Java_org_tritonus_midi_device_fluidsynth_FluidSynthesizer_programChange ignores program changes on channel 9 (Drum channel) - remarked out fluid_log_config() in Java_org_tritonus_midi_device_fluidsynth_FluidSynthesizer_setTrace fluid_log_config() is not part of the fluidsynth api. Direct links to online-CVS: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/tritonus/tritonus/src/lib/fluidsynth/org_tritonus_midi_device_fluidsynth_FluidSynthesizer.c Index: org_tritonus_midi_device_fluidsynth_FluidSynthesizer.c =================================================================== RCS file: /cvsroot/tritonus/tritonus/src/lib/fluidsynth/org_tritonus_midi_device_fluidsynth_FluidSynthesizer.c,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -r1.9 -r1.10 *** org_tritonus_midi_device_fluidsynth_FluidSynthesizer.c 20 Feb 2006 10:20:19 -0000 1.9 --- org_tritonus_midi_device_fluidsynth_FluidSynthesizer.c 21 Feb 2006 21:44:38 -0000 1.10 *************** *** 72,76 **** { get_fluidclassinfo(env); ! return (fluid_synth_t*) (*env)->GetIntField(env, obj, synthPtrFieldID); } --- 72,76 ---- { get_fluidclassinfo(env); ! return (fluid_synth_t*) (*env)->GetLongField(env, obj, synthPtrFieldID); } *************** *** 81,95 **** { delete_fluid_audio_driver(adriver); ! (*env)->SetIntField(env, obj, audioDriverPtrFieldID, 0); } if (synth) { delete_fluid_synth(synth); ! (*env)->SetIntField(env, obj, synthPtrFieldID, 0); } if (settings) { delete_fluid_settings(settings); ! (*env)->SetIntField(env, obj, settingsPtrFieldID, (int) 0); } } --- 81,95 ---- { delete_fluid_audio_driver(adriver); ! (*env)->SetLongField(env, obj, audioDriverPtrFieldID, (jlong) 0); } if (synth) { delete_fluid_synth(synth); ! (*env)->SetLongField(env, obj, synthPtrFieldID, (jlong) 0); } if (settings) { delete_fluid_settings(settings); ! (*env)->SetLongField(env, obj, settingsPtrFieldID, (jlong) 0); } } *************** *** 135,141 **** goto error_recovery; } ! (*env)->SetIntField(env, obj, settingsPtrFieldID, (int) settings); ! (*env)->SetIntField(env, obj, synthPtrFieldID, (int) synth); ! (*env)->SetIntField(env, obj, audioDriverPtrFieldID, (int) adriver); } return 0; --- 135,141 ---- goto error_recovery; } ! (*env)->SetLongField(env, obj, settingsPtrFieldID, (jlong) settings); ! (*env)->SetLongField(env, obj, synthPtrFieldID, (jlong) synth); ! (*env)->SetLongField(env, obj, audioDriverPtrFieldID, (jlong) adriver); } return 0; *************** *** 169,174 **** } #endif ! settings = (fluid_settings_t*) (*env)->GetIntField(env, obj, settingsPtrFieldID); ! adriver = (fluid_audio_driver_t*) (*env)->GetIntField(env, obj, audioDriverPtrFieldID); fluid_jni_delete_synth(env, obj, settings, synth, adriver); } --- 169,174 ---- } #endif ! settings = (fluid_settings_t*) (*env)->GetLongField(env, obj, settingsPtrFieldID); ! adriver = (fluid_audio_driver_t*) (*env)->GetLongField(env, obj, audioDriverPtrFieldID); fluid_jni_delete_synth(env, obj, settings, synth, adriver); } *************** *** 479,483 **** { fluid_synth_t* synth = get_synth(env, obj); ! if (synth) { fluid_synth_program_change(synth, channel, program); --- 479,483 ---- { fluid_synth_t* synth = get_synth(env, obj); ! if (synth && channel != 9) // don't change drum channel { fluid_synth_program_change(synth, channel, program); *************** *** 552,556 **** if (!bTrace) { ! fluid_log_config(); fluid_set_log_function(FLUID_WARN, NULL, NULL); fluid_set_log_function(FLUID_INFO, NULL, NULL); --- 552,557 ---- if (!bTrace) { ! ! // fluid_log_config(); fluid_set_log_function(FLUID_WARN, NULL, NULL); fluid_set_log_function(FLUID_INFO, NULL, NULL); |
|
From: Henri M. <hfm...@us...> - 2006-02-21 21:40:28
|
Update of /cvsroot/tritonus/tritonus/src/classes/org/tritonus/midi/device/fluidsynth In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22776 Modified Files: FluidSynthesizer.java Log Message: changed native pointers to 64 bit. Introduced new system propery tritonus.fluidsynth.defaultsoundbankoffset to set the bank offset of a soundfont Direct links to online-CVS: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/tritonus/tritonus/src/classes/org/tritonus/midi/device/fluidsynth/FluidSynthesizer.java Index: FluidSynthesizer.java =================================================================== RCS file: /cvsroot/tritonus/tritonus/src/classes/org/tritonus/midi/device/fluidsynth/FluidSynthesizer.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -r1.8 -r1.9 *** FluidSynthesizer.java 20 Feb 2006 10:20:19 -0000 1.8 --- FluidSynthesizer.java 21 Feb 2006 21:40:19 -0000 1.9 *************** *** 57,64 **** private int defaultbankSfontID; ! // native pointers *32 bit*! ! private int settingsPtr; ! private int synthPtr; ! private int audioDriverPtr; --- 57,64 ---- private int defaultbankSfontID; ! // native pointers 64 bit maximum ! private long settingsPtr; ! private long synthPtr; ! private long audioDriverPtr; *************** *** 111,115 **** throw new MidiUnavailableException("Low-level initialization of the synthesizer failed"); } ! if (TDebug.TraceSynthesizer) TDebug.out("FluidSynthesizer: " + Integer.toHexString(synthPtr)); channels = new MidiChannel[16]; --- 111,115 ---- throw new MidiUnavailableException("Low-level initialization of the synthesizer failed"); } ! if (TDebug.TraceSynthesizer) TDebug.out("FluidSynthesizer: " + Long.toHexString(synthPtr)); channels = new MidiChannel[16]; *************** *** 125,128 **** --- 125,134 ---- int sfontID = loadSoundFont(sfontFile); setDefaultSoundBank(sfontID); + String strBankOffset = + System.getProperty("tritonus.fluidsynth.defaultsoundbankoffset"); + if (strBankOffset != null && ! strBankOffset.equals("")) + { + setBankOffset(sfontID, Integer.parseInt(strBankOffset)); + } } } *************** *** 132,136 **** { if (TDebug.TraceSynthesizer) TDebug.out("FluidSynthesizer.closeImpl(): " ! + Integer.toHexString(synthPtr)); deleteSynth(); super.closeImpl(); --- 138,142 ---- { if (TDebug.TraceSynthesizer) TDebug.out("FluidSynthesizer.closeImpl(): " ! + Long.toHexString(synthPtr)); deleteSynth(); super.closeImpl(); *************** *** 148,156 **** protected void finalize(){ ! if (TDebug.TraceSynthesizer) TDebug.out("finalize: " + Integer.toHexString(synthPtr)); close(); } - public native int loadSoundFont(String filename); public native void setBankOffset(int sfontID, int offset); --- 154,161 ---- protected void finalize(){ ! if (TDebug.TraceSynthesizer) TDebug.out("finalize: " + Long.toHexString(synthPtr)); close(); } public native int loadSoundFont(String filename); public native void setBankOffset(int sfontID, int offset); |
|
From: Matthias P. <pfi...@us...> - 2006-02-21 18:10:50
|
Update of /cvsroot/tritonus/tritonus/test/suite/src/classes/org/tritonus/test/api/midi/synthesizer In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13492/test/suite/src/classes/org/tritonus/test/api/midi/synthesizer Modified Files: WrongSoundbankTestCase.java Log Message: modified so that the Java Sound Synthesizer passes Direct links to online-CVS: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/tritonus/tritonus/test/suite/src/classes/org/tritonus/test/api/midi/synthesizer/WrongSoundbankTestCase.java Index: WrongSoundbankTestCase.java =================================================================== RCS file: /cvsroot/tritonus/tritonus/test/suite/src/classes/org/tritonus/test/api/midi/synthesizer/WrongSoundbankTestCase.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** WrongSoundbankTestCase.java 15 Feb 2006 09:03:55 -0000 1.1 --- WrongSoundbankTestCase.java 21 Feb 2006 18:10:42 -0000 1.2 *************** *** 47,51 **** WrongSoundbank sb = new WrongSoundbank(); Instrument instr = sb.new WrongInstrument(); ! Patch[] patchlist = new Patch[0]; synth.open(); --- 47,52 ---- WrongSoundbank sb = new WrongSoundbank(); Instrument instr = sb.new WrongInstrument(); ! Patch[] patchlist = new Patch[1]; ! patchlist[0] = new Patch(0, 0); synth.open(); *************** *** 173,182 **** public Instrument getInstrument(Patch patch) { ! return null; } public Instrument[] getInstruments() { ! return new Instrument[0]; } --- 174,185 ---- public Instrument getInstrument(Patch patch) { ! return new WrongInstrument(); } public Instrument[] getInstruments() { ! Instrument[] instruments = new Instrument[1]; ! instruments[0] = new WrongInstrument(); ! return instruments; } |
|
From: Henri M. <hfm...@us...> - 2006-02-21 16:20:33
|
Update of /cvsroot/tritonus/tritonus/src/classes/org/tritonus/midi/sb/fluidsynth In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19802 Modified Files: FluidSoundbank.java Log Message: FluidInstrument.toString() implemented. Returned string formated as Java Sound Synthesizer. Direct links to online-CVS: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/tritonus/tritonus/src/classes/org/tritonus/midi/sb/fluidsynth/FluidSoundbank.java Index: FluidSoundbank.java =================================================================== RCS file: /cvsroot/tritonus/tritonus/src/classes/org/tritonus/midi/sb/fluidsynth/FluidSoundbank.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** FluidSoundbank.java 13 Feb 2006 12:21:49 -0000 1.3 --- FluidSoundbank.java 21 Feb 2006 16:20:26 -0000 1.4 *************** *** 64,67 **** --- 64,72 ---- } + public String toString() + { + return "Instrument " + getName() + " (bank " + getPatch().getBank() + " program " + getPatch().getProgram() + ")"; + } + public Object getData() { |
|
From: Matthias P. <pfi...@us...> - 2006-02-20 10:27:50
|
Update of /cvsroot/tritonus/tritonus/src/classes/org/tritonus/midi/device/fluidsynth In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27095/src/classes/org/tritonus/midi/device/fluidsynth Removed Files: FluidMidiChannel.java Log Message: obsolete Direct links to online-CVS: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/tritonus/tritonus/src/classes/org/tritonus/midi/device/fluidsynth/FluidMidiChannel.java --- FluidMidiChannel.java DELETED --- |
|
From: Matthias P. <pfi...@us...> - 2006-02-20 10:20:29
|
Update of /cvsroot/tritonus/tritonus/src/classes/org/tritonus/midi/device/fluidsynth In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23633/src/classes/org/tritonus/midi/device/fluidsynth Modified Files: FluidSynthesizer.java Log Message: changed to suppress fluidsynth info and warning messages; removed obsolete code Direct links to online-CVS: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/tritonus/tritonus/src/classes/org/tritonus/midi/device/fluidsynth/FluidSynthesizer.java Index: FluidSynthesizer.java =================================================================== RCS file: /cvsroot/tritonus/tritonus/src/classes/org/tritonus/midi/device/fluidsynth/FluidSynthesizer.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -r1.7 -r1.8 *** FluidSynthesizer.java 17 Feb 2006 10:26:07 -0000 1.7 --- FluidSynthesizer.java 20 Feb 2006 10:20:19 -0000 1.8 *************** *** 43,47 **** import org.tritonus.share.TDebug; - import org.tritonus.share.midi.TMidiDevice; import org.tritonus.share.midi.TMidiChannel; import org.tritonus.share.midi.TDirectSynthesizer; --- 43,46 ---- *************** *** 50,54 **** public class FluidSynthesizer - //extends TMidiDevice extends TDirectSynthesizer implements Synthesizer --- 49,52 ---- *************** *** 81,88 **** System.loadLibrary("tritonusfluid"); // only reached if no exception occures ! if (TDebug.TraceFluidNative) ! { ! setTrace(true); ! } } catch (Error e) --- 79,83 ---- System.loadLibrary("tritonusfluid"); // only reached if no exception occures ! setTrace(TDebug.TraceFluidNative); } catch (Error e) *************** *** 105,109 **** public FluidSynthesizer(MidiDevice.Info info) throws Exception { - //super(info, false, true); super(info); } --- 100,103 ---- *************** *** 119,127 **** if (TDebug.TraceSynthesizer) TDebug.out("FluidSynthesizer: " + Integer.toHexString(synthPtr)); - Receiver r = getReceiver(); channels = new MidiChannel[16]; for (int i = 0; i < 16; i++) { - //channels[i] = new FluidMidiChannel(r, i); channels[i] = new NewFluidMidiChannel(i); } --- 113,119 ---- *************** *** 160,178 **** } - /* - protected void receive(MidiMessage message, long lTimeStamp) - { - // System.out.print("FluidSynth.receive: "); - // Juke.printHex(message.getMessage(), 0, message.getLength()); - // System.out.println(); - if (message instanceof ShortMessage) - { - ShortMessage sm = (ShortMessage) message; - nReceive(sm.getCommand(), sm.getChannel(), sm.getData1(), sm.getData2()); - } - } - */ - public native void nReceive(int command, int channel, int data1, int data2); public native int loadSoundFont(String filename); public native void setBankOffset(int sfontID, int offset); --- 152,156 ---- *************** *** 288,291 **** --- 266,270 ---- public static native void setTrace(boolean bTrace); + public boolean isSoundbankSupported(Soundbank soundbank) { *************** *** 363,367 **** } ! /** Checks if the soundbank is supported by this synthesizer implementation. * * @param sb the soundbank to check --- 342,347 ---- } ! ! /** Checks if the soundbank is supported by this synthesizer implementation. * * @param sb the soundbank to check *************** *** 391,396 **** extends TMidiChannel { - private int m_nChannel; - public NewFluidMidiChannel(int nChannel) { --- 371,374 ---- |
|
From: Matthias P. <pfi...@us...> - 2006-02-20 10:20:28
|
Update of /cvsroot/tritonus/tritonus/src/lib/fluidsynth In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23633/src/lib/fluidsynth Modified Files: org_tritonus_midi_device_fluidsynth_FluidSynthesizer.c Log Message: changed to suppress fluidsynth info and warning messages; removed obsolete code Direct links to online-CVS: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/tritonus/tritonus/src/lib/fluidsynth/org_tritonus_midi_device_fluidsynth_FluidSynthesizer.c Index: org_tritonus_midi_device_fluidsynth_FluidSynthesizer.c =================================================================== RCS file: /cvsroot/tritonus/tritonus/src/lib/fluidsynth/org_tritonus_midi_device_fluidsynth_FluidSynthesizer.c,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -r1.8 -r1.9 *** org_tritonus_midi_device_fluidsynth_FluidSynthesizer.c 17 Feb 2006 10:26:07 -0000 1.8 --- org_tritonus_midi_device_fluidsynth_FluidSynthesizer.c 20 Feb 2006 10:20:19 -0000 1.9 *************** *** 46,51 **** #include "../common/debug.h" ! ! //static int fluid_jni_get_preset_count(int sfontID); --- 46,51 ---- #include "../common/debug.h" ! /* non-API method of libfluidsynth */ ! void fluid_log_config(void); *************** *** 540,544 **** - /* * Class: org_tritonus_midi_device_fluidsynth_FluidSynthesizer --- 540,543 ---- *************** *** 551,554 **** --- 550,559 ---- debug_flag = bTrace; debug_file = stderr; + if (!bTrace) + { + fluid_log_config(); + fluid_set_log_function(FLUID_WARN, NULL, NULL); + fluid_set_log_function(FLUID_INFO, NULL, NULL); + } } |
|
From: Matthias P. <pfi...@us...> - 2006-02-17 10:26:13
|
Update of /cvsroot/tritonus/tritonus/src/lib/fluidsynth In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18895/src/lib/fluidsynth Modified Files: org_tritonus_midi_device_fluidsynth_FluidSynthesizer.c Log Message: added new native methods; switched to new synthesizer base class; new MidiChannel implementation Direct links to online-CVS: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/tritonus/tritonus/src/lib/fluidsynth/org_tritonus_midi_device_fluidsynth_FluidSynthesizer.c Index: org_tritonus_midi_device_fluidsynth_FluidSynthesizer.c =================================================================== RCS file: /cvsroot/tritonus/tritonus/src/lib/fluidsynth/org_tritonus_midi_device_fluidsynth_FluidSynthesizer.c,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -r1.7 -r1.8 *** org_tritonus_midi_device_fluidsynth_FluidSynthesizer.c 13 Feb 2006 18:40:15 -0000 1.7 --- org_tritonus_midi_device_fluidsynth_FluidSynthesizer.c 17 Feb 2006 10:26:07 -0000 1.8 *************** *** 401,404 **** --- 401,544 ---- } + + /* + * Class: org_tritonus_midi_device_fluidsynth_FluidSynthesizer + * Method: noteOn + * Signature: (III)V + */ + JNIEXPORT void JNICALL Java_org_tritonus_midi_device_fluidsynth_FluidSynthesizer_noteOn + (JNIEnv *env, jobject obj, jint channel, jint key, jint velocity) + { + fluid_synth_t* synth = get_synth(env, obj); + if (synth) + { + fluid_synth_noteon(synth, channel, key, velocity); + } + } + + + /* + * Class: org_tritonus_midi_device_fluidsynth_FluidSynthesizer + * Method: noteOff + * Signature: (III)V + */ + JNIEXPORT void JNICALL Java_org_tritonus_midi_device_fluidsynth_FluidSynthesizer_noteOff + (JNIEnv *env, jobject obj, jint channel, jint key, jint velocity) + { + fluid_synth_t* synth = get_synth(env, obj); + if (synth) + { + /* There is no method noteoff that takes a velocity param. */ + //fluid_synth_noteoff(synth, channel, key, velocity); + fluid_synth_noteoff(synth, channel, key); + } + } + + + /* + * Class: org_tritonus_midi_device_fluidsynth_FluidSynthesizer + * Method: controlChange + * Signature: (III)V + */ + JNIEXPORT void JNICALL Java_org_tritonus_midi_device_fluidsynth_FluidSynthesizer_controlChange + (JNIEnv *env, jobject obj, jint channel, jint controller, jint value) + { + fluid_synth_t* synth = get_synth(env, obj); + if (synth) + { + fluid_synth_cc(synth, channel, controller, value); + } + } + + + /* + * Class: org_tritonus_midi_device_fluidsynth_FluidSynthesizer + * Method: getController + * Signature: (II)I + */ + JNIEXPORT jint JNICALL Java_org_tritonus_midi_device_fluidsynth_FluidSynthesizer_getController + (JNIEnv *env, jobject obj, jint channel, jint controller) + { + fluid_synth_t* synth = get_synth(env, obj); + int value = 0; + if (synth) + { + fluid_synth_get_cc(synth, channel, controller, &value); + } + return value; + } + + + /* + * Class: org_tritonus_midi_device_fluidsynth_FluidSynthesizer + * Method: programChange + * Signature: (II)V + */ + JNIEXPORT void JNICALL Java_org_tritonus_midi_device_fluidsynth_FluidSynthesizer_programChange + (JNIEnv *env, jobject obj, jint channel, jint program) + { + fluid_synth_t* synth = get_synth(env, obj); + if (synth) + { + fluid_synth_program_change(synth, channel, program); + } + } + + + /* + * Class: org_tritonus_midi_device_fluidsynth_FluidSynthesizer + * Method: getProgram + * Signature: (I)I + */ + JNIEXPORT jint JNICALL Java_org_tritonus_midi_device_fluidsynth_FluidSynthesizer_getProgram + (JNIEnv *env, jobject obj, jint channel) + { + fluid_synth_t* synth = get_synth(env, obj); + unsigned int sfont; + unsigned int bank; + unsigned int program = 0; + if (synth) + { + fluid_synth_get_program(synth, channel, &sfont, &bank, &program); + } + return program; + } + + + /* + * Class: org_tritonus_midi_device_fluidsynth_FluidSynthesizer + * Method: setPitchBend + * Signature: (II)V + */ + JNIEXPORT void JNICALL Java_org_tritonus_midi_device_fluidsynth_FluidSynthesizer_setPitchBend + (JNIEnv *env, jobject obj, jint channel, jint bend) + { + fluid_synth_t* synth = get_synth(env, obj); + if (synth) + { + fluid_synth_pitch_bend(synth, channel, bend); + } + } + + + /* + * Class: org_tritonus_midi_device_fluidsynth_FluidSynthesizer + * Method: getPitchBend + * Signature: (I)I + */ + JNIEXPORT jint JNICALL Java_org_tritonus_midi_device_fluidsynth_FluidSynthesizer_getPitchBend + (JNIEnv *env, jobject obj, jint channel) + { + fluid_synth_t* synth = get_synth(env, obj); + int bend = 0; + if (synth) + { + fluid_synth_get_pitch_bend(synth, channel, &bend); + } + return bend; + } + + + /* * Class: org_tritonus_midi_device_fluidsynth_FluidSynthesizer |
|
From: Matthias P. <pfi...@us...> - 2006-02-17 10:26:11
|
Update of /cvsroot/tritonus/tritonus/src/classes/org/tritonus/midi/device/fluidsynth In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18895/src/classes/org/tritonus/midi/device/fluidsynth Modified Files: FluidSynthesizer.java Log Message: added new native methods; switched to new synthesizer base class; new MidiChannel implementation Direct links to online-CVS: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/tritonus/tritonus/src/classes/org/tritonus/midi/device/fluidsynth/FluidSynthesizer.java Index: FluidSynthesizer.java =================================================================== RCS file: /cvsroot/tritonus/tritonus/src/classes/org/tritonus/midi/device/fluidsynth/FluidSynthesizer.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -r1.6 -r1.7 *** FluidSynthesizer.java 15 Feb 2006 14:08:03 -0000 1.6 --- FluidSynthesizer.java 17 Feb 2006 10:26:07 -0000 1.7 *************** *** 44,57 **** import org.tritonus.share.TDebug; import org.tritonus.share.midi.TMidiDevice; import org.tritonus.midi.sb.fluidsynth.FluidSoundbank; ! /* ! TODO: implement openImpl() and closeImpl() ! */ ! public class FluidSynthesizer extends TMidiDevice implements Synthesizer { private MidiChannel channels[]; private FluidSoundbank defaultSoundbank; ! private int defaultbankSfontID; --- 44,60 ---- import org.tritonus.share.TDebug; import org.tritonus.share.midi.TMidiDevice; + import org.tritonus.share.midi.TMidiChannel; + import org.tritonus.share.midi.TDirectSynthesizer; import org.tritonus.midi.sb.fluidsynth.FluidSoundbank; ! ! public class FluidSynthesizer ! //extends TMidiDevice ! extends TDirectSynthesizer ! implements Synthesizer { private MidiChannel channels[]; private FluidSoundbank defaultSoundbank; ! private int defaultbankSfontID; *************** *** 102,106 **** public FluidSynthesizer(MidiDevice.Info info) throws Exception { ! super(info, false, true); } --- 105,110 ---- public FluidSynthesizer(MidiDevice.Info info) throws Exception { ! //super(info, false, true); ! super(info); } *************** *** 116,124 **** Receiver r = getReceiver(); ! channels = new FluidMidiChannel[16]; for (int i = 0; i < 16; i++) ! channels[i] = new FluidMidiChannel(r, i); ! String sfontFile = System.getProperty("tritonus.fluidsynth.defaultsoundbank"); if (sfontFile != null && ! sfontFile.equals("")) --- 120,131 ---- Receiver r = getReceiver(); ! channels = new MidiChannel[16]; for (int i = 0; i < 16; i++) ! { ! //channels[i] = new FluidMidiChannel(r, i); ! channels[i] = new NewFluidMidiChannel(i); ! } ! String sfontFile = System.getProperty("tritonus.fluidsynth.defaultsoundbank"); if (sfontFile != null && ! sfontFile.equals("")) *************** *** 153,157 **** } ! protected void receive(MidiMessage message, long lTimeStamp) { --- 160,164 ---- } ! /* protected void receive(MidiMessage message, long lTimeStamp) { *************** *** 165,169 **** } } ! public native void nReceive(int command, int channel, int data1, int data2); --- 172,176 ---- } } ! */ public native void nReceive(int command, int channel, int data1, int data2); *************** *** 182,185 **** --- 189,283 ---- protected native void deleteSynth(); + /** + * Turns a note on. + * + * The implementation calls fluid_synth_noteoff(). + * + * @param nChannel the channel + * @param nNoteNumber the note + * @param nVelocity the velocity + */ + native void noteOn(int nChannel, int nNoteNumber, int nVelocity); + + /** + * Turns a note off. + * + * The implementation calls fluid_synth_noteon(). + * + * @param nChannel the channel + * @param nNoteNumber the note + * @param nVelocity the velocity + */ + native void noteOff(int nChannel, int nNoteNumber, int nVelocity); + + + /** + * Changes a controller on the synthesizer. + * + * The implementation calls fluid_synth_cc(). + * + * @param nChannel the channel + * @param nController the controller number + * @param nValue the controller value + */ + native void controlChange(int nChannel, int nController, int nValue); + + + /** + * Obtains the value of a controller. + * + * The implementation calls fluid_synth_get_cc(). + * + * @param nChannel the channel + * @param nController the controller number + * @return the controller value + */ + native int getController(int nChannel, int nController); + + + /** + * Sets the program for a channel. + * + * The implementation calls fluid_synth_program_change(). + * + * @param nChannel the channel + * @param nProgram the program number + */ + native void programChange(int nChannel, int nProgram); + + + /** + * Obtains the program set for a channel. + * + * The implementation calls fluid_synth_get_program(). + * + * @param nChannel the channel + * @return the program number set for this channel + */ + native int getProgram(int nChannel); + + + /** + * Sets the pitch bend for a channel. + * + * The implementation calls fluid_synth_pitch_bend(). + * + * @param nChannel the channel + * @param nBend the pitch bend value + */ + native void setPitchBend(int nChannel, int nBend); + + + /** + * Obtains the pitch bend for a channel. + * + * The implementations calls fluid_synth_get_pitch_bend(). + * + * @param nChannel the channel + * @return the pitch bend value. + */ + native int getPitchBend(int nChannel); + + /** Sets tracing in the native code. * Note that this method can either be called directly or (recommended) *************** *** 288,291 **** --- 386,518 ---- checkSoundbank(instr.getSoundbank()); } + + + private class NewFluidMidiChannel + extends TMidiChannel + { + private int m_nChannel; + + public NewFluidMidiChannel(int nChannel) + { + super(nChannel); + } + + + public void noteOn(int nNoteNumber, int nVelocity) + { + FluidSynthesizer.this.noteOn(getChannel(), nNoteNumber, nVelocity); + } + + + public void noteOff(int nNoteNumber, int nVelocity) + { + FluidSynthesizer.this.noteOff(getChannel(), nNoteNumber, nVelocity); + } + + + public void noteOff(int nNoteNumber) + { + noteOff(nNoteNumber, 0); + } + + + /** + * Fluidsynth does not implement poly pressure (aftertouch). Therefore, + * this method does nothing. + */ + public void setPolyPressure(int nNoteNumber, int nPressure) + { + } + + + /** + * Fluidsynth does not implement poly pressure (aftertouch). Therefore, + * this method always return 0. + */ + public int getPolyPressure(int nNoteNumber) + { + return 0; + } + + + /** + * Fluidsynth does not implement channel pressure. Therefore, + * this method does nothing. + */ + public void setChannelPressure(int nPressure) + { + } + + + /** + * Fluidsynth does not implement channel pressure. Therefore, + * this method always returns 0. + */ + public int getChannelPressure() + { + return 0; + } + + + public void controlChange(int nController, int nValue) + { + FluidSynthesizer.this.controlChange(getChannel(), nController, + nValue); + } + + + public int getController(int nController) + { + return FluidSynthesizer.this.getController(getChannel(), + nController); + } + + + public void programChange(int nProgram) + { + FluidSynthesizer.this.programChange(getChannel(), nProgram); + } + + + public int getProgram() + { + return FluidSynthesizer.this.getProgram(getChannel()); + } + + + public void setPitchBend(int nBend) + { + FluidSynthesizer.this.setPitchBend(getChannel(), nBend); + } + + + public int getPitchBend() + { + return FluidSynthesizer.this.getPitchBend(getChannel()); + } + + + // TODO: emulate by manipulating volume + public void setMute(boolean bMute) + { + } + + + public boolean getMute() + { + return false; + } + + + public void setSolo(boolean bSolo) + { + } + + + public boolean getSolo() + { + return false; + } + } } |
|
From: Matthias P. <pfi...@us...> - 2006-02-17 10:09:34
|
Update of /cvsroot/tritonus/tritonus/test/suite In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11414/test/suite Modified Files: build.xml Log Message: added test Direct links to online-CVS: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/tritonus/tritonus/test/suite/build.xml Index: build.xml =================================================================== RCS file: /cvsroot/tritonus/tritonus/test/suite/build.xml,v retrieving revision 1.25 retrieving revision 1.26 diff -C2 -r1.25 -r1.26 *** build.xml 15 Feb 2006 09:03:55 -0000 1.25 --- build.xml 17 Feb 2006 10:09:32 -0000 1.26 *************** *** 384,387 **** --- 384,396 ---- </target> + <target name="test-tmidichannel" + depends="compile-tritonus"> + <junit fork="no" printsummary="yes"> + <classpath refid="run.classpath"/> + <formatter type="plain" /> + <test name="org.tritonus.test.tritonus.share.midi.TMidiChannelTestCase" /> + </junit> + </target> + <target name="test-audioinputstream" depends="compile-api"> |
|
From: Matthias P. <pfi...@us...> - 2006-02-17 10:07:12
|
Update of /cvsroot/tritonus/tritonus/test In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10296/test Added Files: SynthTest.java Log Message: import Direct links to online-CVS: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/tritonus/tritonus/test/SynthTest.java --- NEW FILE: SynthTest.java --- |
|
From: Matthias P. <pfi...@us...> - 2006-02-17 10:05:23
|
Update of /cvsroot/tritonus/tritonus/test/suite/src/classes/org/tritonus/test/tritonus/share/midi In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9686/test/suite/src/classes/org/tritonus/test/tritonus/share/midi Added Files: TMidiChannelTestCase.java Log Message: import Direct links to online-CVS: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/tritonus/tritonus/test/suite/src/classes/org/tritonus/test/tritonus/share/midi/TMidiChannelTestCase.java --- NEW FILE: TMidiChannelTestCase.java --- |
|
From: Matthias P. <pfi...@us...> - 2006-02-17 10:03:25
|
Update of /cvsroot/tritonus/tritonus/src/classes/org/tritonus/sampled/convert/pvorbis In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8777/src/classes/org/tritonus/sampled/convert/pvorbis Modified Files: VorbisFormatConversionProvider.java Log Message: fixed generics problem Direct links to online-CVS: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/tritonus/tritonus/src/classes/org/tritonus/sampled/convert/pvorbis/VorbisFormatConversionProvider.java Index: VorbisFormatConversionProvider.java =================================================================== RCS file: /cvsroot/tritonus/tritonus/src/classes/org/tritonus/sampled/convert/pvorbis/VorbisFormatConversionProvider.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** VorbisFormatConversionProvider.java 11 Jan 2005 15:24:21 -0000 1.3 --- VorbisFormatConversionProvider.java 17 Feb 2006 10:03:18 -0000 1.4 *************** *** 331,338 **** { if (TDebug.TraceAudioConverter) { TDebug.out("VorbisFormatConversionProvider.<init>(): comments present in target format"); } ! List<String> comments = (List<String>) property; for (int i = 0; i < comments.size(); i++) { ! m_comment.addComment(comments.get(i)); } } --- 331,342 ---- { if (TDebug.TraceAudioConverter) { TDebug.out("VorbisFormatConversionProvider.<init>(): comments present in target format"); } ! List<?> comments = (List<?>) property; for (int i = 0; i < comments.size(); i++) { ! Object comm = comments.get(i); ! if (comm instanceof String) ! { ! m_comment.addComment((String) comm); ! } } } |
|
From: Matthias P. <pfi...@us...> - 2006-02-17 10:00:42
|
Update of /cvsroot/tritonus/tritonus/src/classes/org/tritonus/share/midi In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7262/src/classes/org/tritonus/share/midi Modified Files: TMidiChannel.java Log Message: fixed minor bugs Direct links to online-CVS: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/tritonus/tritonus/src/classes/org/tritonus/share/midi/TMidiChannel.java Index: TMidiChannel.java =================================================================== RCS file: /cvsroot/tritonus/tritonus/src/classes/org/tritonus/share/midi/TMidiChannel.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** TMidiChannel.java 16 Feb 2006 09:11:29 -0000 1.1 --- TMidiChannel.java 17 Feb 2006 10:00:36 -0000 1.2 *************** *** 73,77 **** public void programChange(int nBank, int nProgram) { ! controlChange(32, nBank); programChange(nProgram); } --- 73,80 ---- public void programChange(int nBank, int nProgram) { ! int nBankMSB = nBank >> 7; ! int nBankLSB = nBank & 0x7F; ! controlChange(0, nBankMSB); ! controlChange(32, nBankLSB); programChange(nProgram); } *************** *** 98,102 **** public boolean localControl(boolean bOn) { ! controlChange(122, bOn ? 0 : 127); return getController(122) >= 64; } --- 101,105 ---- public boolean localControl(boolean bOn) { ! controlChange(122, bOn ? 127 : 0); return getController(122) >= 64; } |
|
From: Matthias P. <pfi...@us...> - 2006-02-17 09:59:49
|
Update of /cvsroot/tritonus/tritonus/src/classes/org/tritonus/share/midi In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6684/src/classes/org/tritonus/share/midi Modified Files: TDirectSynthesizer.java Log Message: removed unneeded stuff; fixed documentation Direct links to online-CVS: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/tritonus/tritonus/src/classes/org/tritonus/share/midi/TDirectSynthesizer.java Index: TDirectSynthesizer.java =================================================================== RCS file: /cvsroot/tritonus/tritonus/src/classes/org/tritonus/share/midi/TDirectSynthesizer.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** TDirectSynthesizer.java 13 Feb 2006 12:21:50 -0000 1.2 --- TDirectSynthesizer.java 17 Feb 2006 09:59:39 -0000 1.3 *************** *** 34,53 **** import javax.sound.midi.MidiDevice; import javax.sound.midi.MidiMessage; - import javax.sound.midi.MidiUnavailableException; import javax.sound.midi.ShortMessage; import javax.sound.midi.Synthesizer; ! /* TODO: implement aquiring of a SourceDataLine, perhaps in a separate ! class TSoftwareSynthesizer. ! */ ! ! /** Base class for Synthesizer implementations. This base class is ! for Synthesizer implementations that do not itself operate on ! MIDI, but instread implement the MidiChannel interface. For these ! implementations, MIDI behaviour is simulated on top of ! MidiChannel. ! ! @author Matthias Pfisterer */ public abstract class TDirectSynthesizer --- 34,53 ---- import javax.sound.midi.MidiDevice; import javax.sound.midi.MidiMessage; import javax.sound.midi.ShortMessage; import javax.sound.midi.Synthesizer; ! /** ! * Base class for Synthesizer implementations. ! * ! * <p> ! * This base class is for Synthesizer implementations that do not itself operate ! * on MIDI, but instread implement the MidiChannel interface. For these ! * implementations, MIDI behaviour is simulated on top of MidiChannel. ! * </p> ! * ! * @see javax.sound.midi.MidiChannel ! * ! * @author Matthias Pfisterer */ public abstract class TDirectSynthesizer *************** *** 55,63 **** implements Synthesizer { - /** Bank value from CC 0/32 per channel. - */ - private int[] m_anBanks; - - /** Initialize this class. * This sets the info from the passed one, sets the open status --- 55,58 ---- *************** *** 69,107 **** public TDirectSynthesizer(MidiDevice.Info info) { ! // no IN, only OUT super(info, false, true); - m_anBanks = new int[16]; - for (int i = 0; i < m_anBanks.length; i++) - { - m_anBanks[i] = -1; - } - } - - - - // TODO: check if this is needed - /** - * Subclasses have to override this method to be notified of - * opening. - */ - protected void openImpl() - throws MidiUnavailableException - { } - - // TODO: check if this is needed /** ! * Subclasses have to override this method to be notified of ! * closeing. */ ! protected void closeImpl() { } - /** */ protected void receive(MidiMessage message, long lTimeStamp) --- 64,87 ---- public TDirectSynthesizer(MidiDevice.Info info) { ! // no Transmitters, only Receivers super(info, false, true); } /** ! * Obtains the MidiChannel with the specified number. ! * ! * @param nChannel the requested channel number (0..15) ! * @return the respective <code>MidiChannel</code> object */ ! private MidiChannel getChannel(int nChannel) { + return getChannels()[nChannel]; } /** + * Handles MIDI messages coming in from Receivers. + * */ protected void receive(MidiMessage message, long lTimeStamp) *************** *** 129,191 **** case ShortMessage.CONTROL_CHANGE: ! switch (nData1) ! { ! case 0: // bank MSB ! m_anBanks[nChannel] = nData2 << 7; ! break; ! ! case 32: // bank LSB ! m_anBanks[nChannel] |= nData2; ! break; ! ! case 0x78: ! getChannel(nChannel).allSoundOff(); ! break; ! ! case 0x79: ! getChannel(nChannel).resetAllControllers(); ! break; ! ! case 0x7A: ! getChannel(nChannel).localControl(nData2 == 0x7F); ! break; ! ! case 0x7B: ! getChannel(nChannel).allNotesOff(); ! break; ! ! case 0x7C: // omni off ! getChannel(nChannel).setOmni(false); ! break; ! ! case 0x7D: // omni on ! getChannel(nChannel).setOmni(true); ! break; ! ! case 0x7E: // mono on ! getChannel(nChannel).setMono(true); ! break; ! ! case 0x7F: // poly on ! getChannel(nChannel).setMono(false); ! break; ! ! default: ! getChannel(nChannel).controlChange(nData1, nData2); ! break; ! } break; case ShortMessage.PROGRAM_CHANGE: ! if (m_anBanks[nChannel] != -1) ! { ! getChannel(nChannel).programChange(m_anBanks[nChannel], ! nData1); ! m_anBanks[nChannel] = -1; ! } ! else ! { ! getChannel(nChannel).programChange(nData1); ! } break; --- 109,117 ---- case ShortMessage.CONTROL_CHANGE: ! getChannel(nChannel).controlChange(nData1, nData2); break; case ShortMessage.PROGRAM_CHANGE: ! getChannel(nChannel).programChange(nData1); break; *************** *** 202,213 **** } } - - private MidiChannel getChannel(int nChannel) - { - return getChannels()[nChannel]; - } } - /*** TDirectSynthesizer.java ***/ --- 128,133 ---- |
|
From: Matthias P. <pfi...@us...> - 2006-02-17 09:58:08
|
Update of /cvsroot/tritonus/tritonus/src/org/tritonus/sampled/convert/javalayer In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5864/src/org/tritonus/sampled/convert/javalayer Modified Files: MpegFormatConversionProvider.java Log Message: changed visibility of methods Direct links to online-CVS: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/tritonus/tritonus/src/org/tritonus/sampled/convert/javalayer/MpegFormatConversionProvider.java Index: MpegFormatConversionProvider.java =================================================================== RCS file: /cvsroot/tritonus/tritonus/src/org/tritonus/sampled/convert/javalayer/MpegFormatConversionProvider.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -r1.8 -r1.9 *** MpegFormatConversionProvider.java 23 Nov 2004 19:28:58 -0000 1.8 --- MpegFormatConversionProvider.java 17 Feb 2006 09:57:58 -0000 1.9 *************** *** 328,332 **** ! private boolean isBigEndian() { return getFormat().isBigEndian(); --- 328,332 ---- ! protected boolean isBigEndian() { return getFormat().isBigEndian(); |
|
From: Matthias P. <pfi...@us...> - 2006-02-16 09:14:59
|
Update of /cvsroot/tritonus/tritonus/src/classes/org/tritonus/sampled/convert In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14420/sampled/convert Modified Files: AlawFormatConversionProvider.java ImaAdpcmFormatConversionProvider.java PCM2PCMConversionProvider.java SampleRateConversionProvider.java UlawFormatConversionProvider.java Log Message: adapted visibility of methods to improve performance Direct links to online-CVS: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/tritonus/tritonus/src/classes/org/tritonus/sampled/convert/AlawFormatConversionProvider.java http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/tritonus/tritonus/src/classes/org/tritonus/sampled/convert/ImaAdpcmFormatConversionProvider.java http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/tritonus/tritonus/src/classes/org/tritonus/sampled/convert/PCM2PCMConversionProvider.java http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/tritonus/tritonus/src/classes/org/tritonus/sampled/convert/SampleRateConversionProvider.java http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/tritonus/tritonus/src/classes/org/tritonus/sampled/convert/UlawFormatConversionProvider.java Index: AlawFormatConversionProvider.java =================================================================== RCS file: /cvsroot/tritonus/tritonus/src/classes/org/tritonus/sampled/convert/AlawFormatConversionProvider.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** AlawFormatConversionProvider.java 13 Feb 2006 12:21:49 -0000 1.2 --- AlawFormatConversionProvider.java 16 Feb 2006 09:14:48 -0000 1.3 *************** *** 130,134 **** } ! private int getConvertType(AudioFormat af) { int result=0; AudioFormat.Encoding encoding=af.getEncoding(); --- 130,134 ---- } ! protected int getConvertType(AudioFormat af) { int result=0; AudioFormat.Encoding encoding=af.getEncoding(); Index: ImaAdpcmFormatConversionProvider.java =================================================================== RCS file: /cvsroot/tritonus/tritonus/src/classes/org/tritonus/sampled/convert/ImaAdpcmFormatConversionProvider.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** ImaAdpcmFormatConversionProvider.java 16 Jan 2005 12:45:49 -0000 1.1 --- ImaAdpcmFormatConversionProvider.java 16 Feb 2006 09:14:48 -0000 1.2 *************** *** 98,102 **** // }; ! private static final int[] indexTable = { -1, -1, -1, -1, 2, 4, 6, 8, --- 98,102 ---- // }; ! static final int[] indexTable = { -1, -1, -1, -1, 2, 4, 6, 8, *************** *** 104,108 **** }; ! private static final int[] stepsizeTable = { 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, --- 104,108 ---- }; ! static final int[] stepsizeTable = { 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, Index: PCM2PCMConversionProvider.java =================================================================== RCS file: /cvsroot/tritonus/tritonus/src/classes/org/tritonus/sampled/convert/PCM2PCMConversionProvider.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** PCM2PCMConversionProvider.java 16 Jan 2005 12:45:49 -0000 1.1 --- PCM2PCMConversionProvider.java 16 Feb 2006 09:14:48 -0000 1.2 *************** *** 357,361 **** } ! private static String conversionType2Str(int conversionType) { switch (conversionType) { case CONVERT_NOT_POSSIBLE: --- 357,361 ---- } ! protected static String conversionType2Str(int conversionType) { switch (conversionType) { case CONVERT_NOT_POSSIBLE: Index: SampleRateConversionProvider.java =================================================================== RCS file: /cvsroot/tritonus/tritonus/src/classes/org/tritonus/sampled/convert/SampleRateConversionProvider.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** SampleRateConversionProvider.java 13 Feb 2006 12:21:49 -0000 1.2 --- SampleRateConversionProvider.java 16 Feb 2006 09:14:48 -0000 1.3 *************** *** 202,206 **** } ! private static long convertLength(AudioFormat sourceFormat, AudioFormat targetFormat, long sourceLength) { if (sourceLength==AudioSystem.NOT_SPECIFIED) { return sourceLength; --- 202,206 ---- } ! protected static long convertLength(AudioFormat sourceFormat, AudioFormat targetFormat, long sourceLength) { if (sourceLength==AudioSystem.NOT_SPECIFIED) { return sourceLength; Index: UlawFormatConversionProvider.java =================================================================== RCS file: /cvsroot/tritonus/tritonus/src/classes/org/tritonus/sampled/convert/UlawFormatConversionProvider.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** UlawFormatConversionProvider.java 13 Feb 2006 12:21:49 -0000 1.2 --- UlawFormatConversionProvider.java 16 Feb 2006 09:14:48 -0000 1.3 *************** *** 136,140 **** } ! private int getConvertType(AudioFormat af) { int result=0; AudioFormat.Encoding encoding=af.getEncoding(); --- 136,140 ---- } ! protected int getConvertType(AudioFormat af) { int result=0; AudioFormat.Encoding encoding=af.getEncoding(); |