Skip to content

Commit 25e976b

Browse files
committed
added initial readme, edited .gitignore, edited macro
1 parent 134142f commit 25e976b

File tree

4 files changed

+58
-6
lines changed

4 files changed

+58
-6
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
.DS_Store
2+
js/plugin_db.js
23
plugin_db.json

Better Create Effect.kmmacros

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -242,12 +242,10 @@
242242
<false/>
243243
<key>MacroActionType</key>
244244
<string>CustomPrompt</string>
245-
<key>NotifyOnFailure</key>
246-
<false/>
247245
<key>NotifyOnTimeOut</key>
248246
<false/>
249247
<key>Path</key>
250-
<string>/Volumes/FilesHDD/CODE/kbmaestro/better-create-effect/create-effect.html</string>
248+
<string>%Variable%BCEFolderLocation%/create-effect.html</string>
251249
<key>TimeOutAbortsMacro</key>
252250
<true/>
253251
<key>UseText</key>
@@ -509,8 +507,10 @@ else:
509507
</array>
510508
<key>CreationDate</key>
511509
<real>611096902.63314795</real>
510+
<key>IsActive</key>
511+
<false/>
512512
<key>ModificationDate</key>
513-
<real>611250043.76905298</real>
513+
<real>611258993.77490902</real>
514514
<key>Name</key>
515515
<string>Better Create Effect</string>
516516
<key>Triggers</key>
@@ -527,7 +527,7 @@ else:
527527
</dict>
528528
</array>
529529
<key>UID</key>
530-
<string>597F2AB1-BB40-4B13-9769-D0A65BB170EE</string>
530+
<string>AF17D1ED-3D06-4386-A409-8DE29EAEEACD</string>
531531
</dict>
532532
</array>
533533
<key>Name</key>

README.md

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
# Better Create Effect
2+
3+
Reason has been my DAW of choice for a long time, but although I love it to pieces it has some shortcomings in the keyboard shortcut department. Specifically, the interfaces for creating devices rely heavily on the mouse, which isn't particularly efficient and can be limited by your mouse or trackpad precision.
4+
5+
I was inspired by Ableton's easy Command-F search function, so I designed this Keyboard Maestro macro that emulates that.
6+
7+
[vid goes here]
8+
9+
The JXA script `getPluginDb.scpt` searches the Reason menus to find every device listed in Reason, which is then output as JSON. The JSON is accessed by the HTML prompt from Keyboard Maestro, which allows for autocompletion in the search prompt.
10+
11+
The macro also keeps track of how many times you add a device, so your most used devices will filter to the top of your search results for easier use.
12+
13+
## Setup
14+
15+
Start by cloning the github repo to your machine:
16+
17+
```shell
18+
git clone https://github.com/ebai101/better-create-effect.git
19+
```
20+
21+
You'll need to generate the database first. Make sure you have assistive access for Terminal enabled in System Preferences > Security & Privacy > Privacy:
22+
23+
Once that's done, run these commands:
24+
25+
```shell
26+
cd /path/to/better-create-effect
27+
osascript getPluginDb.scpt > plugin_db.json
28+
```
29+
30+
This will create the file `plugin_db.json` which contains metadata on every device available to Reason (including the built in devices).
31+
32+
Now you can import the macro into Keyboard Maestro. At the top of the macro, you'll need to set the variable `BCEFolderLocation` to the absolute path of your better-create-effect folder:
33+
34+
35+
36+
Once this is done, you can set the hotkey and try it out!
37+
38+
## Troubleshooting
39+
40+
### The window's too big/too small/in the wrong place:
41+
42+
In `create-effect.html` the dimensions of the window are set on line 10:
43+
44+
```html
45+
<body data-kmwindow="360,200,1200,390">
46+
```
47+
48+
The `data-kmwindow` tag is in the format "left, top, width, height". This is set up for a 1080p monitor, so you might need different options. You can also specify it as "width, height".
49+
50+
### Error when running `osascript`
51+
52+
If you already tried enabling assistive access for Terminal, and that didn't work, you can run it in Script Editor. Make sure assistive access is enabled for Script Editor, then open `getPluginDb.scpt` and run it. Copy the output in the Results pane, then paste that into a TextEdit document (or another text editor) and save the file as `plugin_db.json` in the better-create-object directory.

0 commit comments

Comments
 (0)