cli

package module
v0.0.1-alpha.3 Latest Latest
Warning

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

Go to latest
Published: Dec 1, 2019 License: Unlicense Imports: 15 Imported by: 0

README

Imgur

codecov

gocomu

gocomu is a command user interface designed to help speed things up when working with comu library.

Installation

You can download the latest pre-compiled binary from releases

or simply run go get github.com/gocomu/cli/cmd/gocomu

Use

Test that everything works by printing -help flag

$ gocomu -help

      ::::::::       ::::::::       ::::::::       ::::::::         :::   :::      :::    ::: 
    :+:    :+:     :+:    :+:     :+:    :+:     :+:    :+:       :+:+: :+:+:     :+:    :+:  
   +:+            +:+    +:+     +:+            +:+    +:+      +:+ +:+:+ +:+    +:+    +:+   
  :#:  ~*+#+     +#+    +:+     +#+            +#+    +:+      +#+  +:+  +#+    +#+    +:+ 
 +#+    #+#     +#+    +#+     +#+            +#+    +#+      +#+       +#+    +#+    +#+     
#+#    #+#     #+#    #+#     #+#    #+#     #+#    #+#      #+#       #+#    #+#    #+#      
########       ########       ########       ########       ###       ###     ########        

  v0.0.1 - GOCOMU CLI

Available commands:

   new       Create a new project 
   embed     Embed all *.wav/*.aiff files as []byte 
   serve     Hot load your composition after save 
   offline   Render the output as wav/aiff 

Flags:

  -help
        Get help on the 'gocomu' command.
New

gocomu provides cli & gui based templates to get you started.

CLI

gocomu new cli -name sampleProject

.
├── cmd/
│   └── sampleProject
│       └── main.go
├── embed/
│   ├── embedded.go
│   └── embed.go
├── gocomu.yml
├── go.mod
└── output/

For gocomu itself as well as new created cli projects we use clir library. You can find detailed instructions on how to use it on author's website.

GUI

NOTE: in order to use the gui template you need wails on your system. For instructions on how to install refer to project's documentation.

Embed
Serve
Offline render
Build

TODO

  • Create new project
    • CLI Template
    • GUI Template
  • Project serve
    • markers flag for starting from certain point in compositions
  • Project embedder (wav/aiff)
  • Render audio output

Documentation

Index

Constants

View Source
const (
	// Cli project type
	Cli = ProjectType(iota)
	// Gui project type
	Gui
)

Variables

This section is empty.

Functions

func ClirActions

func ClirActions(cli *clir.Cli)

ClirActions cli handlers

Types

type GocomuYaml

type GocomuYaml struct {
	Name        string
	Description string
	Version     string
	Type        string
	ServeOutput string
}

GocomuYaml .

func Yaml

func Yaml() *GocomuYaml

Yaml .

type ProjectType

type ProjectType int

ProjectType type helps cli's `cli` subcommand

type RTout

type RTout int

RTout type helps cli's -out flag

const (
	// PortAudio output
	PortAudio RTout = iota
	// Oto output
	Oto
)

type TemplatesVariables

type TemplatesVariables struct {
	ProjectName string
	ProjectType ProjectType
	Output      RTout
}

TemplatesVariables holds values to be substituted when creating/executing biolerplate templates

Directories

Path Synopsis
cmd
gocomu command

Jump to

Keyboard shortcuts

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