JavaTM Platform
Standard Ed. 6

javax.sound.midi
클래스 Track

java.lang.Object 
  상위를 확장 javax.sound.midi.Track


public class Track
extends Object

MIDI 트럭은, 표준의 MIDI 파일에 다른 트럭과 함께 보존할 수 있는, MIDI 이벤트 (시각표시가 붙은 MIDI 데이터)의 독립한 스트림입니다. MIDI 의 스펙으로 허용 되는 MIDI 데이터는 16 채널 뿐입니다만, 트럭을 사용하는 것으로 이 제한을 회피할 수 있습니다. 1 개의 MIDI 파일에는, 16 채널까지의 MIDI 데이터의 독자적인 스트림을 포함한 트럭을 임의의 수만큼 포함할 수 있습니다.

Track 는,Sequencer 로 연주되는 데이터의 계층에서 중간의 위치를 차지합니다. 즉, 시퀀서가 연주하는 순서에는 트럭이 포함되어 트럭에는 MIDI 이벤트가 포함되어 있습니다. 시퀀서에서는, 개개의 트럭을 제어해 뮤트 하거나 솔로로 하거나 할 수 있는 경우도 있습니다.

트럭의 타이밍 정보나 해상도는, 그 트럭을 포함하고 있는 순서에 의해 제어 및 보존됩니다. 특정의 Track 는, 그 타이밍을 유지하고 있는 특정 Sequence 에 속하는 것이라고 보여집니다. 그 때문에, 새로운 (빈 상태(empty)의) 트럭을 작성하려면 ,Track 생성자 을 직접 호출하는 것이 아니라,Sequence.createTrack() 메소드를 호출합니다.

Track 클래스에서는,MidiEvent 객체를 추가 또는 삭제하는 것으로 트럭을 편집하는 메소드가 제공됩니다. 이러한 조작을 행해도, 이벤트 리스트의 시간순서는 올바르게 유지됩니다. 또, 트럭의 사이즈를 그 트럭에 포함되는 이벤트수, 또는 틱 단위에서의 듀레이션으로 취득하는 메소드도 포함되어 있습니다.

관련 항목:
Sequencer.setTrackMute(int, boolean) , Sequencer.setTrackSolo(int, boolean)

메소드의 개요
 boolean add (MidiEvent  event)
          트럭에 새로운 이벤트를 추가합니다.
 MidiEvent get (int index)
          지정한 인덱스의 이벤트를 가져옵니다.
 boolean remove (MidiEvent  event)
          지정한 이벤트를 트럭으로부터 삭제합니다.
 int size ()
          이 트럭에 포함되는 이벤트의 수를 가져옵니다.
 long ticks ()
          트럭의 길이를 MIDI 틱 단위로 가져옵니다 (1 틱의 초단위에서의 듀레이션은, 이 트럭을 포함하고 있는 Sequence 의 타이밍 해상도와 시퀀서로 설정한 음악의 템포에 의해 정해진다).
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

메소드의 상세

add

public boolean add(MidiEvent  event)
트럭에 새로운 이벤트를 추가합니다. 다만, 그 이벤트가 벌써 그 트럭에 포함되어 있는 경우는, 다시 추가할 수 없습니다. 이벤트의 리스트는 시간순서에 유지되기 (위해)때문에, 이벤트는 리스트의 반드시 최후는 아니고, 적절한 장소에 삽입됩니다.

파라미터:
event - 추가하는 이벤트
반환값:
그 이벤트가 그 트럭에 포함되지 않고, 한편 추가되었을 경우는 true, 그렇지 않은 경우는 false

remove

public boolean remove(MidiEvent  event)
지정한 이벤트를 트럭으로부터 삭제합니다.

파라미터:
event - 삭제하는 이벤트
반환값:
그 이벤트가 그 트럭에 존재해, 한편 삭제되었을 경우는 true, 그렇지 않은 경우는 false

get

public MidiEvent  get(int index)
              throws ArrayIndexOutOfBoundsException 
지정한 인덱스의 이벤트를 가져옵니다.

파라미터:
index - 취득하는 이벤트의 이벤트 벡터에 의한 위치
예외:
ArrayIndexOutOfBoundsException - 지정한 인덱스가 부, 또는 이 트럭의 현재의 사이즈 이상인 경우
ArrayIndexOutOfBoundsException
관련 항목:
size()

size

public int size()
이 트럭에 포함되는 이벤트의 수를 가져옵니다.

반환값:
이 트럭의 이벤트 벡터의 사이즈

ticks

public long ticks()
트럭의 길이를 MIDI 틱 단위로 가져옵니다 (1 틱의 초단위에서의 듀레이션은, 이 트럭을 포함하고 있는 Sequence 의 타이밍 해상도와 시퀀서로 설정한 음악의 템포에 의해 정해진다).

반환값:
틱 단위에서의 듀레이션
관련 항목:
Sequence.Sequence(float, int) , Sequencer.setTempoInBPM(float) , Sequencer.getTickPosition()

JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.