func (s SyncPlay) _Stop(ctx core.Context) error {
	for _, each := range s.playables {
		val := each.Value()
		if ply, ok := val.(core.Stoppable); ok {
			_ = ply.Stop(ctx)
		}
	}
	return nil
}
Stop implements Playable
package control
import (
	"bytes"
	"fmt"
	"time"
	"github.com/emicklei/melrose/core"
	"github.com/emicklei/melrose/op"
)
type SyncPlay struct {
	playables []core.HasValue
}
func NewSyncPlay(list []core.HasValue) SyncPlay {
	return SyncPlay{playables: list}
}
func (s SyncPlay) Storex() string {
	var b bytes.Buffer
	fmt.Fprintf(&b, "sync(")
	for i, each := range s.playables {
		if i > 0 {
			fmt.Fprintf(&b, ",")
		}
		fmt.Fprintf(&b, "%s", core.Storex(each))
	}
	fmt.Fprintf(&b, ")")
	return b.String()
}
func (s SyncPlay) Play(ctx core.Context, at time.Time) error {
	return s.Evaluate(ctx)
}