wavepipe

command module
v0.0.0-...-d437fa4 Latest Latest
Warning

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

Go to latest
Published: Apr 19, 2014 License: MIT Imports: 8 Imported by: 0

README

wavepipe Build Status GoDoc

Cross-platform media server, written in Go. MIT Licensed.

API documentation may be found in API.md. Full code documentation may be found on GoDoc.

wavepipe is a spiritual successor to WaveBox, and much of its design and ideas are inspired from the WaveBox project. This being said, wavepipe is an entirely new project, with its own goals.

In simple terms, wavepipe will scan a media library, and expose it as a RESTful API for client consumption. More features may be added at a later date, but first priority is to create a working API, and a web client for consuming that API.

Installation

wavepipe can be built using Go 1.1+, but also has a dependency on TagLib for its ability to read media metadata. The TagLib static libraries can be installed on Ubuntu as follows:

$ sudo apt-get install libtagc0-dev

Once the TagLib library is installed, wavepipe can be downloaded, built, and installed, simply by running:

$ go get github.com/mdlayher/wavepipe

To enable wavepipe's transcoding functionality, you must have ffmpeg and the libmp3lame codec installed. This can be done on newer versions of Ubuntu as follows:

$ sudo apt-get install ffmpeg libavcodec-extra-53

Configuration

On first run, wavepipe will attempt to create its sqlite database and configuration file in ~/.config/wavepipe/. Once this is done, the user must modify the configuration file to include a valid media folder. Here is an example of the ~/.config/wavepipe/wavepipe.json configuration file, with comments.

{
	// The port on which wavepipe will expose its API
	"port": 8080,
	// The media folder which wavepipe will scan for valid media files
	"mediaFolder": "~/Music/",
	// Configuration for the sqlite database
	"sqlite": {
		// sqlite database file location
		"file": "~/.config/wavepipe/wavepipe.db"
	}
}

FAQ

Q: Does wavepipe recognize the ALBUMARTIST tag?

A: Right now, unfortunately, the answer is no. It does not appear that this tag is supported by TagLib, the library and bindings I am currently using to extract metadata from media. I'd like to fix this issue in a later release, but finishing the core functionality is my current priority.

Documentation

Overview

Command wavepipe provides a cross-platform media server, written in Go.

For usage documentation, please see the project on GitHub: https://github.com/mdlayher/wavepipe

Directories

Path Synopsis
api
Package api provides the RESTful API of the wavepipe media server.
Package api provides the RESTful API of the wavepipe media server.
auth
Package auth provides the authentication methods for the API of the wavepipe media server.
Package auth provides the authentication methods for the API of the wavepipe media server.
Package config provides the configuration methods for the wavepipe media server.
Package config provides the configuration methods for the wavepipe media server.
Package core provides the base of the wavepipe media server.
Package core provides the base of the wavepipe media server.
Package data provides the models and database backends of the wavepipe media server.
Package data provides the models and database backends of the wavepipe media server.
Package transcode provides the ffmpeg transcoding functionality of the wavepipe media server.
Package transcode provides the ffmpeg transcoding functionality of the wavepipe media server.

Jump to

Keyboard shortcuts

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