-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.go
54 lines (45 loc) · 1.67 KB
/
main.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
package main
import (
"fmt"
"github.com/scryner/streamdeck-go-sdk/sdk"
"github.com/scryner/streamdeck-pixelmator/pixelmator"
"log"
"os"
)
func main() {
// make plugin
plugin, err := sdk.NewPlugin()
if err != nil {
log.Printf("failed to make streamdeck plugin: %v", err)
os.Exit(1)
}
// make pixelmator
px := pixelmator.NewPixelmator()
// registry handler to plugin
supportedAdjustments := []pixelmator.ColorAdjustment{
pixelmator.Exposure,
pixelmator.Tint,
}
for _, adj := range supportedAdjustments {
plugin.Handle(fmt.Sprintf("com.scryner.pixelmator.adjust.%d/%s", adj, sdk.EventTouchTap), pixelmator.TouchTap(px))
plugin.Handle(fmt.Sprintf("com.scryner.pixelmator.adjust.%d/%s", adj, sdk.EventDialUp), pixelmator.DialUp(px))
plugin.Handle(fmt.Sprintf("com.scryner.pixelmator.adjust.%d/%s", adj, sdk.EventDialRotate), pixelmator.DialRotate(px))
plugin.Handle(fmt.Sprintf("com.scryner.pixelmator.adjust.%d/%s", adj, sdk.EventWillAppear), pixelmator.WillAppear(px))
plugin.Handle(fmt.Sprintf("com.scryner.pixelmator.adjust.%d/%s", adj, sdk.EventWillDisappear), pixelmator.WillDisappear(px))
}
plugin.Handle(fmt.Sprintf("com.scryner.pixelmator/%s", sdk.EventDeviceDidConnect), pixelmator.DeviceConnect(px))
plugin.Handle(fmt.Sprintf("com.scryner.pixelmator/%s", sdk.EventDeviceDidDisconnect), pixelmator.DeviceDisconnect(px))
// set logger
f, err := os.OpenFile("/tmp/streamdeck-pixelmator.log", os.O_CREATE|os.O_APPEND|os.O_WRONLY, 0666)
if err != nil {
log.Printf("failed to open log file: %v", err)
os.Exit(1)
}
defer f.Close()
log.SetOutput(f)
// run plugin
if err := plugin.Run(); err != nil {
log.Printf("plugin error: %v", err)
os.Exit(1)
}
}