go-MP3-player

module
v0.0.0-...-ea888db Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 19, 2018 License: MIT

README

go-MP3-player

A simple mp3 player implemented in Go

Dependencies

The UI is made with GTK3. To get the Go bindings us

$go get github.com/gotk3/gotk3

sqlite3 is used to manage the music database. To get the bindings for Go use

$go get github.com/mattn/go-sqlite3

To manipulate the mp3 tags, another library was used. To get it, use

$go get github.com/bogem/id3v2

And to actually play the audio, another thrid party library is needed, as well as all its dependencies.

$go get github.com/faiface/beep

$github.com/hajimehoshi/oto
$github.com/hajimehoshi/go-mp3
$github.com/pkg/errors

The libraries by Hajime Hoshi require the ALSA (Advanced Linux Sound Architecture Library) sound library.

For installing it in Debian related distributions use

$apt install libasound2-dev

For Fedora

$dnf install alsa-lib-devel

Install

Use

$go get github.com/QuirozE/go-MP3-player

And then

$go install ./...

Inside the project directory, the binary files of the project should be created in $PATH/bin.

And for executing it, use

$./go-MP3-player

Documentation

The full implementation documentation can be found at

https://godoc.org/github.com/QuirozE/go-MP3-player

And the same documentation can be generated by using

$ godoc -http=":6060"

And then going to the localhost

http://localhost:6060/pkg/github.com/QuirozE/chat/

Unit Testing

All the tests can be executed with

$ go test ./...

Problems

There are not full queries, as I was unable to properly hide the columns in the user interface. However, a small compiler was partilly built, and is creates a select query that is printed in the terminal. To see the query, type into the search entry

title<title>

I was also unable to modify performers atributes, as well as any functionality related to them.

Directories

Path Synopsis
cmd
internal
pkg/dbManager
The DAO of the database
The DAO of the database
pkg/miner
miner goes recursively through a directory, det the id3v2 tags from the mp3 files, sends them to the controller and adds them to the database
miner goes recursively through a directory, det the id3v2 tags from the mp3 files, sends them to the controller and adds them to the database
pkg/parser
parser take a string and converts it into SQL
parser take a string and converts it into SQL
pkg/player
player is the controller.
player is the controller.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL