Skip to content

Commit

Permalink
debug
Browse files Browse the repository at this point in the history
  • Loading branch information
gucio321 committed Jul 22, 2024
1 parent d586bcb commit d969893
Showing 1 changed file with 47 additions and 42 deletions.
89 changes: 47 additions & 42 deletions example/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,6 @@ import (
"fmt"
"io"
"math"
"runtime"
"sync"
"time"

"github.com/ebitengine/oto/v3"
Expand Down Expand Up @@ -175,46 +173,53 @@ func run() error {
}
<-ready

var wg sync.WaitGroup
var players []*oto.Player
var m sync.Mutex

wg.Add(1)
go func() {
defer wg.Done()
p := play(c, freqC, 3*time.Second, op.ChannelCount, op.Format)
m.Lock()
players = append(players, p)
m.Unlock()
time.Sleep(3 * time.Second)
}()

wg.Add(1)
go func() {
defer wg.Done()
time.Sleep(1 * time.Second)
p := play(c, freqE, 3*time.Second, op.ChannelCount, op.Format)
m.Lock()
players = append(players, p)
m.Unlock()
time.Sleep(3 * time.Second)
}()

wg.Add(1)
go func() {
defer wg.Done()
time.Sleep(2 * time.Second)
p := play(c, freqG, 3*time.Second, op.ChannelCount, op.Format)
m.Lock()
players = append(players, p)
m.Unlock()
time.Sleep(3 * time.Second)
}()

wg.Wait()

// Pin the players not to GC the players.
runtime.KeepAlive(players)
/*
var wg sync.WaitGroup
var players []*oto.Player
var m sync.Mutex
wg.Add(1)
go func() {
defer wg.Done()
p := play(c, freqC, 3*time.Second, op.ChannelCount, op.Format)
m.Lock()
players = append(players, p)
m.Unlock()
time.Sleep(3 * time.Second)
}()
wg.Add(1)
go func() {
defer wg.Done()
time.Sleep(1 * time.Second)
p := play(c, freqE, 3*time.Second, op.ChannelCount, op.Format)
m.Lock()
players = append(players, p)
m.Unlock()
time.Sleep(3 * time.Second)
}()
wg.Add(1)
go func() {
defer wg.Done()
time.Sleep(2 * time.Second)
p := play(c, freqG, 3*time.Second, op.ChannelCount, op.Format)
m.Lock()
players = append(players, p)
m.Unlock()
time.Sleep(3 * time.Second)
}()
wg.Wait()
// Pin the players not to GC the players.
runtime.KeepAlive(players)
*/
for {
fmt.Println("--")
play(c, freqC, 250*time.Millisecond, op.ChannelCount, op.Format)
time.Sleep(500 * time.Millisecond)
}

return nil
}
Expand Down

0 comments on commit d969893

Please sign in to comment.