Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.3.1
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## javax.sound.midi
Class Sequencer.SyncMode

    java.lang.Object
      |
      +--javax.sound.midi.Sequencer.SyncMode

Enclosing class:
  Sequencer

public static class Sequencer.SyncMode
extends Object

A `SyncMode` object represents one of the ways in which a MIDI sequencer's notion of time can be synchronized with a master or slave device. If the sequencer is being synchronized to a master, the sequencer revises its current time in response to messages from the master. If the sequencer has a slave, the sequencer similarly sends messages to control the slave's timing.

There are three predefined modes that specify possible masters for a sequencer: `INTERNAL_CLOCK`, `MIDI_SYNC`, and `MIDI_TIME_CODE`. The latter two work if the sequencer receives MIDI messages from another device. In these two modes, the sequencer's time gets reset based on system real-time timing clock messages or MIDI time code (MTC) messages, respectively. These two modes can also be used as slave modes, in which case the sequencer sends the corresponding types of MIDI messages to its receiver (whether or not the sequencer is also receiving them from a master). A fourth mode, `NO_SYNC`, is used to indicate that the sequencer should not control its receiver's timing.

See Also:
  `Sequencer.setMasterSyncMode(Sequencer.SyncMode)`, `Sequencer.setSlaveSyncMode(Sequencer.SyncMode)`

Field Summary
`static Sequencer.SyncMode` | `INTERNAL_CLOCK` A master synchronization mode that makes the sequencer get its timing information from its internal clock.
`static Sequencer.SyncMode` | `MIDI_SYNC` A master or slave synchronization mode that specifies the use of MIDI clock messages.
`static Sequencer.SyncMode` | `MIDI_TIME_CODE` A master or slave synchronization mode that specifies the use of MIDI Time Code.
`static Sequencer.SyncMode` | `NO_SYNC` A slave synchronization mode indicating that no timing information should be sent to the receiver.

Constructor Summary
`protected` | `Sequencer.SyncMode(String name)` Constructs a synchronization mode.

Method Summary
`boolean` | `equals(Object obj)` Determines whether two objects are equal.
`int` | `hashCode()` Finalizes the hashcode method.
`String` | `toString()` Provides this synchronization mode's name as the string representation of the mode.

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

Field Detail

### INTERNAL_CLOCK

    public static final Sequencer.SyncMode INTERNAL_CLOCK

  A master synchronization mode that makes the sequencer get its timing information from its internal clock. This is not a legal slave sync mode.

### MIDI_SYNC

    public static final Sequencer.SyncMode MIDI_SYNC

  A master or slave synchronization mode that specifies the use of MIDI clock messages. If this mode is used as the master sync mode, the sequencer gets its timing information from system real-time MIDI clock messages. This mode only applies as the master sync mode for sequencers that are also MIDI receivers. If this is the slave sync mode, the sequencer sends system real-time MIDI clock messages to its receiver. MIDI clock messages are sent at a rate of 24 per quarter note.

### MIDI_TIME_CODE

    public static final Sequencer.SyncMode MIDI_TIME_CODE

  A master or slave synchronization mode that specifies the use of MIDI Time Code. If this mode is used as the master sync mode, the sequencer gets its timing information from MIDI Time Code messages. This mode only applies as the master sync mode to sequencers that are also MIDI receivers. If this mode is used as the slave sync mode, the sequencer sends MIDI Time Code messages to its receiver. (See the MIDI 1.0 Detailed Specification for a description of MIDI Time Code.)

### NO_SYNC

    public static final Sequencer.SyncMode NO_SYNC

  A slave synchronization mode indicating that no timing information should be sent to the receiver. This is not a legal master sync mode.

Constructor Detail

### Sequencer.SyncMode

    protected Sequencer.SyncMode(String name)

  Constructs a synchronization mode.
  Parameters:
    `name` - name of the synchronization mode

Method Detail

### equals

    public final boolean equals(Object obj)

  Determines whether two objects are equal. Returns `true` if the objects are identical
  Overrides:
    `equals` in class `Object`
  Parameters:
    `obj` - the reference object with which to compare
  Returns:
    `true` if this object is the same as the `obj` argument, `false` otherwise

### hashCode

    public final int hashCode()

  Finalizes the hashcode method.
  Overrides:
    `hashCode` in class `Object`
  Following copied from class: `java.lang.Object`
  Returns:
    a hash code value for this object.
  See Also:
    `Object.equals(java.lang.Object)`, `Hashtable`

### toString

    public final String toString()

  Provides this synchronization mode's name as the string representation of the mode.
  Overrides:
    `toString` in class `Object`
  Returns:
    the name of this synchronization mode

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.3.1
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Submit a bug or feature
For further API reference and developer documentation, see Java 2 SDK SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Java, Java 2D, and JDBC are trademarks or registered trademarks of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-2001 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.