2 files changed, 29 insertions(+), 9 deletions(-)

M player/channel.go
M player/channelmixer.go
M player/channel.go +10 -9
@@ 82,19 82,20 @@ func (c *Channel) AddInstrumentPlayer(ip
 // ProcessTick
 // ProcessTickBuf
 // should be called every tick (?)
-func (c *Channel) RenderBuf(lenSamples int) [][2]float64 {
+//func (c *Channel) RenderBuf(lenSamples int) [][2]float64 {
+func (c *Channel) RenderTick(tickSize int) [][2]float64 {
 //func (c *Channel) ProcessTickBuf(lenSamples int) (bool, [][2]float64) {
-	fmt.Println("Channel RenderBuf lenSamples:", lenSamples)
+	fmt.Println("Channel RenderTick tickSize:", tickSize)
 
 	// gen empty sygnal ?
 	//if c.instrumentPlayer == nil {
 	if c.instrumentPlayer == nil || c.mute {
-		buf := Ctx.Player._renderSilence(lenSamples)
+		buf := Ctx.Player._renderSilence(tickSize)
 		//buf := GenEmptyBuf(lenSamples)
 				
 		// XXX check
-		//if len(buf) != tickSize {
-		if len(buf) != lenSamples {
+		if len(buf) != tickSize {
+		//if len(buf) != lenSamples {
 			pp(2)
 		}
 				

          
@@ 122,14 123,14 @@ func (c *Channel) RenderBuf(lenSamples i
 	
 	// XXX pad signal / buffer ?
 	
-	//buf1 := PadBufToLen(buf, tickSize)
-	buf1 := PadBufToLen(buf, lenSamples)
+	buf1 := PadBufToLen(buf, tickSize)
+	//buf1 := PadBufToLen(buf, lenSamples)
 	
 	fmt.Println("len buf1:", len(buf1))
 	
 	// XXX check
-	//if len(buf1) != tickSize {
-	if len(buf1) != lenSamples {
+	if len(buf1) != tickSize {
+	//if len(buf1) != lenSamples {
 		pp(2)
 	}
 	

          
M player/channelmixer.go +19 -0
@@ 98,14 98,33 @@ func (cm *ChannelMixer) mixbufs(buf1, bu
 	return res
 }
 
+func (cm *ChannelMixer) RenderChannelTick(chId int, tickSize int) [][2]float64 {
+	ch := cm.channelSys.Channels[chId]
+		
+	//buf := ch.RenderBuf(tickSize)
+	buf := ch.RenderTick(tickSize)
+		
+	// XXX update renderTickBuf
+	if true {
+		cm.renderTickBuf[chId] = buf
+	}
+	
+	return buf
+}
+
 // tickSize = tickSize samples
 func (cm *ChannelMixer) MixBufTest(tickSize int) [][2]float64 {
 	n := cm.channelSys.numChannels
 	bufs := make([][][2]float64, 0)
 	for i := 0; i < n; i++ {
+		/*
 		ch := cm.channelSys.Channels[i]
 		
 		buf := ch.RenderBuf(tickSize)
+		*/
+		
+		// XXX
+		buf := cm.RenderChannelTick(i, tickSize)
 		
 		bufs = append(bufs, buf)
 	}