Trait/Object

de.sciss.synth.proc.impl

AuralTimelineBase

Related Docs: object AuralTimelineBase | package impl

Permalink

trait AuralTimelineBase[S <: Sys[S], I <: Sys[I], Target, Elem <: ViewBase[S, Target]] extends AuralScheduledBase[S, Target, Elem] with ObservableImpl[S, State]

Self Type
AuralTimelineBase[S, I, Target, Elem]
Linear Supertypes
AuralScheduledBase[S, Target, Elem], ObservableImpl[S, State], ObjViewBase[S, Target], ViewBase[S, Target], Disposable[S.Tx], Observable[S.Tx, State], AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. AuralTimelineBase
  2. AuralScheduledBase
  3. ObservableImpl
  4. ObjViewBase
  5. ViewBase
  6. Disposable
  7. Observable
  8. AnyRef
  9. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. type ElemHandle = AuralTimelineBase.ElemHandle[S, Elem]

    Permalink
    Attributes
    protected
    Definition Classes
    AuralTimelineBaseAuralScheduledBase
  2. final class IPlaying extends ITimedState

    Permalink
    Attributes
    protected
    Definition Classes
    AuralScheduledBase
  3. final class IPreparing extends ITimedState

    Permalink
    Attributes
    protected
    Definition Classes
    AuralScheduledBase
  4. sealed trait ITimedState extends InternalState

    Permalink
    Attributes
    protected
    Definition Classes
    AuralScheduledBase
  5. sealed trait InternalState extends Disposable[S.Tx]

    Permalink
    Attributes
    protected
    Definition Classes
    AuralScheduledBase
  6. type Model = Obj[S]

    Permalink

    An opaque type coming out of processPrepare and ending up in mkView and elemAdded.

    An opaque type coming out of processPrepare and ending up in mkView and elemAdded. Typically Obj[S].

    Attributes
    protected
    Definition Classes
    AuralTimelineBaseAuralScheduledBase
  7. type PrepareResult = (ViewId, SpanLike, Model)

    Permalink
    Attributes
    protected
    Definition Classes
    AuralScheduledBase
  8. type ViewId = S.Id

    Permalink

    An opaque type passed into playView that may be used by an overriding implementation.

    An opaque type passed into playView that may be used by an overriding implementation. Otherwise it may simply be set to Unit.

    Attributes
    protected
    Definition Classes
    AuralTimelineBaseAuralScheduledBase

Abstract Value Members

  1. implicit abstract val context: AuralContext[S]

    Permalink
    Attributes
    protected
    Definition Classes
    AuralScheduledBase
  2. abstract def iSys: (S.Tx) ⇒ I.Tx

    Permalink
    Attributes
    protected
  3. abstract def makeViewElem(obj: Obj[S])(implicit tx: S.Tx): Elem

    Permalink
    Attributes
    protected
  4. abstract def objH: Source[S.Tx, Timeline[S]]

    Permalink

    The view must store a handle to its underlying model.

    The view must store a handle to its underlying model.

    Definition Classes
    AuralTimelineBaseObjViewBase
  5. abstract def tree: SkipOctree[I, TwoDim, (SpanLike, IndexedSeq[(Source[S.Tx, S.Id], Elem)])]

    Permalink
    Attributes
    protected
  6. abstract def viewPlaying(h: ElemHandle)(implicit tx: S.Tx): Unit

    Permalink

    A notification method that may be used to fire an event such as AuralObj.Timeline.ViewAdded.

    A notification method that may be used to fire an event such as AuralObj.Timeline.ViewAdded.

    Attributes
    protected
  7. abstract def viewStopped(h: ElemHandle)(implicit tx: S.Tx): Unit

    Permalink

    A notification method that may be used to fire an event such as AuralObj.Timeline.ViewRemoved.

    A notification method that may be used to fire an event such as AuralObj.Timeline.ViewRemoved.

    Attributes
    protected

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. object IStopped extends InternalState with Product with Serializable

    Permalink
    Attributes
    protected
    Definition Classes
    AuralScheduledBase
  5. final def addObject(id: S.Id, span: SpanLikeObj[S], obj: Obj[S])(implicit tx: S.Tx): Unit

    Permalink
  6. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  7. final def checkReschedule(h: ElemHandle, currentOffset: Long, oldTarget: Long, elemPlays: Boolean)(implicit tx: S.Tx): Boolean

    Permalink
    Attributes
    protected
    Definition Classes
    AuralTimelineBaseAuralScheduledBase
  8. final def childPreparedOrRemoved(childView: Elem)(implicit tx: S.Tx): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    AuralScheduledBase
  9. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  10. def dispose()(implicit tx: S.Tx): Unit

    Permalink

    Sub-classes may override this and call super.dispose() if they wish to free additional observers, e.g.

    Sub-classes may override this and call super.dispose() if they wish to free additional observers, e.g. the timeline or grapheme observer.

    Definition Classes
    AuralTimelineBaseAuralScheduledBase → Disposable
  11. final def elemAdded(vid: ViewId, span: SpanLike, obj: Model)(implicit tx: S.Tx): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    AuralScheduledBase
  12. def elemFromHandle(h: ElemHandle): Elem

    Permalink
    Attributes
    protected
    Definition Classes
    AuralTimelineBaseAuralScheduledBase
  13. final def elemRemoved(h: ElemHandle, elemPlays: Boolean)(implicit tx: S.Tx): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    AuralScheduledBase
  14. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  15. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  16. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  17. final def fire(update: State)(implicit tx: S.Tx): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    ObservableImpl
  18. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  19. final def getView(timed: Timed[S])(implicit tx: S.Tx): Option[Elem]

    Permalink
  20. final def getViewById(id: S.Id)(implicit tx: S.Tx): Option[Elem]

    Permalink
  21. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  22. def init(tl: Timeline[S])(implicit tx: S.Tx): AuralTimelineBase.this.type

    Permalink

    Initializes the object.

    Initializes the object.

    tl

    the timeline to listen to. If null (yes, ugly), requires manual additional of views

  23. final def internalState(implicit tx: S.Tx): InternalState

    Permalink
    Attributes
    protected
    Definition Classes
    AuralScheduledBase
  24. final def internalState_=(value: InternalState)(implicit tx: S.Tx): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    AuralScheduledBase
  25. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  26. final def mkView(tid: S.Id, span: SpanLike, obj: Obj[S])(implicit tx: S.Tx): ElemHandle

    Permalink

    Should create a new view for the given object and return a handle to it.

    Should create a new view for the given object and return a handle to it. As a side effect should also memorize the view in a view-tree, if such structure is maintained, for later retrieval in viewEventAfter

    Attributes
    protected
    Definition Classes
    AuralTimelineBaseAuralScheduledBase
  27. final def modelEventAfter(offset: Long)(implicit tx: S.Tx): Long

    Permalink

    Report the next interesting frame greater than the given frame for which gridReached (internal) and processPrepare will be called.

    Report the next interesting frame greater than the given frame for which gridReached (internal) and processPrepare will be called. If no such event exists, the method must return Long.MaxValue.

    Attributes
    protected
    Definition Classes
    AuralTimelineBaseAuralScheduledBase
  28. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  29. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  30. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  31. final def playView(h: ElemHandle, timeRef: Option, target: Target)(implicit tx: S.Tx): Unit

    Permalink

    Should be called from processPlay.

    Should be called from processPlay. It calls play on the view and adds it to the list of playing views. Note: timeRef must already have been updated through appropriate intersection.

    Sub-classes may override this if they call super.playView

    Attributes
    protected
    Definition Classes
    AuralTimelineBaseAuralScheduledBase
  32. final def prepare(timeRef: Option)(implicit tx: S.Tx): Unit

    Permalink
    Definition Classes
    AuralScheduledBaseViewBase
  33. final def prepareSpan()(implicit tx: S.Tx): Span

    Permalink

    Note: the prepare span will always start from current-frame and have a duration of at least LOOK_STOP.

    Note: the prepare span will always start from current-frame and have a duration of at least LOOK_STOP. I.e. during playback it contains the current play position.

    Attributes
    protected
    Definition Classes
    AuralScheduledBase
  34. final def processEvent(play: IPlaying, timeRef: TimeRef)(implicit tx: S.Tx): Unit

    Permalink

    Called when a next interesting frame has been reached.

    Called when a next interesting frame has been reached. The method should look for and invoke the events such as starting or stopping a view.

    Attributes
    protected
    Definition Classes
    AuralTimelineBaseAuralScheduledBase
  35. final def processPlay(timeRef: TimeRef, target: Target)(implicit tx: S.Tx): Unit

    Permalink

    Called during play.

    Called during play. Sub-classes should intersect the current elements and for each of them call playView.

    Attributes
    protected
    Definition Classes
    AuralTimelineBaseAuralScheduledBase
  36. final def processPrepare(span: Span, timeRef: TimeRef, initial: Boolean)(implicit tx: S.Tx): Iterator[PrepareResult]

    Permalink

    Called during preparation of armed elements.

    Called during preparation of armed elements. This happens either during initial prepare or during grid-events. Given the prepareSpan, the sub-class should

    - find the elements using an intersect - for each build a view and store it somewhere - for each view call prepareChild - accumulate the results of prepareChild into a Map that is returned.

    The map will become part of IPreparing.

    initial

    if true this is an initial preparation which means the method must include views that start before prepareSpan if their span overlaps with prepareSpan. If false this is a follow up from gridReached and the search must be restricted to views that start no earlier than prepareSpan.

    Attributes
    protected
    Definition Classes
    AuralTimelineBaseAuralScheduledBase
  37. final def react(fun: (S.Tx) ⇒ (State) ⇒ Unit)(implicit tx: S.Tx): Disposable[S.Tx]

    Permalink
    Definition Classes
    ObservableImpl → Observable
  38. def reactNow(fun: (S.Tx) ⇒ (State) ⇒ Unit)(implicit tx: S.Tx): Disposable[S.Tx]

    Permalink
    Definition Classes
    ViewBase
  39. final def removeObject(id: S.Id, span: SpanLikeObj[S], obj: Obj[S])(implicit tx: S.Tx): Unit

    Permalink
  40. final def run(timeRef: Option, target: Target)(implicit tx: S.Tx): Unit

    Permalink

    Ensures state is consistent, then checks preparation of children.

    Ensures state is consistent, then checks preparation of children. If all is good, sets internal state to IPlaying and calls processPlay. Next instructs scheduler and sets external state to Playing.

    Definition Classes
    AuralScheduledBaseViewBase
  41. final def scheduledEvent()(implicit tx: S.Tx): Scheduled

    Permalink
    Attributes
    protected
    Definition Classes
    AuralScheduledBase
  42. final def scheduledGrid()(implicit tx: S.Tx): Scheduled

    Permalink
    Attributes
    protected
    Definition Classes
    AuralScheduledBase
  43. final def state(implicit tx: S.Tx): State

    Permalink
    Definition Classes
    AuralScheduledBaseViewBase
  44. final def stop()(implicit tx: S.Tx): Unit

    Permalink
    Definition Classes
    AuralScheduledBaseViewBase
  45. final def stopView(h: ElemHandle)(implicit tx: S.Tx): Unit

    Permalink

    Should be called from processEvent for views that should be stopped and disposed.

    Should be called from processEvent for views that should be stopped and disposed. The caller is responsible for removing the view also from a view-tree if such structure is maintained. NOT: This method ends by calling viewRemoved.

    Attributes
    protected
    Definition Classes
    AuralTimelineBaseAuralScheduledBase
  46. final def stopViews()(implicit tx: S.Tx): Unit

    Permalink

    Stops and disposes all currently playing views.

    Stops and disposes all currently playing views.

    Attributes
    protected
    Definition Classes
    AuralTimelineBaseAuralScheduledBase
  47. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  48. final def targetOption(implicit tx: S.Tx): Option[Target]

    Permalink
    Definition Classes
    AuralScheduledBase
  49. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  50. final def tpe: Type

    Permalink
    Definition Classes
    AuralTimelineBaseObjViewBase
  51. final def viewEventAfter(offset: Long)(implicit tx: S.Tx): Long

    Permalink

    Report the next interesting frame greater than the given frame for which eventReached (internal) and processEvent will be called.

    Report the next interesting frame greater than the given frame for which eventReached (internal) and processEvent will be called. If no such event exists, the method must return Long.MaxValue.

    Attributes
    protected
    Definition Classes
    AuralTimelineBaseAuralScheduledBase
  52. final def views(implicit tx: S.Tx): Set[Elem]

    Permalink
  53. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  54. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  55. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AuralScheduledBase[S, Target, Elem]

Inherited from ObservableImpl[S, State]

Inherited from ObjViewBase[S, Target]

Inherited from ViewBase[S, Target]

Inherited from Disposable[S.Tx]

Inherited from Observable[S.Tx, State]

Inherited from AnyRef

Inherited from Any

Ungrouped