mirror of
https://github.com/issadarkthing/gomu.git
synced 2025-04-26 13:49:21 +08:00
small refactor
This commit is contained in:
parent
d73bcb66e4
commit
44b9903c0c
10
layout.go
10
layout.go
@ -4,16 +4,14 @@ import "github.com/rivo/tview"
|
||||
|
||||
func Layout(
|
||||
app *tview.Application,
|
||||
child1 *tview.TreeView,
|
||||
child2 *tview.List,
|
||||
child3 *tview.Box,
|
||||
player *Player,
|
||||
) *tview.Flex {
|
||||
|
||||
flex := tview.NewFlex().
|
||||
AddItem(child1, 0, 1, false).
|
||||
AddItem(player.tree, 0, 1, false).
|
||||
AddItem(tview.NewFlex().SetDirection(tview.FlexRow).
|
||||
AddItem(child2, 0, 7, false).
|
||||
AddItem(child3, 0, 1, false), 0, 3, false)
|
||||
AddItem(player.list, 0, 7, false).
|
||||
AddItem(player.playingBar.frame, 0, 1, false), 0, 3, false)
|
||||
|
||||
return flex
|
||||
|
||||
|
@ -15,14 +15,14 @@ type AudioFile struct {
|
||||
Parent *tview.TreeNode
|
||||
}
|
||||
|
||||
func Playlist(list *tview.List, player *Player) *tview.TreeView {
|
||||
func Playlist(list *tview.List, playBar *Progress, player *Player) *tview.TreeView {
|
||||
|
||||
musicDir := "./music"
|
||||
|
||||
rootDir, err := filepath.Abs(musicDir)
|
||||
|
||||
if err != nil {
|
||||
panic(err)
|
||||
log(err.Error())
|
||||
}
|
||||
|
||||
root := tview.NewTreeNode(musicDir)
|
||||
@ -69,6 +69,7 @@ func Playlist(list *tview.List, player *Player) *tview.TreeView {
|
||||
case 'l':
|
||||
|
||||
if audioFile.IsAudioFile {
|
||||
|
||||
list.AddItem(audioFile.Name, audioFile.Path, 0, nil)
|
||||
player.Push(audioFile.Path)
|
||||
|
||||
@ -114,7 +115,7 @@ func populate(root *tview.TreeNode, rootPath string) {
|
||||
files, err := ioutil.ReadDir(rootPath)
|
||||
|
||||
if err != nil {
|
||||
panic(err)
|
||||
log(err.Error())
|
||||
}
|
||||
|
||||
for _, file := range files {
|
||||
|
2
queue.go
2
queue.go
@ -5,7 +5,7 @@ import (
|
||||
"github.com/rivo/tview"
|
||||
)
|
||||
|
||||
func Queue(playlist *tview.Box) *tview.List {
|
||||
func Queue() *tview.List {
|
||||
|
||||
list := tview.NewList().
|
||||
ShowSecondaryText(false)
|
||||
|
32
start.go
32
start.go
@ -19,15 +19,20 @@ func start(app *tview.Application) {
|
||||
|
||||
player := &Player{}
|
||||
|
||||
child3 := NowPlayingBar()
|
||||
child2 := Queue(child3)
|
||||
child1 := Playlist(child2, player)
|
||||
child3 := PlayingBar(app)
|
||||
child2 := Queue()
|
||||
child1 := Playlist(child2, child3, player)
|
||||
|
||||
flex := Layout(app, child1, child2, child3)
|
||||
player.tree = child1
|
||||
player.list = child2
|
||||
player.playingBar = child3
|
||||
player.app = app
|
||||
|
||||
flex := Layout(app, player)
|
||||
|
||||
pages := tview.NewPages().AddPage("main", flex, true, true)
|
||||
|
||||
childrens := []Children{child1, child2, child3}
|
||||
childrens := []Children{child1, child2, child3.frame}
|
||||
|
||||
app.SetInputCapture(func(event *tcell.EventKey) *tcell.EventKey {
|
||||
|
||||
@ -52,12 +57,15 @@ func start(app *tview.Application) {
|
||||
})
|
||||
|
||||
case ' ':
|
||||
|
||||
if player.ctrl.Paused {
|
||||
player.Play()
|
||||
} else {
|
||||
player.Pause()
|
||||
}
|
||||
player.TogglePause()
|
||||
|
||||
case '+':
|
||||
|
||||
player.Volume(0.5)
|
||||
|
||||
case '-':
|
||||
|
||||
player.Volume(-0.5)
|
||||
|
||||
}
|
||||
|
||||
@ -72,7 +80,7 @@ func start(app *tview.Application) {
|
||||
|
||||
// main loop
|
||||
if err := app.SetRoot(pages, true).SetFocus(flex).Run(); err != nil {
|
||||
panic(err)
|
||||
log(err.Error())
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user