Class Music

java.lang.Object
javaforce.media.Music

public class Music extends Object
Music player. Plays tracked music. Although similar to MOD type files it is not compatible with any and conversion would be difficult. Also supports adding sound effects during playback.
Author:
pquiring
  • Field Details

  • Constructor Details

    • Music

      public Music()
  • Method Details

    • start

      public boolean start(int milliSec, int soundChannels)
      Starts the sound output engine. After you can start music or sound playback.
    • stop

      public void stop()
      Stops the sound output engine, which stops music and sound output.
    • load

      public static Music.Song load(String fn)
    • load

      public static Music.Song load(InputStream is)
    • load

      public boolean load(Music.Song song)
    • save

      public boolean save(String fn)
    • close

      public void close()
    • reset

      public void reset()
    • replay

      public void replay()
    • setListener

      public void setListener(Music.Listener listener)
    • playSong

      public void playSong(boolean repeat)
    • playPattern

      public void playPattern(int patternIdx)
    • playRow

      public void playRow(int patternIdx, int rowIdx)
    • stopMusic

      public void stopMusic()
      Stops current music (but sounds continue to play)
    • isRunning

      public boolean isRunning()
    • isPlaying

      public boolean isPlaying()
    • instrumentPlay

      public int instrumentPlay(int idx, float volL, float volR, int note)
      Plays one note of an instrument thru a sound channel, returns idx of sound channel used.
      Parameters:
      idx - = instrument index
      volL - ,volR = left/right volume (0.0 - 1.0)
      note - = note to play (midi value)
      Returns:
      idx to use with other Sound channel functions, -1 if can't play now
    • samplePlay

      public int samplePlay(int idx, float L, float R)
      Plays sample thru a sound channel, returns idx of sound channel used.
      Parameters:
      idx - = instrument index
      L - ,R = left/right volume (0.0 - 1.0)
      Returns:
      idx to use with other Sound channel functions, -1 if can't play now
    • soundLoad

      public int soundLoad(short[] samples, int loopStart, int loopEnd, int sustainStart, int sustainEnd, float attenuation, int unityNote)
      Loads an audio file and returns its idx
    • soundLoad

      public int soundLoad(String fn, int loopStart, int loopEnd, int sustainStart, int sustainEnd, float attenuation)
    • soundRemove

      public void soundRemove(int idx)
    • soundClear

      public void soundClear()
    • soundAttenuation

      public void soundAttenuation(int idx, float value)
    • soundPlay

      public int soundPlay(int idx, float volL, float volR, int note)
      Plays a sound, returns channel idx to modify during playback.
      Parameters:
      idx - = sound index
      volL - = left volume (0.0 - 1.0)
      volR - = right volume (0.0 - 1.0)
      note - = midi note to play (0-11)
      Returns:
      idx to use with other Sound functions, -1 if can't play now
    • channelStop

      public void channelStop(int idx)
    • channelKeyUp

      public void channelKeyUp(int idx)
    • channelAttenuation

      public void channelAttenuation(int idx, float value)
    • channelPan

      public void channelPan(int idx, float L, float R)
    • channelFreq

      public void channelFreq(int idx, float freq)
    • channelApplyFX

      public void channelApplyFX(int idx, byte fxcmd, int fxparam)
    • addTrack

      public void addTrack(int pattern)
    • removeTrack

      public void removeTrack(int pattern, int track)
    • addPattern

      public void addPattern(int nTracks)
    • removePattern

      public void removePattern(int pattern)
    • addSamples

      public boolean addSamples(String name, short[] samples, int loopStart, int loopEnd, int sustainStart, int sustainEnd, float attenuation)
    • addSamples

      public boolean addSamples(String name, String fn, int loopStart, int loopEnd, int sustainStart, int sustainEnd, float attenuation)
    • removeSamples

      public void removeSamples(int idx)
    • addInstrument

      public int addInstrument(String name)
    • removeInstrument

      public void removeInstrument(int idx)
    • addRegion

      public void addRegion(int iidx, int low, int high, int unityNote, int sample)
    • removeRegion

      public void removeRegion(int iidx, int ridx)
    • setMasterMusicVolume

      public void setMasterMusicVolume(float l, float r)
      Range: 0.0f -> 1.0f
    • setMasterSoundVolume

      public void setMasterSoundVolume(float l, float r)
      Range: 0.0f -> 1.0f