Skip to content

Commit 0a9348e

Browse files
committed
add parameters help
1 parent fd56b76 commit 0a9348e

24 files changed

+111
-1
lines changed

midi/midi.go

+5
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,11 @@ func Note(note uint8) string {
7878
return gomidi.Note(note).String()
7979
}
8080

81+
// CC retruns the string representation of a cc message
82+
func CC(controller uint8) string {
83+
return gomidi.ControlChangeName[controller]
84+
}
85+
8186
func (m *midi) start() {
8287
var wg sync.WaitGroup
8388
wg.Add(len(m.devices))

ui/param/bank_cmd.go

+4
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,10 @@ func (b BankCmd) Name() string {
1919
return "bank"
2020
}
2121

22+
func (b BankCmd) Help() string {
23+
return ""
24+
}
25+
2226
func (b BankCmd) Display() string {
2327
if !b.nodes[0].(music.Audible).Note().MetaCommands[bankCmdIndex].Active() {
2428
return "⨯"

ui/param/cc.go

+17
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,11 @@ package param
33
import (
44
"fmt"
55
"strconv"
6+
"strings"
67

78
"signls/core/common"
89
"signls/core/music"
10+
"signls/midi"
911
"signls/ui/util"
1012
)
1113

@@ -29,6 +31,21 @@ func (c CC) Name() string {
2931
}
3032
}
3133

34+
func (c CC) Help() string {
35+
switch c.nodes[0].(music.Audible).Note().Controls[c.index].Type {
36+
case music.ControlChangeControlType:
37+
return strings.ToLower(midi.CC(c.nodes[0].(music.Audible).Note().Controls[c.index].Controller))
38+
case music.AfterTouchControlType:
39+
return "after touch"
40+
case music.PitchBendControlType:
41+
return "pitch bend"
42+
case music.ProgramChangeControlType:
43+
return "program change"
44+
default:
45+
return ""
46+
}
47+
}
48+
3249
func (c CC) Display() string {
3350
if c.nodes[0].(music.Audible).Note().Controls[c.index].Type == music.SilentControlType {
3451
return "⨯"

ui/param/channel.go

+4
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,10 @@ func (c Channel) Name() string {
1717
return "cha"
1818
}
1919

20+
func (c Channel) Help() string {
21+
return ""
22+
}
23+
2024
func (c Channel) Display() string {
2125
if c.nodes[0].(music.Audible).Note().Channel.RandomAmount() != 0 {
2226
return util.Normalize(

ui/param/clock_send.go

+4
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@ func (c ClockSend) Name() string {
1212
return "clock"
1313
}
1414

15+
func (c ClockSend) Help() string {
16+
return ""
17+
}
18+
1519
func (c ClockSend) Display() string {
1620
if c.grid.SendClock {
1721
return "on"

ui/param/default_device.go

+4
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@ func (d DefaultDevice) Name() string {
1212
return "device"
1313
}
1414

15+
func (d DefaultDevice) Help() string {
16+
return ""
17+
}
18+
1519
func (d DefaultDevice) Display() string {
1620
return d.grid.MidiDevice()
1721
}

ui/param/destination.go

+4
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,10 @@ func (d Destination) Name() string {
1919
return "dest"
2020
}
2121

22+
func (s Destination) Help() string {
23+
return ""
24+
}
25+
2226
func (d Destination) Display() string {
2327
x, y := d.nodes[0].(*node.HoleEmitter).Destination()
2428
amountX, amountY := d.nodes[0].(*node.HoleEmitter).DestinationAmount()

ui/param/direction.go

+4
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,10 @@ func (d Direction) Name() string {
1818
return "direction"
1919
}
2020

21+
func (d Direction) Help() string {
22+
return ""
23+
}
24+
2125
func (d Direction) Display() string {
2226
return d.nodes[0].Direction().Symbol()
2327
}

ui/param/key.go

+4
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,10 @@ func (k *Key) Name() string {
3030
return "key"
3131
}
3232

33+
func (k *Key) Help() string {
34+
return ""
35+
}
36+
3337
func (k *Key) Display() string {
3438
if k.mode == KeyModeSilent {
3539
return "⨯"

ui/param/length.go

+4
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,10 @@ func (l Length) Name() string {
2121
return "len"
2222
}
2323

24+
func (l Length) Help() string {
25+
return ""
26+
}
27+
2428
func (l Length) Display() string {
2529
length := int(l.nodes[0].(music.Audible).Note().Length.Value())
2630
pulsesPerStep, stepsPerQuarterNote := l.nodes[0].(music.Audible).Note().ClockDivision()

ui/param/offset.go

+4
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,10 @@ func (o Offset) Name() string {
1818
return "off"
1919
}
2020

21+
func (o Offset) Help() string {
22+
return ""
23+
}
24+
2125
func (o Offset) Display() string {
2226
if o.nodes[0].(*node.EuclidEmitter).Offset.RandomAmount() != 0 {
2327
return util.Normalize(

ui/param/param.go

+1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ const (
1414

1515
type Param interface {
1616
Name() string
17+
Help() string
1718
Value() int
1819
AltValue() int
1920
Display() string

ui/param/probability.go

+4
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,10 @@ func (p Probability) Name() string {
2020
return "prb"
2121
}
2222

23+
func (p Probability) Help() string {
24+
return ""
25+
}
26+
2327
func (p Probability) Display() string {
2428
return fmt.Sprintf("%d", p.Value())
2529
}

ui/param/root.go

+4
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,10 @@ func (r Root) Name() string {
1717
return "root"
1818
}
1919

20+
func (r Root) Help() string {
21+
return ""
22+
}
23+
2024
func (r Root) Display() string {
2125
return r.grid.Key.Name()
2226
}

ui/param/root_cmd.go

+4
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,10 @@ func (r RootCmd) Name() string {
1919
return "root"
2020
}
2121

22+
func (r RootCmd) Help() string {
23+
return ""
24+
}
25+
2226
func (r RootCmd) Display() string {
2327
if !r.nodes[0].(music.Audible).Note().MetaCommands[rootCmdIndex].Active() {
2428
return "⨯"

ui/param/scale.go

+4
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,10 @@ func (s Scale) Name() string {
1414
return "scale"
1515
}
1616

17+
func (s Scale) Help() string {
18+
return ""
19+
}
20+
1721
func (s Scale) Display() string {
1822
return s.grid.Scale.Name()
1923
}

ui/param/scale_cmd.go

+4
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,10 @@ func (s ScaleCmd) Name() string {
1919
return "scale"
2020
}
2121

22+
func (s ScaleCmd) Help() string {
23+
return ""
24+
}
25+
2226
func (s ScaleCmd) Display() string {
2327
if !s.nodes[0].(music.Audible).Note().MetaCommands[scaleCmdIndex].Active() {
2428
return "⨯"

ui/param/steps.go

+4
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,10 @@ func (s Steps) Name() string {
1818
return "stp"
1919
}
2020

21+
func (s Steps) Help() string {
22+
return ""
23+
}
24+
2125
func (s Steps) Display() string {
2226
if s.nodes[0].(*node.EuclidEmitter).Steps.RandomAmount() != 0 {
2327
return util.Normalize(

ui/param/tempo_cmd.go

+4
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,10 @@ func (t TempoCmd) Name() string {
1919
return "tempo"
2020
}
2121

22+
func (t TempoCmd) Help() string {
23+
return ""
24+
}
25+
2226
func (t TempoCmd) Display() string {
2327
if !t.nodes[0].(music.Audible).Note().MetaCommands[tempoCmdIndex].Active() {
2428
return "⨯"

ui/param/threshold.go

+4
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,10 @@ func (t Threshold) Name() string {
1919
return "thd"
2020
}
2121

22+
func (t Threshold) Help() string {
23+
return ""
24+
}
25+
2226
func (t Threshold) Display() string {
2327
if t.control().RandomAmount() != 0 {
2428
return util.Normalize(

ui/param/transport_send.go

+4
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@ func (t TransportSend) Name() string {
1212
return "transport"
1313
}
1414

15+
func (t TransportSend) Help() string {
16+
return ""
17+
}
18+
1519
func (t TransportSend) Display() string {
1620
if t.grid.SendTransport {
1721
return "on"

ui/param/triggers.go

+4
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,10 @@ func (t Triggers) Name() string {
2121
return "trg"
2222
}
2323

24+
func (t Triggers) Help() string {
25+
return ""
26+
}
27+
2428
func (t Triggers) Display() string {
2529
if t.nodes[0].(*node.EuclidEmitter).Triggers.RandomAmount() != 0 {
2630
return util.Normalize(

ui/param/velocity.go

+4
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,10 @@ func (v Velocity) Name() string {
1717
return "vel"
1818
}
1919

20+
func (v Velocity) Help() string {
21+
return ""
22+
}
23+
2024
func (v Velocity) Display() string {
2125
if v.nodes[0].(music.Audible).Note().Velocity.RandomAmount() != 0 {
2226
return util.Normalize(

ui/ui.go

+8-1
Original file line numberDiff line numberDiff line change
@@ -360,9 +360,15 @@ func (m mainModel) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
360360
func (m mainModel) View() string {
361361
help := lipgloss.NewStyle().
362362
MarginLeft(2).
363-
MarginTop(1).
364363
Render(m.help.View(m.keymap))
365364

365+
paramHelp := ""
366+
if m.mode == EDIT {
367+
paramHelp = m.help.Styles.ShortDesc.
368+
MarginLeft(16).
369+
Render(m.activeParam().Help())
370+
}
371+
366372
if m.help.ShowAll {
367373
return lipgloss.JoinVertical(
368374
lipgloss.Left,
@@ -379,6 +385,7 @@ func (m mainModel) View() string {
379385
return lipgloss.JoinVertical(
380386
lipgloss.Left,
381387
m.renderGrid(),
388+
paramHelp,
382389
help,
383390
)
384391
}

0 commit comments

Comments
 (0)