de.sciss.synth.proc.Output.scala Maven / Gradle / Ivy
/*
* Output.scala
* (SoundProcesses)
*
* Copyright (c) 2010-2016 Hanns Holger Rutz. All rights reserved.
*
* This software is published under the GNU General Public License v2+
*
*
* For further information, please contact Hanns Holger Rutz at
* [email protected]
*/
package de.sciss.synth.proc
import de.sciss.lucre.stm.{Obj, Sys}
import de.sciss.serial.{Serializer, DataInput}
import impl.{OutputImpl => Impl}
object Output extends Obj.Type {
final val typeID = 0x10009
@deprecated("Impl should use quasi-private OutputImpl.apply", "3.4.1")
def apply[S <: Sys[S]](proc: Proc[S], key: String)(implicit tx: S#Tx): Output[S] = {
println("WARNING: proc.Output.apply is deprecated.")
Impl.apply(proc, key)
}
def read [S <: Sys[S]](in: DataInput, access: S#Acc)(implicit tx: S#Tx): Output[S] = Impl.read (in, access)
implicit def serializer[S <: Sys[S]]: Serializer[S#Tx, S#Acc, Output[S]] = Impl.serializer
override def readIdentifiedObj[S <: Sys[S]](in: DataInput, access: S#Acc)(implicit tx: S#Tx): Obj[S] =
Impl.readIdentifiedObj(in, access)
}
trait Output[S <: Sys[S]] extends Obj[S] {
def proc: Proc[S]
def key : String // or `StringObj`?
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy