diff options
author | Christian Pointner <equinox@spreadspace.org> | 2019-02-09 18:20:53 +0100 |
---|---|---|
committer | Christian Pointner <equinox@spreadspace.org> | 2019-02-09 18:20:53 +0100 |
commit | c79874f96994f8c645f0f5cd716eed3b3dc25995 (patch) | |
tree | 7c53167edc00dbb0bc947fbc243566c1ebd7d0e7 | |
parent | updated Firmware deps (diff) |
added basic scaffolding for new go app
-rw-r--r-- | cmd/dolmetschctl/dolmetschctl.go | 52 | ||||
-rw-r--r-- | cmd/dolmetschctld/dolmetschctld.go | 52 | ||||
-rw-r--r-- | pkg/controller/config.go | 27 | ||||
-rw-r--r-- | pkg/controller/controller.go | 38 | ||||
-rw-r--r-- | pkg/mixer/config.go | 28 | ||||
-rw-r--r-- | pkg/mixer/mixer.go | 38 |
6 files changed, 235 insertions, 0 deletions
diff --git a/cmd/dolmetschctl/dolmetschctl.go b/cmd/dolmetschctl/dolmetschctl.go new file mode 100644 index 0000000..ea51762 --- /dev/null +++ b/cmd/dolmetschctl/dolmetschctl.go @@ -0,0 +1,52 @@ +// +// dolmetschctl +// +// +// Copyright (C) 2019 Christian Pointner <equinox@spreadspace.org> +// +// This file is part of dolmetschctl. +// +// dolmetschctl is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// any later version. +// +// dolmetschctl is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with dolmetschctl. If not, see <http://www.gnu.org/licenses/>. +// + +package main + +import ( + "log" + "os" + + "spreadspace.org/dolmetschctl/controller" +) + +func main() { + log.Println("hello world.") + + c, err := controller.NewController(mixer.Config{"dolmetsch controller"}) + if err != nil { + log.Println("Error opening the controller: %v", err) + os.Exit(1) + } + defer c.Shutdown() + + if err = c.Init(); err != nil { + log.Println("Error initializeing the controller: %v", err) + os.Exit(1) + } + + log.Printf("controller successfully initialized!") + + // TODO: do something + + log.Printf("exiting.") +} diff --git a/cmd/dolmetschctld/dolmetschctld.go b/cmd/dolmetschctld/dolmetschctld.go new file mode 100644 index 0000000..346b6fc --- /dev/null +++ b/cmd/dolmetschctld/dolmetschctld.go @@ -0,0 +1,52 @@ +// +// dolmetschctl +// +// +// Copyright (C) 2019 Christian Pointner <equinox@spreadspace.org> +// +// This file is part of dolmetschctl. +// +// dolmetschctl is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// any later version. +// +// dolmetschctl is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with dolmetschctl. If not, see <http://www.gnu.org/licenses/>. +// + +package main + +import ( + "log" + "os" + + "spreadspace.org/dolmetschctl/mixer" +) + +func main() { + log.Println("hello world.") + + m, err := mixer.NewMixer(mixer.Config{"ESI MIDIMATE eX MIDI 2", "ESI MIDIMATE eX MIDI 1"}) + if err != nil { + log.Println("Error opening the mixer: %v", err) + os.Exit(1) + } + defer c.Shutdown() + + if err = c.Init(); err != nil { + log.Println("Error initializeing the mixer: %v", err) + os.Exit(1) + } + + log.Printf("mixer successfully initialized!") + + // TODO: do something + + log.Printf("exiting.") +} diff --git a/pkg/controller/config.go b/pkg/controller/config.go new file mode 100644 index 0000000..e862be7 --- /dev/null +++ b/pkg/controller/config.go @@ -0,0 +1,27 @@ +// +// dolmetschctl +// +// +// Copyright (C) 2019 Christian Pointner <equinox@spreadspace.org> +// +// This file is part of dolmetschctl. +// +// dolmetschctl is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// any later version. +// +// dolmetschctl is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with dolmetschctl. If not, see <http://www.gnu.org/licenses/>. +// + +package controller + +type Config struct { + Dev string `json:"dev" yaml:"dev" toml:"dev"` +} diff --git a/pkg/controller/controller.go b/pkg/controller/controller.go new file mode 100644 index 0000000..b8d04e7 --- /dev/null +++ b/pkg/controller/controller.go @@ -0,0 +1,38 @@ +// +// dolmetschctl +// +// +// Copyright (C) 2019 Christian Pointner <equinox@spreadspace.org> +// +// This file is part of dolmetschctl. +// +// dolmetschctl is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// any later version. +// +// dolmetschctl is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with dolmetschctl. If not, see <http://www.gnu.org/licenses/>. +// + +package controller + +type Controller struct { +} + +func NewController(c Config) (*Controller, error) { + return &Controller{}, nil +} + +func (m *Controller) Init() error { + return nil +} + +func (m *Controller) Shutdown() error { + return nil +} diff --git a/pkg/mixer/config.go b/pkg/mixer/config.go new file mode 100644 index 0000000..bc0a292 --- /dev/null +++ b/pkg/mixer/config.go @@ -0,0 +1,28 @@ +// +// dolmetschctl +// +// +// Copyright (C) 2019 Christian Pointner <equinox@spreadspace.org> +// +// This file is part of dolmetschctl. +// +// dolmetschctl is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// any later version. +// +// dolmetschctl is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with dolmetschctl. If not, see <http://www.gnu.org/licenses/>. +// + +package mixer + +type Config struct { + DevIn string `json:"dev-in" yaml:"dev-in" toml:"dev-in"` + DevOut string `json:"dev-out" yaml:"dev-out" toml:"dev-out"` +} diff --git a/pkg/mixer/mixer.go b/pkg/mixer/mixer.go new file mode 100644 index 0000000..235978c --- /dev/null +++ b/pkg/mixer/mixer.go @@ -0,0 +1,38 @@ +// +// dolmetschctl +// +// +// Copyright (C) 2019 Christian Pointner <equinox@spreadspace.org> +// +// This file is part of dolmetschctl. +// +// dolmetschctl is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// any later version. +// +// dolmetschctl is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with dolmetschctl. If not, see <http://www.gnu.org/licenses/>. +// + +package mixer + +type Mixer struct { +} + +func NewMixer(c Config) (*Mixer, error) { + return &Mixer{}, nil +} + +func (m *Mixer) Init() error { + return nil +} + +func (m *Mixer) Shutdown() error { + return nil +} |