Skip to content

Commit

Permalink
added scripts
Browse files Browse the repository at this point in the history
  • Loading branch information
edkashinsky committed May 30, 2022
0 parents commit d45a9c3
Show file tree
Hide file tree
Showing 1,346 changed files with 7,595 additions and 0 deletions.
Binary file added Assets/fonts/theme-fonts.zip
Binary file not shown.
Binary file added Assets/images/ableton_clip_shortcuts_demo.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Assets/images/ableton_clip_shortcuts_demo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Assets/images/auto_grid_preview.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Assets/images/change_pitch_mode_preview.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Assets/images/change_pitch_preview.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Assets/images/pin_items_to_markers_preview.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Assets/images/prevent_pitch_preview.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Assets/images/theme_preview.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Assets/images/trim_silence_edges_preview.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
72 changes: 72 additions & 0 deletions Assets/intro.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
# Reableton - scripts for Reaper

This scripts makes Repear a bit close to Ableton workflow. Also it brings useful things to save time.

## Installation

1. Install [ReaPack](https://reapack.com)
2. Install [SMS Extension](https://sws-extension.org)
3. Restart Reaper
4. Open **Extensions** -> **ReaPack** -> **Browse Packages** and install common API extensions:
- js_ReaScriptAPI: API functions for ReaScripts
- ReaImGui: ReaScript binding for Dear ImGui
5. Open **Extensions** -> **ReaPack** -> **Import Repositories**
6. Add this repository to the form
```
https://raw.githubusercontent.com/edkashinsky/reaper-reableton-scripts/master/index.xml
```
4. Done! You can find all new scripts in **Extensions** -> **ReaPack** -> **Browse Packages**
5. From time to time please execute **Extensions** -> **ReaPack** -> **Synchronize Packages** to get new versions of scripts.

## Main useful scripts

### Ableton Clip Shortcuts

One of the main thing is warping panel:

<img src="https://cdn.discordapp.com/attachments/275712116315521035/922133416856678510/preview.png" width="450" />

1. **Mode** - ek_Change pitch mode for selected items
2. **Warp** - ek_Toggle preserve pitch for selected items
3. **-1 semi** - ek_Decrease pitch or rate for selected items
4. **+1 semi** - ek_Increase pitch or rate for selected items
5. **Clear** - ek_Clear pitch or rate for selected items

It works similar like in Ableton:

![Ableton Clip Shortcuts](/Assets/images/ableton_clip_shortcuts_demo.gif)

In two words, script changes pitch, if item has **preserve pitch** option and changes rate and length for selected items if items has this option off.

### Global functions

![Global Functions preview](/Assets/images/auto_grid_preview.gif)

This function has many useful perks that processed in real-time:

1. Auto grid update depending on zoom level in arrange view (like in Ableton)
2. Observing that project has only 5 last backup files (it removes older stuff). It only works if you use timestamp backups
3. Observing of states of buttons (highlight when in needs)
4. Observing of project zoom is limiting by the farthest item (like in Ableton)
5. Observing that if you arm some track, project become 96khz
6. Observing selected midi items and focus it in one MIDI Editor (like in Ableton)

For installation:
1. Install this script via **Extensions** -> **ReaPack** -> **Browse Packages**
2. Open **Actions** -> **Action List**
3. Find "Script: ek_Global Startup Functions.lua" in list and select "Copy selected action command ID" by right mouse click
4. Open **Extensions** -> **Startup Actions** -> **Set Global Startup Action...** and paste copied command ID
5. Restart Reaper

### Theme

#### Flat Madness Dark Remix

The one of the most [impressive themes](https://forum.cockos.com/showthread.php?t=247086) for Reaper. I tuned a bit this theme to look it more like Ableton.

![Theme Preview](/Assets/images/theme_preview.png)

For installation:
1. Install [Fonts](/Assets/fonts/theme-fonts.zip?raw=true)
2. Open **Extensions** -> **ReaPack** -> **Browse Packages** and install "Flat Madness Dark Remix"

65 changes: 65 additions & 0 deletions Assets/intro.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
import fnmatch
import os
from luaparser import ast


class Intro:
__file = None

__assetsPath = os.path.dirname(os.path.realpath(__file__))
__rootPath = __assetsPath + "/.."
__filename = "README.md"
__introductionFile = 'intro.md'

__pathCategories = [
'Items Editing',
'Navigation',
'Toolbars',
'Tracks Properties'
]

def __init__(self):
self.__file = open(self.__rootPath + "/" + self.__filename, 'a')
self.__file.truncate(0)

def fill_readme(self):
self.__fill_introduction()
self.__fill_scripts()
self.__file.close()

def __fill_introduction(self):
with open(self.__assetsPath + "/" + self.__introductionFile) as f:
self.__file.write(f.read() + "\n")

def __fill_scripts(self):
self.__file.write("## List of scripts\n\n")

for category in self.__pathCategories:
for root, dirnames, filenames in os.walk(self.__rootPath + "/" + category):
for filename in fnmatch.filter(filenames, '*.lua'):
with open(os.path.join(root, filename)) as f:
lua = ast.parse(f.read())

if lua.body.body[0].comments:
description = ""
about = ""
aboutStarted = False

for comment in lua.body.body[0].comments:
if comment.s.find("@description") >= 0:
description = comment.s[comment.s.find("@description") + 12:].strip()
elif comment.s.find("@about") >= 0:
aboutStarted = True
elif aboutStarted:
if comment.s.find("@provides") >= 0 or comment.s.find("@changelog") >= 0:
aboutStarted = False
else:
about += comment.s[2:].strip() + "\n"

if len(description) > 0:
self.__file.write("#### " + description + "\n\n")
self.__file.write(about + "\n")


intro = Intro()
intro.fill_readme()
Binary file not shown.
12 changes: 12 additions & 0 deletions ColorThemes/Flat Madness Dark Remix.theme
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
@description Flat Madness Dark Remix
@version 1.0.0
@changelog
- Tweaked default define_paramteters
@provides Flat Madness Dark Remix.ReaperThemeZip
@author Dmytry Hapochka (edited by Ed Kashinsky)
@links
Forum Thread https://forum.cockos.com/showthread.php?t=247086
@screenshots
Overview https://stash.reaper.fm/44544/FM171D.png
@about
a brilliant flat theme for Reaper
Loading

0 comments on commit d45a9c3

Please sign in to comment.