source: trunk/src_apollo/org/apollo/audio/structure/AbstractTrackGraphNode.java@ 315

Last change on this file since 315 was 315, checked in by bjn8, 16 years ago

Apollo spin-off added

File size: 1.4 KB
Line 
1package org.apollo.audio.structure;
2
3/**
4 * Immutable outside package.
5 *
6 * @see {@link AudioStructureModel} for thread safe convention.
7 *
8 * @author Brook Novak
9 *
10 */
11public abstract class AbstractTrackGraphNode {
12
13 private long initiationTime;
14
15 private String name = null;
16
17 /**
18 * Constructor.
19 *
20 * @param initiationTime
21 * In milliseconds. Can be negative - relative.
22 *
23 * @param name
24 * The name to set this to. Can be null
25 */
26 protected AbstractTrackGraphNode(long initiationTime, String name) {
27 setInitiationTime(initiationTime);
28 this.name = name;
29 }
30
31 /**
32 * The start time in milliseconds that the track begins to play.
33 * This start time is relative to the tracks parent frame - and can be
34 * expressed in a negative time.
35 *
36 * @return
37 * The relative initiation time.
38 */
39 public long getInitiationTime() {
40 return initiationTime;
41 }
42
43 /**
44 * @param initiationTime
45 * In milliseconds. Can be negative - relative.
46 *
47 */
48 void setInitiationTime(long initiationTime) {
49 this.initiationTime = initiationTime;
50 }
51
52 public abstract long getRunningTime();
53
54 /**
55 * @return
56 * The name given to this track. This can be null.
57 * It is not gauranteed to be unique.
58 */
59 public String getName() {
60 return name;
61 }
62
63 /**
64 * @param name
65 * The name to set this to. Can be null
66 */
67 void setName(String name) {
68 this.name = name;
69 }
70
71}
Note: See TracBrowser for help on using the repository browser.