mirror of
https://github.com/issadarkthing/gomu.git
synced 2025-04-30 13:48:50 +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(
|
func Layout(
|
||||||
app *tview.Application,
|
app *tview.Application,
|
||||||
child1 *tview.TreeView,
|
player *Player,
|
||||||
child2 *tview.List,
|
|
||||||
child3 *tview.Box,
|
|
||||||
) *tview.Flex {
|
) *tview.Flex {
|
||||||
|
|
||||||
flex := tview.NewFlex().
|
flex := tview.NewFlex().
|
||||||
AddItem(child1, 0, 1, false).
|
AddItem(player.tree, 0, 1, false).
|
||||||
AddItem(tview.NewFlex().SetDirection(tview.FlexRow).
|
AddItem(tview.NewFlex().SetDirection(tview.FlexRow).
|
||||||
AddItem(child2, 0, 7, false).
|
AddItem(player.list, 0, 7, false).
|
||||||
AddItem(child3, 0, 1, false), 0, 3, false)
|
AddItem(player.playingBar.frame, 0, 1, false), 0, 3, false)
|
||||||
|
|
||||||
return flex
|
return flex
|
||||||
|
|
||||||
|
@ -15,14 +15,14 @@ type AudioFile struct {
|
|||||||
Parent *tview.TreeNode
|
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"
|
musicDir := "./music"
|
||||||
|
|
||||||
rootDir, err := filepath.Abs(musicDir)
|
rootDir, err := filepath.Abs(musicDir)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
log(err.Error())
|
||||||
}
|
}
|
||||||
|
|
||||||
root := tview.NewTreeNode(musicDir)
|
root := tview.NewTreeNode(musicDir)
|
||||||
@ -69,6 +69,7 @@ func Playlist(list *tview.List, player *Player) *tview.TreeView {
|
|||||||
case 'l':
|
case 'l':
|
||||||
|
|
||||||
if audioFile.IsAudioFile {
|
if audioFile.IsAudioFile {
|
||||||
|
|
||||||
list.AddItem(audioFile.Name, audioFile.Path, 0, nil)
|
list.AddItem(audioFile.Name, audioFile.Path, 0, nil)
|
||||||
player.Push(audioFile.Path)
|
player.Push(audioFile.Path)
|
||||||
|
|
||||||
@ -114,7 +115,7 @@ func populate(root *tview.TreeNode, rootPath string) {
|
|||||||
files, err := ioutil.ReadDir(rootPath)
|
files, err := ioutil.ReadDir(rootPath)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
log(err.Error())
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, file := range files {
|
for _, file := range files {
|
||||||
|
2
queue.go
2
queue.go
@ -5,7 +5,7 @@ import (
|
|||||||
"github.com/rivo/tview"
|
"github.com/rivo/tview"
|
||||||
)
|
)
|
||||||
|
|
||||||
func Queue(playlist *tview.Box) *tview.List {
|
func Queue() *tview.List {
|
||||||
|
|
||||||
list := tview.NewList().
|
list := tview.NewList().
|
||||||
ShowSecondaryText(false)
|
ShowSecondaryText(false)
|
||||||
|
30
start.go
30
start.go
@ -19,15 +19,20 @@ func start(app *tview.Application) {
|
|||||||
|
|
||||||
player := &Player{}
|
player := &Player{}
|
||||||
|
|
||||||
child3 := NowPlayingBar()
|
child3 := PlayingBar(app)
|
||||||
child2 := Queue(child3)
|
child2 := Queue()
|
||||||
child1 := Playlist(child2, player)
|
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)
|
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 {
|
app.SetInputCapture(func(event *tcell.EventKey) *tcell.EventKey {
|
||||||
|
|
||||||
@ -52,12 +57,15 @@ func start(app *tview.Application) {
|
|||||||
})
|
})
|
||||||
|
|
||||||
case ' ':
|
case ' ':
|
||||||
|
player.TogglePause()
|
||||||
|
|
||||||
if player.ctrl.Paused {
|
case '+':
|
||||||
player.Play()
|
|
||||||
} else {
|
player.Volume(0.5)
|
||||||
player.Pause()
|
|
||||||
}
|
case '-':
|
||||||
|
|
||||||
|
player.Volume(-0.5)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -72,7 +80,7 @@ func start(app *tview.Application) {
|
|||||||
|
|
||||||
// main loop
|
// main loop
|
||||||
if err := app.SetRoot(pages, true).SetFocus(flex).Run(); err != nil {
|
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