Skip to content

Commit c123979

Browse files
authored
Merge pull request #5 from heucuva/premix-cleanup
More cleanup
2 parents c8abf31 + fd624ae commit c123979

File tree

22 files changed

+108
-141
lines changed

22 files changed

+108
-141
lines changed

channel.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@ import (
55
"github.com/gotracker/gomixing/sampling"
66
"github.com/gotracker/gomixing/volume"
77
"github.com/gotracker/playback/period"
8+
"github.com/gotracker/playback/player/render"
89
"github.com/gotracker/playback/voice"
910

1011
"github.com/gotracker/playback/instrument"
1112
"github.com/gotracker/playback/note"
12-
"github.com/gotracker/playback/player/output"
1313
)
1414

1515
// Channel is an interface for channel state
@@ -52,8 +52,8 @@ type Channel[TMemory, TChannelData any] interface {
5252
SetPanEnabled(bool)
5353
GetPan() panning.Position
5454
SetPan(panning.Position)
55-
SetOutputChannel(*output.Channel)
56-
GetOutputChannel() *output.Channel
55+
SetRenderChannel(*render.Channel)
56+
GetRenderChannel() *render.Channel
5757
SetVolumeActive(bool)
5858
SetGlobalVolume(volume.Volume)
5959
SetChannelVolume(volume.Volume)

format/it/layout/song.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,8 @@ func (s Song) IsChannelEnabled(channelNum int) bool {
3939
return s.ChannelSettings[channelNum].Enabled
4040
}
4141

42-
// GetOutputChannel returns the output channel for the channel at index `channelNum`
43-
func (s Song) GetOutputChannel(channelNum int) int {
42+
// GetRenderChannel returns the output channel for the channel at index `channelNum`
43+
func (s Song) GetRenderChannel(channelNum int) int {
4444
return s.ChannelSettings[channelNum].OutputChannelNum
4545
}
4646

format/it/playback/playback.go

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ package playback
22

33
import (
44
"github.com/gotracker/gomixing/volume"
5-
device "github.com/gotracker/gosound"
65

76
"github.com/gotracker/playback"
87
"github.com/gotracker/playback/format/it/channel"
@@ -12,10 +11,11 @@ import (
1211
itPeriod "github.com/gotracker/playback/format/it/period"
1312
"github.com/gotracker/playback/index"
1413
"github.com/gotracker/playback/note"
14+
"github.com/gotracker/playback/output"
1515
playpattern "github.com/gotracker/playback/pattern"
1616
"github.com/gotracker/playback/player"
1717
"github.com/gotracker/playback/player/feature"
18-
"github.com/gotracker/playback/player/output"
18+
"github.com/gotracker/playback/player/render"
1919
"github.com/gotracker/playback/player/state"
2020
"github.com/gotracker/playback/song"
2121
)
@@ -32,7 +32,7 @@ type Manager struct {
3232

3333
preMixRowTxn *playpattern.RowUpdateTransaction
3434
postMixRowTxn *playpattern.RowUpdateTransaction
35-
premix *device.PremixData
35+
premix *output.PremixData
3636

3737
rowRenderState *rowRenderState
3838
OnEffect func(playback.Effect)
@@ -64,11 +64,11 @@ func NewManager(song *layout.Song) (*Manager, error) {
6464

6565
m.SetNumChannels(len(song.ChannelSettings))
6666
for i, ch := range song.ChannelSettings {
67-
oc := m.GetOutputChannel(ch.OutputChannelNum, m.channelInit)
67+
oc := m.GetRenderChannel(ch.OutputChannelNum, m.channelInit)
6868

6969
cs := m.GetChannel(i)
7070
cs.SetSongDataInterface(song)
71-
cs.SetOutputChannel(oc)
71+
cs.SetRenderChannel(oc)
7272
cs.SetGlobalVolume(m.GetGlobalVolume())
7373
cs.SetActiveVolume(ch.InitialVolume)
7474
cs.SetChannelVolume(ch.ChannelVolume)
@@ -121,17 +121,17 @@ func (m *Manager) SetNumChannels(num int) {
121121
cs.Trigger.Reset()
122122
cs.RetriggerCount = 0
123123
_ = cs.SetData(nil)
124-
ocNum := m.song.GetOutputChannel(ch)
125-
cs.Output = m.GetOutputChannel(ocNum, m.channelInit)
124+
ocNum := m.song.GetRenderChannel(ch)
125+
cs.RenderChannel = m.GetRenderChannel(ocNum, m.channelInit)
126126

127127
if m.enableNewNoteActions {
128128
cs.PastNotes = &m.PastNotes
129129
}
130130
}
131131
}
132132

133-
func (m *Manager) channelInit(ch int) *output.Channel {
134-
return &output.Channel{
133+
func (m *Manager) channelInit(ch int) *render.Channel {
134+
return &render.Channel{
135135
ChannelNum: ch,
136136
Filter: nil,
137137
GetSampleRate: m.GetSampleRate,

format/it/playback/playback_command.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ func (m *Manager) processVoiceUpdates(ch int, cs *state.ChannelState[channel.Mem
119119
func (m *Manager) SetFilterEnable(on bool) {
120120
for i := range m.song.ChannelSettings {
121121
c := m.GetChannel(i)
122-
if o := c.GetOutputChannel(); o != nil {
122+
if o := c.GetRenderChannel(); o != nil {
123123
if on {
124124
if o.Filter == nil {
125125
o.Filter = filter.NewAmigaLPF(period.Frequency(itPeriod.DefaultC2Spd), m.GetSampleRate())

format/it/playback/playback_render.go

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
package playback
22

33
import (
4-
device "github.com/gotracker/gosound"
5-
4+
"github.com/gotracker/playback/output"
65
"github.com/gotracker/playback/player/render"
76
"github.com/gotracker/playback/player/state"
87
)
@@ -23,12 +22,12 @@ func (m *Manager) OnTick() error {
2322
}
2423

2524
// GetPremixData gets the current premix data from the manager
26-
func (m *Manager) GetPremixData() (*device.PremixData, error) {
25+
func (m *Manager) GetPremixData() (*output.PremixData, error) {
2726
return m.premix, nil
2827
}
2928

3029
// RenderOneRow renders the next single row from the song pattern data into a RowRender object
31-
func (m *Manager) renderTick() (*device.PremixData, error) {
30+
func (m *Manager) renderTick() (*output.PremixData, error) {
3231
postMixRowTxn := m.pattern.StartTransaction()
3332
defer func() {
3433
postMixRowTxn.Cancel()
@@ -43,7 +42,7 @@ func (m *Manager) renderTick() (*device.PremixData, error) {
4342
}
4443

4544
var finalData render.RowRender
46-
premix := &device.PremixData{
45+
premix := &output.PremixData{
4746
Userdata: &finalData,
4847
SamplesLen: m.rowRenderState.Samples,
4948
}
@@ -78,7 +77,7 @@ type rowRenderState struct {
7877
currentTick int
7978
}
8079

81-
func (m *Manager) soundRenderTick(premix *device.PremixData) error {
80+
func (m *Manager) soundRenderTick(premix *output.PremixData) error {
8281
tick := m.rowRenderState.currentTick
8382
var lastTick = (tick+1 == m.rowRenderState.ticksThisRow)
8483

format/s3m/layout/song.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,8 @@ func (s Song) IsChannelEnabled(channelNum int) bool {
3636
return s.ChannelSettings[channelNum].Enabled
3737
}
3838

39-
// GetOutputChannel returns the output channel for the channel at index `channelNum`
40-
func (s Song) GetOutputChannel(channelNum int) int {
39+
// GetRenderChannel returns the output channel for the channel at index `channelNum`
40+
func (s Song) GetRenderChannel(channelNum int) int {
4141
return s.ChannelSettings[channelNum].OutputChannelNum
4242
}
4343

format/s3m/playback/playback.go

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import (
44
s3mfile "github.com/gotracker/goaudiofile/music/tracked/s3m"
55
"github.com/gotracker/gomixing/panning"
66
"github.com/gotracker/gomixing/volume"
7-
device "github.com/gotracker/gosound"
87

98
"github.com/gotracker/playback"
109
"github.com/gotracker/playback/format/s3m/channel"
@@ -13,10 +12,11 @@ import (
1312
s3mPeriod "github.com/gotracker/playback/format/s3m/period"
1413
"github.com/gotracker/playback/index"
1514
"github.com/gotracker/playback/note"
15+
"github.com/gotracker/playback/output"
1616
playpattern "github.com/gotracker/playback/pattern"
1717
"github.com/gotracker/playback/player"
1818
"github.com/gotracker/playback/player/feature"
19-
"github.com/gotracker/playback/player/output"
19+
"github.com/gotracker/playback/player/render"
2020
"github.com/gotracker/playback/player/state"
2121
"github.com/gotracker/playback/song"
2222
)
@@ -32,7 +32,7 @@ type Manager struct {
3232

3333
preMixRowTxn *playpattern.RowUpdateTransaction
3434
postMixRowTxn *playpattern.RowUpdateTransaction
35-
premix *device.PremixData
35+
premix *output.PremixData
3636

3737
rowRenderState *rowRenderState
3838
OnEffect func(playback.Effect)
@@ -62,11 +62,11 @@ func NewManager(song *layout.Song) (*Manager, error) {
6262
m.SetNumChannels(len(song.ChannelSettings))
6363
lowpassEnabled := false
6464
for i, ch := range song.ChannelSettings {
65-
oc := m.GetOutputChannel(ch.OutputChannelNum, m.channelInit)
65+
oc := m.GetRenderChannel(ch.OutputChannelNum, m.channelInit)
6666

6767
cs := m.GetChannel(i)
6868
cs.SetSongDataInterface(song)
69-
cs.SetOutputChannel(oc)
69+
cs.SetRenderChannel(oc)
7070
cs.SetGlobalVolume(m.GetGlobalVolume())
7171
cs.SetActiveVolume(ch.InitialVolume)
7272
if song.Head.Stereo {
@@ -111,8 +111,8 @@ func NewManager(song *layout.Song) (*Manager, error) {
111111
return &m, nil
112112
}
113113

114-
func (m *Manager) channelInit(ch int) *output.Channel {
115-
return &output.Channel{
114+
func (m *Manager) channelInit(ch int) *render.Channel {
115+
return &render.Channel{
116116
ChannelNum: ch,
117117
Filter: nil,
118118
GetSampleRate: m.GetSampleRate,
@@ -152,8 +152,8 @@ func (m *Manager) SetNumChannels(num int) {
152152
cs.Trigger.Reset()
153153
cs.RetriggerCount = 0
154154
_ = cs.SetData(nil)
155-
ocNum := m.song.GetOutputChannel(ch)
156-
cs.Output = m.GetOutputChannel(ocNum, m.channelInit)
155+
ocNum := m.song.GetRenderChannel(ch)
156+
cs.RenderChannel = m.GetRenderChannel(ocNum, m.channelInit)
157157
}
158158
}
159159

format/s3m/playback/playback_command.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ func (m *Manager) processVoiceUpdates(ch int, cs *state.ChannelState[channel.Mem
119119
func (m *Manager) SetFilterEnable(on bool) {
120120
for i := range m.song.ChannelSettings {
121121
c := m.GetChannel(i)
122-
if o := c.GetOutputChannel(); o != nil {
122+
if o := c.GetRenderChannel(); o != nil {
123123
if on {
124124
if o.Filter == nil {
125125
o.Filter = filter.NewAmigaLPF(s3mPeriod.DefaultC2Spd, m.GetSampleRate())

format/s3m/playback/playback_render.go

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
package playback
22

33
import (
4-
device "github.com/gotracker/gosound"
5-
4+
"github.com/gotracker/playback/output"
65
"github.com/gotracker/playback/player/render"
76
"github.com/gotracker/playback/player/state"
87
)
@@ -20,12 +19,12 @@ func (m *Manager) OnTick() error {
2019
}
2120

2221
// GetPremixData gets the current premix data from the manager
23-
func (m *Manager) GetPremixData() (*device.PremixData, error) {
22+
func (m *Manager) GetPremixData() (*output.PremixData, error) {
2423
return m.premix, nil
2524
}
2625

2726
// RenderOneRow renders the next single row from the song pattern data into a RowRender object
28-
func (m *Manager) renderTick() (*device.PremixData, error) {
27+
func (m *Manager) renderTick() (*output.PremixData, error) {
2928
postMixRowTxn := m.pattern.StartTransaction()
3029
defer func() {
3130
postMixRowTxn.Cancel()
@@ -40,7 +39,7 @@ func (m *Manager) renderTick() (*device.PremixData, error) {
4039
}
4140

4241
var finalData render.RowRender
43-
premix := &device.PremixData{
42+
premix := &output.PremixData{
4443
Userdata: &finalData,
4544
SamplesLen: m.rowRenderState.Samples,
4645
}
@@ -74,7 +73,7 @@ type rowRenderState struct {
7473
currentTick int
7574
}
7675

77-
func (m *Manager) soundRenderTick(premix *device.PremixData) error {
76+
func (m *Manager) soundRenderTick(premix *output.PremixData) error {
7877
tick := m.rowRenderState.currentTick
7978
var lastTick = (tick+1 == m.rowRenderState.ticksThisRow)
8079

format/xm/layout/song.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,8 @@ func (s Song) IsChannelEnabled(channelNum int) bool {
3737
return s.ChannelSettings[channelNum].Enabled
3838
}
3939

40-
// GetOutputChannel returns the output channel for the channel at index `channelNum`
41-
func (s Song) GetOutputChannel(channelNum int) int {
40+
// GetRenderChannel returns the output channel for the channel at index `channelNum`
41+
func (s Song) GetRenderChannel(channelNum int) int {
4242
return s.ChannelSettings[channelNum].OutputChannelNum
4343
}
4444

0 commit comments

Comments
 (0)