1
0
Fork 0

a better readme

This commit is contained in:
Kevin Matz 2018-10-21 01:27:18 -04:00
parent c2beebd57f
commit b27a701039
1 changed files with 75 additions and 29 deletions

104
README.md
View File

@ -1,53 +1,99 @@
# Bacon Script
A theoretical exersise to control a Hog 4 via OSC, with comment macros.
The comment macro grammer described in `CommentMacro.g4` was created from the Hog 3.9 manual, Chapter 22.4. The python implementation in `OscCommentMacroListener.py` is based on Chapter 24.2 in the same manual.
Many macros are unsupported/unsupportable with this method. Some macro freatures, like timing, are not yet implemented. Refer to the **Features** table for specific notes.
## Installing
Install Python-OSC for output.
> $ pip install python-osc
```
$ pip install python-osc
```
Install Antlr4 for input.
```
$ pip install antlr4-python3-runtime
```
> $ pip install antlr4-python3-runtime
## Testing
Edit `server.cfg` to the correct values for your Hog4.
`comment.py` will accept macros on the command line, or will run an interactive prompt.
```
$ ./comment.py
comment#
```
Use the builtin command `exit` to quit the interacive prompt.
## Developing
You must also install the ANTLR tool. On a mac with homebrew, do:
> $ brew install antlr
```
$ brew install antlr
```
Update the lexer and parser for Python3
> $ antlr -Dlanguage=Python3 CommentMacro.g4
```
$ antlr -Dlanguage=Python3 CommentMacro.g4
```
## Features
Only features that are supported in both OSC and Comment Macros are able to be implimented in baconscript. This table lists all comment macros (as of 3.9) that are implimented in python.
## Unsupported Macros
These Comment Macros do not have supporting equivelents in OSC:
| Grammar Feature | eg. | Supported |
| ----------------|-----|-----------|
| fade times | t5 | no |
| multiple targets | 1,2 | Yes |
| ranges | 1>4 | Yes |
| multiple macros | GM1:GL3 | Yes |
| network devies | h4 | H devies only |
| Macro | Function | Supported | Notes |
|-------|----------|-----------|-------|
| GM | Go Master | Yes | |
| HM | Halt Master | Yes | |
| AM | Assert Master | no | |
| RM | Release Master | no | |
| RA | Relase All | no | |
| RO | Release Others | no | |
| FM | Fade Master | Yes | no times
| FGM | Fade Grand Master | Yes | no times
| CM | Choose Master | Yes | |
| GL | Go List | Yes | |
| HL | Halt List | Yes | |
| AL | Assert List | no | |
| RL | Release List | Yes | |
| GB | Go Batch | no | |
| HB | Halt Batch | no | |
| AB | Assert Batch | no | |
| RB | Release Batch | no | |
| GS | Go Scene | Yes | |
| HS | Halt Scene | Yes | |
| AS | Assert Scene | no | |
| RS | Release Scene | Yes | |
| CP | Change Page | no | |
| RV | Recall View | no | |
| ET | Enable Timecode | no | |
| DT | Disable Timecode | no | |
| OT | Open Timecode Toolbar | no | |
| MS | Midi String | no | possible? |
| MN | Midi Note | no | |
| RN | Reset Node | no | |
| GK | Go Keystroke Macro | no | |
| HK | Pause Keystroke Macro | no | |
| RK | Stop Keystroke Macro | no | . |
* Release Master
* Release All
* Release Others
* Master Assert
* List Assert
* Scene Assert
* Batch GO
* Batch Halt
* Batch Assert
* Batch Release
* Node Reset
* Change Page
* Next Page
* Prev Page
* Recall View
* Keystroke Macro Go
* Keystroke Macro Halt
* Keystroke Macro Stop
## Future Work
Pleas feel welcome to submit pull requests or patches that enable support for:
* Sending target ranges as batches
* Send multi-macro line as a batch
* Sending target ranges as OSC batches
* Send multi-macro line as an OSC batch
* Timing on master fades