diff --git a/Assets/fonts/theme-fonts.zip b/Assets/fonts/theme-fonts.zip new file mode 100644 index 0000000..715f441 Binary files /dev/null and b/Assets/fonts/theme-fonts.zip differ diff --git a/Assets/images/ableton_clip_shortcuts_demo.gif b/Assets/images/ableton_clip_shortcuts_demo.gif new file mode 100644 index 0000000..8996e44 Binary files /dev/null and b/Assets/images/ableton_clip_shortcuts_demo.gif differ diff --git a/Assets/images/ableton_clip_shortcuts_demo.png b/Assets/images/ableton_clip_shortcuts_demo.png new file mode 100644 index 0000000..1f1bdef Binary files /dev/null and b/Assets/images/ableton_clip_shortcuts_demo.png differ diff --git a/Assets/images/auto_grid_preview.gif b/Assets/images/auto_grid_preview.gif new file mode 100644 index 0000000..3bb4b8d Binary files /dev/null and b/Assets/images/auto_grid_preview.gif differ diff --git a/Assets/images/change_pitch_mode_preview.gif b/Assets/images/change_pitch_mode_preview.gif new file mode 100644 index 0000000..7736f14 Binary files /dev/null and b/Assets/images/change_pitch_mode_preview.gif differ diff --git a/Assets/images/change_pitch_preview.gif b/Assets/images/change_pitch_preview.gif new file mode 100644 index 0000000..8dd6090 Binary files /dev/null and b/Assets/images/change_pitch_preview.gif differ diff --git a/Assets/images/pin_items_to_markers_preview.gif b/Assets/images/pin_items_to_markers_preview.gif new file mode 100644 index 0000000..c7042c0 Binary files /dev/null and b/Assets/images/pin_items_to_markers_preview.gif differ diff --git a/Assets/images/prevent_pitch_preview.gif b/Assets/images/prevent_pitch_preview.gif new file mode 100644 index 0000000..ed81b4a Binary files /dev/null and b/Assets/images/prevent_pitch_preview.gif differ diff --git a/Assets/images/theme_preview.png b/Assets/images/theme_preview.png new file mode 100644 index 0000000..6f1b028 Binary files /dev/null and b/Assets/images/theme_preview.png differ diff --git a/Assets/images/trim_silence_edges_preview.gif b/Assets/images/trim_silence_edges_preview.gif new file mode 100644 index 0000000..8af5e9d Binary files /dev/null and b/Assets/images/trim_silence_edges_preview.gif differ diff --git a/Assets/intro.md b/Assets/intro.md new file mode 100644 index 0000000..1eecca9 --- /dev/null +++ b/Assets/intro.md @@ -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: + + + +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" + diff --git a/Assets/intro.py b/Assets/intro.py new file mode 100644 index 0000000..00814e7 --- /dev/null +++ b/Assets/intro.py @@ -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() diff --git a/ColorThemes/Flat Madness Dark Remix.ReaperThemeZip b/ColorThemes/Flat Madness Dark Remix.ReaperThemeZip new file mode 100644 index 0000000..c07fd92 Binary files /dev/null and b/ColorThemes/Flat Madness Dark Remix.ReaperThemeZip differ diff --git a/ColorThemes/Flat Madness Dark Remix.theme b/ColorThemes/Flat Madness Dark Remix.theme new file mode 100644 index 0000000..5f173ba --- /dev/null +++ b/ColorThemes/Flat Madness Dark Remix.theme @@ -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 \ No newline at end of file diff --git a/ColorThemes/Sources/Flat_madness_Dark_edition_EDIT.ReaperTheme b/ColorThemes/Sources/Flat_madness_Dark_edition_EDIT.ReaperTheme new file mode 100644 index 0000000..a998b96 --- /dev/null +++ b/ColorThemes/Sources/Flat_madness_Dark_edition_EDIT.ReaperTheme @@ -0,0 +1,381 @@ +[color theme] +activetake_tag=0 +areasel_drawmode=137217 +areasel_fill=12642591 +areasel_outline=13236992 +areasel_outlinemode=180224 +arrange_vgrid=4605510 +auto_item_unsel=6316128 +cc_chase_drawmode=147456 +col_arrangebg=4539717 +col_buttonbg=0 +col_cursor=8886323 +col_cursor2=8886323 +col_env1=5132772 +col_env10=558077 +col_env11=11055953 +col_env12=880378 +col_env13=5132772 +col_env14=5132772 +col_env15=5132772 +col_env16=5132772 +col_env2=5132772 +col_env3=558077 +col_env4=38655 +col_env5=11055953 +col_env6=12549713 +col_env7=14914968 +col_env8=558077 +col_env9=5132772 +col_envlane1_divline=7895154 +col_envlane2_divline=7895154 +col_explorer_sel=16777215 +col_explorer_seldm=157184 +col_explorer_seledge=13224393 +col_fadearm=136 +col_fadearm2=3757056 +col_fadearm3=0 +col_gridlines=0 +col_gridlines1dm=153856 +col_gridlines2=0 +col_gridlines2dm=180224 +col_gridlines3=0 +col_gridlines3dm=152576 +col_main_3dhl=3355443 +col_main_3dsh=3355443 +col_main_bg=-2144128205 +col_main_bg2=3355443 +col_main_editbk=5263440 +col_main_resize2=9216020 +col_main_text=9737364 +col_main_text2=7105644 +col_main_textshadow=3355443 +col_mi_bg=5197647 +col_mi_bg2=8421504 +col_mi_fade2=0 +col_mi_fade2_drawmode=144128 +col_mi_fades=3026478 +col_mi_label=2894892 +col_mi_label_float=13355979 +col_mi_label_float_sel=5329233 +col_mi_label_sel=4144959 +col_mixerbg=3355443 +col_nodarkmodemiscwnd=0 +col_offlinetext=4670000 +col_peaksedge=3881787 +col_peaksedge2=3881787 +col_peaksedgesel=14803425 +col_peaksedgesel2=14803425 +col_peaksfade=65280 +col_peaksfade2=255 +col_routinghl1=12648447 +col_routinghl2=16744576 +col_seltrack=8421504 +col_seltrack2=-2139127937 +col_stretchmarker=12961221 +col_stretchmarker_b=16777215 +col_stretchmarker_h0=12829635 +col_stretchmarker_h1=15505664 +col_stretchmarker_h2=223 +col_stretchmarker_text=13882323 +col_stretchmarker_tm=59904 +col_stretchmarkerm=174080 +col_tcp_text=1907218 +col_tcp_textsel=1907218 +col_tl_bg=3355443 +col_tl_bgsel=16777215 +col_tl_bgsel2=9276813 +col_tl_fg=7631988 +col_tl_fg2=6052956 +col_toolbar_frame=5131847 +col_toolbar_text=10461087 +col_toolbar_text_on=10009626 +col_tr1_bg=4342338 +col_tr1_divline=4342338 +col_tr1_itembgsel=8421504 +col_tr1_peaks=1447186 +col_tr1_ps2=-2145641704 +col_tr2_bg=4539717 +col_tr2_divline=4539717 +col_tr2_itembgsel=8421504 +col_tr2_peaks=1841944 +col_tr2_ps2=1841944 +col_tracklistbg=2500134 +col_trans_bg=4802889 +col_trans_fg=8553090 +col_transport_editbk=3355443 +col_tsigmark=1118734 +col_vubot=15841342 +col_vuclip=255 +col_vudoint=0 +col_vuind1=4276801 +col_vuind2=12632256 +col_vuind3=65312 +col_vuind4=65535 +col_vuintcol=4276801 +col_vumid=15841342 +col_vumidi=16777215 +col_vutop=15841342 +docker_bg=1907997 +docker_selface=3355443 +docker_shadow=3355443 +docker_text=9737364 +docker_text_sel=11645361 +docker_unselface=2631720 +env_item_mute=4078299 +env_item_pan=558077 +env_item_pitch=13133479 +env_item_vol=11055953 +env_sends_mute=4078299 +env_track_mute=5132772 +env_trim_vol=11055953 +explorer_grid=16777215 +explorer_pitchtext=16777215 +fadearea_color=16777215 +fadearea_drawmode=131072 +fadezone_color=0 +fadezone_drawmode=144128 +genlist_bg=3158064 +genlist_fg=9868950 +genlist_grid=4144959 +genlist_hilite=14680064 +genlist_hilite_sel=16761024 +genlist_selbg=2368548 +genlist_selfg=16777215 +genlist_seliabg=5789784 +genlist_seliafg=12698049 +group_0=255 +group_1=65280 +group_10=12583104 +group_11=12632064 +group_12=128 +group_13=32768 +group_14=8388608 +group_15=32896 +group_16=8388736 +group_17=8421376 +group_18=32960 +group_19=8437760 +group_2=16711680 +group_20=12615680 +group_21=32960 +group_22=12583040 +group_23=49280 +group_24=64 +group_25=16384 +group_26=4194304 +group_27=16448 +group_28=4194368 +group_29=4210688 +group_3=65535 +group_30=4194368 +group_31=4210688 +group_32=16777088 +group_33=8388736 +group_34=8453889 +group_35=16711808 +group_36=16776961 +group_37=8388609 +group_38=14745472 +group_39=8404864 +group_4=16711935 +group_40=8453920 +group_41=14696320 +group_42=14745376 +group_43=8404768 +group_44=12648320 +group_45=8421248 +group_46=8453952 +group_47=12615552 +group_48=12648256 +group_49=8421184 +group_5=16776960 +group_50=14712704 +group_51=8404800 +group_52=8421152 +group_53=14712704 +group_54=12648224 +group_55=12599168 +group_56=10551168 +group_57=8437632 +group_58=8453984 +group_59=10534784 +group_6=192 +group_60=10551136 +group_61=8437600 +group_62=10551136 +group_63=8437600 +group_7=49152 +group_8=12582912 +group_9=49344 +guideline_color=8224483 +guideline_drawmode=180224 +inactive_take_overlay_col=3158064 +inactive_take_overlay_mode=163840 +io_3dhl=3684408 +io_3dsh=3684408 +io_text=12961221 +item_grouphl=3192883 +itembg_drawmode=196608 +locked_overlay_col=0 +locked_overlay_mode=154627 +marker=6513507 +marker_lane_bg=3026478 +marker_lane_text=12434877 +marquee_drawmode=170495 +marquee_fill=7241856 +marquee_outline=16777215 +marqueezoom_drawmode=147458 +marqueezoom_fill=16777215 +marqueezoom_outline=65280 +mcp_fx_bypassed=14737632 +mcp_fx_normal=6645349 +mcp_fx_offlined=4406780 +mcp_fxparm_bypassed=895743 +mcp_fxparm_normal=7499885 +mcp_fxparm_offlined=255 +mcp_list_scrollbar=9211020 +mcp_list_scrollbar_mode=163840 +mcp_list_scrollbar_mouseover=10469184 +mcp_list_scrollbar_mouseover_mode=163840 +mcp_send_midihw=11590912 +mcp_sends_levels=4670000 +mcp_sends_muted=3568303 +mcp_sends_normal=12566463 +midi_ccbut=7303023 +midi_ccbut_arrow=7303023 +midi_ccbut_text=7303023 +midi_editcurs=8886323 +midi_endpt=10075411 +midi_grid1=0 +midi_grid2=16777215 +midi_grid3=0 +midi_griddm1=138752 +midi_griddm2=138752 +midi_griddm3=144128 +midi_gridh=0 +midi_gridhc=0 +midi_gridhcdm=196608 +midi_gridhdm=163840 +midi_inline_trackbg1=4605510 +midi_inline_trackbg2=4079166 +midi_itemctl=0 +midi_leftbg=3355443 +midi_notebg=0 +midi_notefg=16777215 +midi_notemute=128 +midi_notemute_sel=255 +midi_noteon_flash=64 +midi_ofsn=4802889 +midi_ofsnsel=10075411 +midi_pkey1=16777215 +midi_pkey2=0 +midi_pkey3=6118749 +midi_rulerbg=3355443 +midi_rulerfg=7631988 +midi_selbg=16777215 +midi_selbg_drawmode=135169 +midi_selpitch1=2500134 +midi_selpitch2=2500134 +midi_trackbg1=4605510 +midi_trackbg2=4079166 +midi_trackbg_outer1=3355443 +midi_trackbg_outer2=3552822 +midieditorlist_bg=5526612 +midieditorlist_bg2=12961221 +midieditorlist_fg=14737632 +midieditorlist_fg2=4605508 +midieditorlist_grid=11645355 +midieditorlist_selbg=15790318 +midieditorlist_selbg2=14277078 +midieditorlist_selfg=2894890 +midieditorlist_selfg2=5066059 +midieditorlist_seliabg=15790320 +midieditorlist_seliafg=0 +midifont_col_dark=0 +midifont_col_dark_unsel=0 +midifont_col_light=16777215 +midifont_col_light_unsel=16777215 +midifont_mode=180224 +midifont_mode_unsel=163840 +midioct=3026478 +midioct_inline=3026478 +mute_overlay_col=3158064 +mute_overlay_mode=163840 +playcursor_color=5425391 +playcursor_drawmode=163840 +playrate_edited=11337472 +region=1475837 +region_lane_bg=2829099 +region_lane_text=0 +score_bg=16777215 +score_fg=0 +score_loop=49407 +score_sel=16711680 +score_timesel=14745599 +selcol_tr1_bg=4342338 +selcol_tr2_bg=4539717 +selitem_tag=0 +take_marker=65535 +tcp_list_scrollbar=3289650 +tcp_list_scrollbar_mode=163840 +tcp_list_scrollbar_mouseover=1973790 +tcp_list_scrollbar_mouseover_mode=163840 +tcplocked_color=3355443 +tcplocked_drawmode=180224 +timesel_drawmode=135424 +timesig_sel_bg=160 +toolbararmed_color=9216020 +toolbararmed_drawmode=196863 +ts_lane_bg=3355443 +ts_lane_text=10855845 +windowtab_bg=3947580 +wiring_border=10066329 +wiring_fader=12615808 +wiring_grid=3355443 +wiring_grid2=3026478 +wiring_horz_col=4737096 +wiring_hwout=4210752 +wiring_hwoutwire=8421504 +wiring_media=2113568 +wiring_parent=8421440 +wiring_parentwire_border=6579300 +wiring_parentwire_folder=8421504 +wiring_parentwire_master=12632256 +wiring_pin_connected=6328416 +wiring_pin_disconnected=2105408 +wiring_pin_normal=12632256 +wiring_recbg=5066085 +wiring_recinput=4210816 +wiring_recinputwire=8421631 +wiring_recitem=2171199 +wiring_recv=6052956 +wiring_send=6052956 +wiring_sendwire=8421504 +wiring_tbg=2500134 +wiring_ticon=13421772 + +[REAPER] +lb_font=0B000000000000000000000000000000900100000000000003020122466972612053616E730053616E73205365726966000000000000000000000000A9 +lb_font2=18000000000000000000000000000000900100000000000003020122466972612053616E73006C670000000000000000000000000000000000000000DB +mi_font=0C000000000000000000000000000000900100000000000003020122466972612053616E730053616E73205365726966000000000000000000000000AA +tl_font=0C000000000000000000000000000000BC0200000000000003020122466972612053616E730053616E73205365726966000000000000000000000000D7 +trans_font=16000000000000000000000000000000900100000000000003020122417269616C00696361204E657565006172726F77000000000000000000000000BD +ui_img=Flat Madness 3.7 Dark.ReaperThemeZip +user_font0=0C000000000000000000000000000000900100000000000003020122466972612053616E730053616E73205365726966000000000000000000000000AA +user_font1=0E000000000000000000000000000000900100000000000003020122466972612053616E730000000000000000000000000000000000000000000000FE +user_font10=18000000000000000000000000000000900100000000000003020122466972612053616E730053616E73205365726966000000000000000000000000B6 +user_font11=18000000000000000000000000000000900100000000000003020122466972612053616E730053616E73205365726966000000000000000000000000B6 +user_font12=1C000000000000000000000000000000900100000000000003020122466972612053616E730053616E73205365726966000000000000000000000000BA +user_font13=18000000000000000000000000000000900100000000000003020122466972612053616E730053616E73205365726966000000000000000000000000B6 +user_font14=18000000000000000000000000000000900100000000000003020122466972612053616E730053616E73205365726966000000000000000000000000B6 +user_font15=18000000000000000000000000000000900100000000000003020122466972612053616E730053616E73205365726966000000000000000000000000B6 +user_font2=0F000000000000000000000000000000900100000000000003020122466972612053616E730000000000000000000000000000000000000000000000FF +user_font3=18000000000000000000000000000000900100000000000003020122466972612053616E7300676874000000000000000000000000000000000000004B +user_font4=18000000000000000000000000000000900100000000000003020122466972612053616E73005F363500000000000000000000000000000000000000D2 +user_font5=18000000000000000000000000000000900100000000000003020122466972612053616E73000000000000000000000000000000000000000000000008 +user_font6=18000000000000000000000000000000900100000000000003020122466972612053616E73000000000000000000000000000000000000000000000008 +user_font7=18000000000000000000000000000000900100000000000003020122466972612053616E73000000000000000000000000000000000000000000000008 +user_font8=18000000000000000000000000000000900100000000000003020122466972612053616E730053616E73205365726966000000000000000000000000B6 +user_font9=18000000000000000000000000000000900100000000000003020122466972612053616E730053616E73205365726966000000000000000000000000B6 + diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/BLUE/mcp_volthumb.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/BLUE/mcp_volthumb.png" new file mode 100644 index 0000000..ee4d768 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/BLUE/mcp_volthumb.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/BLUE/tcp_vol_knob_stack.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/BLUE/tcp_vol_knob_stack.png" new file mode 100644 index 0000000..c9a548a Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/BLUE/tcp_vol_knob_stack.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/CYAN/mcp_volthumb.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/CYAN/mcp_volthumb.png" new file mode 100644 index 0000000..4d8572c Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/CYAN/mcp_volthumb.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/CYAN/tcp_vol_knob_stack.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/CYAN/tcp_vol_knob_stack.png" new file mode 100644 index 0000000..d1e8b99 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/CYAN/tcp_vol_knob_stack.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/GREEN/mcp_volthumb.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/GREEN/mcp_volthumb.png" new file mode 100644 index 0000000..f59a78f Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/GREEN/mcp_volthumb.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/GREEN/tcp_vol_knob_stack.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/GREEN/tcp_vol_knob_stack.png" new file mode 100644 index 0000000..c1a2020 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/GREEN/tcp_vol_knob_stack.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/GREY/mcp_volthumb.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/GREY/mcp_volthumb.png" new file mode 100644 index 0000000..5960459 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/GREY/mcp_volthumb.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/GREY/tcp_vol_knob_stack.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/GREY/tcp_vol_knob_stack.png" new file mode 100644 index 0000000..dc6fec4 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/GREY/tcp_vol_knob_stack.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/METERBRIDGE/mcp_bg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/METERBRIDGE/mcp_bg.png" new file mode 100644 index 0000000..a43ce44 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/METERBRIDGE/mcp_bg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/METERBRIDGE/mcp_bgsel .png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/METERBRIDGE/mcp_bgsel .png" new file mode 100644 index 0000000..e2b5189 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/METERBRIDGE/mcp_bgsel .png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/METERBRIDGE/mcp_bgsel.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/METERBRIDGE/mcp_bgsel.png" new file mode 100644 index 0000000..e2b5189 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/METERBRIDGE/mcp_bgsel.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/METERBRIDGE/mcp_idxbg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/METERBRIDGE/mcp_idxbg.png" new file mode 100644 index 0000000..af71eab Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/METERBRIDGE/mcp_idxbg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/METERBRIDGE/mcp_idxbg_sel.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/METERBRIDGE/mcp_idxbg_sel.png" new file mode 100644 index 0000000..d23c213 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/METERBRIDGE/mcp_idxbg_sel.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/METERBRIDGE/mcp_io.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/METERBRIDGE/mcp_io.png" new file mode 100644 index 0000000..51dff88 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/METERBRIDGE/mcp_io.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/METERBRIDGE/mcp_io_dis.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/METERBRIDGE/mcp_io_dis.png" new file mode 100644 index 0000000..ade1e64 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/METERBRIDGE/mcp_io_dis.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/METERBRIDGE/mcp_io_r.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/METERBRIDGE/mcp_io_r.png" new file mode 100644 index 0000000..fdbeffc Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/METERBRIDGE/mcp_io_r.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/METERBRIDGE/mcp_io_r_dis.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/METERBRIDGE/mcp_io_r_dis.png" new file mode 100644 index 0000000..c264430 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/METERBRIDGE/mcp_io_r_dis.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/METERBRIDGE/mcp_io_s.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/METERBRIDGE/mcp_io_s.png" new file mode 100644 index 0000000..ef91b48 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/METERBRIDGE/mcp_io_s.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/METERBRIDGE/mcp_io_s_dis.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/METERBRIDGE/mcp_io_s_dis.png" new file mode 100644 index 0000000..753b053 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/METERBRIDGE/mcp_io_s_dis.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/METERBRIDGE/mcp_io_s_r.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/METERBRIDGE/mcp_io_s_r.png" new file mode 100644 index 0000000..e282124 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/METERBRIDGE/mcp_io_s_r.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/METERBRIDGE/mcp_io_s_r_dis.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/METERBRIDGE/mcp_io_s_r_dis.png" new file mode 100644 index 0000000..b009cf9 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/METERBRIDGE/mcp_io_s_r_dis.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/METERBRIDGE/mcp_pan_knob_stack.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/METERBRIDGE/mcp_pan_knob_stack.png" new file mode 100644 index 0000000..4870082 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/METERBRIDGE/mcp_pan_knob_stack.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/METERBRIDGE/mcp_pan_label.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/METERBRIDGE/mcp_pan_label.png" new file mode 100644 index 0000000..398b13d Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/METERBRIDGE/mcp_pan_label.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/METERBRIDGE/mcp_vol_label.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/METERBRIDGE/mcp_vol_label.png" new file mode 100644 index 0000000..9a559d5 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/METERBRIDGE/mcp_vol_label.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/METERBRIDGE/mcp_volbg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/METERBRIDGE/mcp_volbg.png" new file mode 100644 index 0000000..8881a93 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/METERBRIDGE/mcp_volbg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/METERBRIDGE/mcp_wid_label.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/METERBRIDGE/mcp_wid_label.png" new file mode 100644 index 0000000..398b13d Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/METERBRIDGE/mcp_wid_label.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/METERBRIDGE/meter_bg_mcp.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/METERBRIDGE/meter_bg_mcp.png" new file mode 100644 index 0000000..83fef27 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/METERBRIDGE/meter_bg_mcp.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/METERBRIDGE/meter_bg_v.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/METERBRIDGE/meter_bg_v.png" new file mode 100644 index 0000000..83fef27 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/METERBRIDGE/meter_bg_v.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/METERBRIDGE/meter_ol_mcp.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/METERBRIDGE/meter_ol_mcp.png" new file mode 100644 index 0000000..398b13d Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/METERBRIDGE/meter_ol_mcp.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/PINK/mcp_volthumb.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/PINK/mcp_volthumb.png" new file mode 100644 index 0000000..f4841ef Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/PINK/mcp_volthumb.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/PINK/tcp_vol_knob_stack.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/PINK/tcp_vol_knob_stack.png" new file mode 100644 index 0000000..80cc6d3 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/PINK/tcp_vol_knob_stack.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/SEPARATOR/mcp_bg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/SEPARATOR/mcp_bg.png" new file mode 100644 index 0000000..c22154c Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/SEPARATOR/mcp_bg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/SEPARATOR/mcp_bgsel.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/SEPARATOR/mcp_bgsel.png" new file mode 100644 index 0000000..d9ab456 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/SEPARATOR/mcp_bgsel.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/SEPARATOR/tcp_bg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/SEPARATOR/tcp_bg.png" new file mode 100644 index 0000000..b549384 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/SEPARATOR/tcp_bg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/SEPARATOR/tcp_bgsel.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/SEPARATOR/tcp_bgsel.png" new file mode 100644 index 0000000..28ae3fe Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/SEPARATOR/tcp_bgsel.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/SOLID COLOR/mcp_bg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/SOLID COLOR/mcp_bg.png" new file mode 100644 index 0000000..c1d5353 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/SOLID COLOR/mcp_bg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/SOLID COLOR/mcp_bgsel.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/SOLID COLOR/mcp_bgsel.png" new file mode 100644 index 0000000..fdde246 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/SOLID COLOR/mcp_bgsel.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/SOLID COLOR/mcp_fxlist_bg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/SOLID COLOR/mcp_fxlist_bg.png" new file mode 100644 index 0000000..262674a Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/SOLID COLOR/mcp_fxlist_bg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/SOLID COLOR/tcp_bg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/SOLID COLOR/tcp_bg.png" new file mode 100644 index 0000000..5444176 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/SOLID COLOR/tcp_bg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/SOLID COLOR/tcp_bgsel.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/SOLID COLOR/tcp_bgsel.png" new file mode 100644 index 0000000..4f9e12c Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/SOLID COLOR/tcp_bgsel.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/Transport_bpm_bg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/Transport_bpm_bg.png" new file mode 100644 index 0000000..31da531 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/Transport_bpm_bg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/Transport_end.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/Transport_end.png" new file mode 100644 index 0000000..a17a99b Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/Transport_end.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/Transport_home.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/Transport_home.png" new file mode 100644 index 0000000..89438d8 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/Transport_home.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/Transport_next.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/Transport_next.png" new file mode 100644 index 0000000..ecefec3 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/Transport_next.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/Transport_pause.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/Transport_pause.png" new file mode 100644 index 0000000..35fa91f Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/Transport_pause.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/Transport_pause_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/Transport_pause_on.png" new file mode 100644 index 0000000..4235a0f Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/Transport_pause_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/Transport_play.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/Transport_play.png" new file mode 100644 index 0000000..0547f5e Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/Transport_play.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/Transport_play_Sync.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/Transport_play_Sync.png" new file mode 100644 index 0000000..793e9b9 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/Transport_play_Sync.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/Transport_play_Sync_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/Transport_play_Sync_on.png" new file mode 100644 index 0000000..14ffbf9 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/Transport_play_Sync_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/Transport_play_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/Transport_play_on.png" new file mode 100644 index 0000000..f399f1e Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/Transport_play_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/Transport_playspeedbg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/Transport_playspeedbg.png" new file mode 100644 index 0000000..ed15bfa Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/Transport_playspeedbg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/Transport_previous.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/Transport_previous.png" new file mode 100644 index 0000000..4ee3f56 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/Transport_previous.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/Transport_record.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/Transport_record.png" new file mode 100644 index 0000000..4a1b144 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/Transport_record.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/Transport_record_item.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/Transport_record_item.png" new file mode 100644 index 0000000..dfa208c Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/Transport_record_item.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/Transport_record_item_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/Transport_record_item_on.png" new file mode 100644 index 0000000..ae240f8 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/Transport_record_item_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/Transport_record_loop.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/Transport_record_loop.png" new file mode 100644 index 0000000..e405dbc Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/Transport_record_loop.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/Transport_record_loop_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/Transport_record_loop_on.png" new file mode 100644 index 0000000..3dc3ec7 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/Transport_record_loop_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/Transport_record_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/Transport_record_on.png" new file mode 100644 index 0000000..d056d72 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/Transport_record_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/Transport_repeat_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/Transport_repeat_off.png" new file mode 100644 index 0000000..8720c27 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/Transport_repeat_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/Transport_repeat_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/Transport_repeat_on.png" new file mode 100644 index 0000000..014a447 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/Transport_repeat_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/Transport_stop.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/Transport_stop.png" new file mode 100644 index 0000000..4409ad6 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/Transport_stop.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/envcp_bypass_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/envcp_bypass_off.png" new file mode 100644 index 0000000..8db9811 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/envcp_bypass_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/envcp_bypass_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/envcp_bypass_on.png" new file mode 100644 index 0000000..5f48709 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/envcp_bypass_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/envcp_fader.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/envcp_fader.png" new file mode 100644 index 0000000..5461b32 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/envcp_fader.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/envcp_faderbg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/envcp_faderbg.png" new file mode 100644 index 0000000..9c00ddc Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/envcp_faderbg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/envcp_learn.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/envcp_learn.png" new file mode 100644 index 0000000..7925afb Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/envcp_learn.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/envcp_learn_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/envcp_learn_on.png" new file mode 100644 index 0000000..dc06e86 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/envcp_learn_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/envcp_namebg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/envcp_namebg.png" new file mode 100644 index 0000000..8a84199 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/envcp_namebg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/envcp_parammod.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/envcp_parammod.png" new file mode 100644 index 0000000..7ae4d12 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/envcp_parammod.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/envcp_parammod_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/envcp_parammod_on.png" new file mode 100644 index 0000000..be082dc Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/envcp_parammod_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/folder_indent.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/folder_indent.png" new file mode 100644 index 0000000..ab42cc1 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/folder_indent.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/gen_env.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/gen_env.png" new file mode 100644 index 0000000..42062be Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/gen_env.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/gen_env_latch.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/gen_env_latch.png" new file mode 100644 index 0000000..147dcce Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/gen_env_latch.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/gen_env_preview.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/gen_env_preview.png" new file mode 100644 index 0000000..837e1d3 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/gen_env_preview.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/gen_env_read.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/gen_env_read.png" new file mode 100644 index 0000000..29fc09f Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/gen_env_read.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/gen_env_touch.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/gen_env_touch.png" new file mode 100644 index 0000000..cf99fed Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/gen_env_touch.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/gen_env_write.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/gen_env_write.png" new file mode 100644 index 0000000..82ade7c Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/gen_env_write.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/gen_midi_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/gen_midi_off.png" new file mode 100644 index 0000000..d6aca45 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/gen_midi_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/gen_midi_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/gen_midi_on.png" new file mode 100644 index 0000000..5e18049 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/gen_midi_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/gen_mono.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/gen_mono.png" new file mode 100644 index 0000000..f176333 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/gen_mono.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/gen_mute_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/gen_mute_off.png" new file mode 100644 index 0000000..3c5249a Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/gen_mute_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/gen_mute_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/gen_mute_on.png" new file mode 100644 index 0000000..2799153 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/gen_mute_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/gen_panbg_horz.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/gen_panbg_horz.png" new file mode 100644 index 0000000..de1c0d0 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/gen_panbg_horz.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/gen_panthumb_horz.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/gen_panthumb_horz.png" new file mode 100644 index 0000000..929a8ab Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/gen_panthumb_horz.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/gen_phase_inv.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/gen_phase_inv.png" new file mode 100644 index 0000000..a3cbff3 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/gen_phase_inv.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/gen_phase_norm.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/gen_phase_norm.png" new file mode 100644 index 0000000..80b9dda Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/gen_phase_norm.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/gen_stereo.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/gen_stereo.png" new file mode 100644 index 0000000..16fbba5 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/gen_stereo.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/gen_volbg_horz.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/gen_volbg_horz.png" new file mode 100644 index 0000000..de1c0d0 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/gen_volbg_horz.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/gen_volbg_vert.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/gen_volbg_vert.png" new file mode 100644 index 0000000..cf0a402 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/gen_volbg_vert.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/gen_volthumb_horz.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/gen_volthumb_horz.png" new file mode 100644 index 0000000..929a8ab Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/gen_volthumb_horz.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/gen_volthumb_vert.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/gen_volthumb_vert.png" new file mode 100644 index 0000000..407f36d Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/gen_volthumb_vert.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/global_bypass.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/global_bypass.png" new file mode 100644 index 0000000..3d2f007 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/global_bypass.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/global_latch.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/global_latch.png" new file mode 100644 index 0000000..f2a978c Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/global_latch.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/global_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/global_off.png" new file mode 100644 index 0000000..ce0ebee Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/global_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/global_preview.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/global_preview.png" new file mode 100644 index 0000000..7327d3d Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/global_preview.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/global_read.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/global_read.png" new file mode 100644 index 0000000..58631b8 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/global_read.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/global_touch.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/global_touch.png" new file mode 100644 index 0000000..be1031e Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/global_touch.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/global_trim.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/global_trim.png" new file mode 100644 index 0000000..9541844 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/global_trim.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/global_write.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/global_write.png" new file mode 100644 index 0000000..9dabe7f Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/global_write.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/item_env_off_hidpi.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/item_env_off_hidpi.png" new file mode 100644 index 0000000..3151d9c Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/item_env_off_hidpi.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/item_env_on_hidpi.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/item_env_on_hidpi.png" new file mode 100644 index 0000000..57a93e2 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/item_env_on_hidpi.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/item_fx_off_hidpi.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/item_fx_off_hidpi.png" new file mode 100644 index 0000000..069e887 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/item_fx_off_hidpi.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/item_fx_on_hidpi.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/item_fx_on_hidpi.png" new file mode 100644 index 0000000..e049498 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/item_fx_on_hidpi.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/item_group_hidpi.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/item_group_hidpi.png" new file mode 100644 index 0000000..fac453a Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/item_group_hidpi.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/item_group_off_hidpi.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/item_group_off_hidpi.png" new file mode 100644 index 0000000..3a928a0 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/item_group_off_hidpi.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/item_lock_off_hidpi.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/item_lock_off_hidpi.png" new file mode 100644 index 0000000..b9401e3 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/item_lock_off_hidpi.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/item_lock_on_hidpi.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/item_lock_on_hidpi.png" new file mode 100644 index 0000000..1ea62f7 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/item_lock_on_hidpi.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/item_loop_hidpi.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/item_loop_hidpi.png" new file mode 100755 index 0000000..f31f49f Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/item_loop_hidpi.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/item_loop_off_hidpi.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/item_loop_off_hidpi.png" new file mode 100644 index 0000000..c482107 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/item_loop_off_hidpi.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/item_mute_off_hidpi.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/item_mute_off_hidpi.png" new file mode 100644 index 0000000..aa9a51c Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/item_mute_off_hidpi.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/item_mute_on_hidpi.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/item_mute_on_hidpi.png" new file mode 100644 index 0000000..0acf921 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/item_mute_on_hidpi.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/item_note_off_hidpi.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/item_note_off_hidpi.png" new file mode 100644 index 0000000..4e02458 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/item_note_off_hidpi.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/item_note_on_hidpi.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/item_note_on_hidpi.png" new file mode 100644 index 0000000..0c7261f Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/item_note_on_hidpi.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/item_props_hidpi.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/item_props_hidpi.png" new file mode 100755 index 0000000..cba12a7 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/item_props_hidpi.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/item_props_off_hidpi.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/item_props_off_hidpi.png" new file mode 100644 index 0000000..15f06ca Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/item_props_off_hidpi.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/item_props_on_hidpi.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/item_props_on_hidpi.png" new file mode 100644 index 0000000..5166117 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/item_props_on_hidpi.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_bg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_bg.png" new file mode 100644 index 0000000..0004eda Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_bg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_bgsel.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_bgsel.png" new file mode 100644 index 0000000..4ee0f61 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_bgsel.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_fcomp_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_fcomp_off.png" new file mode 100644 index 0000000..ac898ff Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_fcomp_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_fcomp_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_fcomp_on.png" new file mode 100644 index 0000000..b3fdb98 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_fcomp_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_fcomp_tiny.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_fcomp_tiny.png" new file mode 100644 index 0000000..3cd2a02 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_fcomp_tiny.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_folder.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_folder.png" new file mode 100644 index 0000000..75c3b1a Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_folder.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_folder_last.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_folder_last.png" new file mode 100644 index 0000000..e12ce9b Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_folder_last.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_folder_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_folder_on.png" new file mode 100644 index 0000000..d86b5c2 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_folder_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_fx_in_empty.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_fx_in_empty.png" new file mode 100644 index 0000000..aedba65 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_fx_in_empty.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_fx_in_norm.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_fx_in_norm.png" new file mode 100644 index 0000000..b2af83e Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_fx_in_norm.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_fxlist_bg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_fxlist_bg.png" new file mode 100644 index 0000000..dbb75a2 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_fxlist_bg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_fxlist_byp.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_fxlist_byp.png" new file mode 100644 index 0000000..08cabd0 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_fxlist_byp.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_fxlist_empty.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_fxlist_empty.png" new file mode 100644 index 0000000..f131f14 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_fxlist_empty.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_fxlist_norm.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_fxlist_norm.png" new file mode 100644 index 0000000..c04358c Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_fxlist_norm.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_fxlist_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_fxlist_off.png" new file mode 100644 index 0000000..08cabd0 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_fxlist_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_fxparm_bg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_fxparm_bg.png" new file mode 100644 index 0000000..f1444c1 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_fxparm_bg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_fxparm_empty.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_fxparm_empty.png" new file mode 100644 index 0000000..f0c7dc9 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_fxparm_empty.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_fxparm_knob_stack.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_fxparm_knob_stack.png" new file mode 100644 index 0000000..359e768 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_fxparm_knob_stack.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_fxparm_norm.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_fxparm_norm.png" new file mode 100644 index 0000000..888e11b Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_fxparm_norm.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_idxbg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_idxbg.png" new file mode 100644 index 0000000..28b2e68 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_idxbg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_idxbg_sel.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_idxbg_sel.png" new file mode 100644 index 0000000..cfef376 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_idxbg_sel.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_io.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_io.png" new file mode 100644 index 0000000..76078f2 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_io.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_io_dis.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_io_dis.png" new file mode 100644 index 0000000..1c194eb Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_io_dis.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_io_r.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_io_r.png" new file mode 100644 index 0000000..fb1ecc7 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_io_r.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_io_r_dis.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_io_r_dis.png" new file mode 100644 index 0000000..2c22a6b Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_io_r_dis.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_io_s .png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_io_s .png" new file mode 100644 index 0000000..555a848 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_io_s .png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_io_s.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_io_s.png" new file mode 100644 index 0000000..206488b Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_io_s.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_io_s_dis.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_io_s_dis.png" new file mode 100644 index 0000000..3b9fc30 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_io_s_dis.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_io_s_r.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_io_s_r.png" new file mode 100644 index 0000000..2e382d9 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_io_s_r.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_io_s_r_dis.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_io_s_r_dis.png" new file mode 100644 index 0000000..a9713ff Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_io_s_r_dis.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_mainbg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_mainbg.png" new file mode 100644 index 0000000..df3519a Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_mainbg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_mainbgsel.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_mainbgsel.png" new file mode 100644 index 0000000..b93403e Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_mainbgsel.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_master_vol_label.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_master_vol_label.png" new file mode 100644 index 0000000..a12c22d Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_master_vol_label.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_master_volbg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_master_volbg.png" new file mode 100644 index 0000000..629f467 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_master_volbg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_mono.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_mono.png" new file mode 100644 index 0000000..8f42995 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_mono.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_mute_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_mute_off.png" new file mode 100644 index 0000000..11d838a Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_mute_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_phase_norm.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_phase_norm.png" new file mode 100644 index 0000000..57b8846 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_phase_norm.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_send_knob_stack.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_send_knob_stack.png" new file mode 100644 index 0000000..78ddafb Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_send_knob_stack.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_sendlist_bg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_sendlist_bg.png" new file mode 100644 index 0000000..8886b24 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_sendlist_bg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_sendlist_mute.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_sendlist_mute.png" new file mode 100644 index 0000000..6cc6c93 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_sendlist_mute.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_sendlist_norm.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_sendlist_norm.png" new file mode 100644 index 0000000..03076c2 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_sendlist_norm.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_senslist_knob_stack.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_senslist_knob_stack.png" new file mode 100644 index 0000000..359e768 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_senslist_knob_stack.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_solo_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_solo_off.png" new file mode 100644 index 0000000..871352d Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_solo_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_stereo.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_stereo.png" new file mode 100644 index 0000000..c7039c6 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_stereo.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_vol_label.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_vol_label.png" new file mode 100644 index 0000000..ff4b6af Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_vol_label.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_volbg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_volbg.png" new file mode 100644 index 0000000..8dae523 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_volbg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_volthumb.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_volthumb.png" new file mode 100644 index 0000000..69a3d30 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/mcp_volthumb.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/meter_bg_mcp_master.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/meter_bg_mcp_master.png" new file mode 100644 index 0000000..4dcfc0d Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/meter_bg_mcp_master.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/meter_ol_mcp.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/meter_ol_mcp.png" new file mode 100644 index 0000000..0d5abdb Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/meter_ol_mcp.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/meter_ol_mcp_master.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/meter_ol_mcp_master.png" new file mode 100644 index 0000000..7bd8520 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/meter_ol_mcp_master.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/meter_ol_tcp.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/meter_ol_tcp.png" new file mode 100644 index 0000000..56212ed Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/meter_ol_tcp.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/midi_inline_ccwithitems_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/midi_inline_ccwithitems_off.png" new file mode 100644 index 0000000..d8509d8 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/midi_inline_ccwithitems_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/midi_inline_ccwithitems_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/midi_inline_ccwithitems_on.png" new file mode 100644 index 0000000..a101913 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/midi_inline_ccwithitems_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/midi_inline_close.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/midi_inline_close.png" new file mode 100644 index 0000000..d7fd97b Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/midi_inline_close.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/midi_inline_fold_none.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/midi_inline_fold_none.png" new file mode 100644 index 0000000..ff98b68 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/midi_inline_fold_none.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/midi_inline_fold_unnamed.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/midi_inline_fold_unnamed.png" new file mode 100644 index 0000000..81c59b9 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/midi_inline_fold_unnamed.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/midi_inline_fold_unused.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/midi_inline_fold_unused.png" new file mode 100644 index 0000000..ea5c59f Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/midi_inline_fold_unused.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/midi_inline_fold_unused_unnamed.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/midi_inline_fold_unused_unnamed.png" new file mode 100644 index 0000000..fbd443e Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/midi_inline_fold_unused_unnamed.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/midi_inline_noteview_diamond.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/midi_inline_noteview_diamond.png" new file mode 100644 index 0000000..ff399a8 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/midi_inline_noteview_diamond.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/midi_inline_noteview_rect.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/midi_inline_noteview_rect.png" new file mode 100644 index 0000000..5cfb713 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/midi_inline_noteview_rect.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/midi_inline_noteview_triangle.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/midi_inline_noteview_triangle.png" new file mode 100644 index 0000000..82b6f15 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/midi_inline_noteview_triangle.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/midi_inline_scroll.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/midi_inline_scroll.png" new file mode 100644 index 0000000..65cee9c Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/midi_inline_scroll.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/midi_inline_scrollbar.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/midi_inline_scrollbar.png" new file mode 100644 index 0000000..a89532c Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/midi_inline_scrollbar.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/midi_inline_scrollthumb.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/midi_inline_scrollthumb.png" new file mode 100644 index 0000000..4912d67 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/midi_inline_scrollthumb.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/mixer_menu.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/mixer_menu.png" new file mode 100644 index 0000000..e75f606 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/mixer_menu.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/scrollbar.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/scrollbar.png" new file mode 100644 index 0000000..04d7a56 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/scrollbar.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/table_expand_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/table_expand_off.png" new file mode 100644 index 0000000..3f7cedf Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/table_expand_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/table_expand_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/table_expand_on.png" new file mode 100644 index 0000000..730c17d Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/table_expand_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/table_locked_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/table_locked_off.png" new file mode 100644 index 0000000..6d8fbfe Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/table_locked_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/table_locked_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/table_locked_on.png" new file mode 100644 index 0000000..474eb42 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/table_locked_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/table_locked_partial.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/table_locked_partial.png" new file mode 100644 index 0000000..98a2557 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/table_locked_partial.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/table_mute_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/table_mute_off.png" new file mode 100644 index 0000000..9655243 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/table_mute_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/table_mute_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/table_mute_on.png" new file mode 100644 index 0000000..932f33a Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/table_mute_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/table_recarm_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/table_recarm_off.png" new file mode 100644 index 0000000..8e4c063 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/table_recarm_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/table_recarm_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/table_recarm_on.png" new file mode 100644 index 0000000..01fcef5 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/table_recarm_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/table_solo_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/table_solo_off.png" new file mode 100644 index 0000000..ca119e1 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/table_solo_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/table_solo_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/table_solo_on.png" new file mode 100644 index 0000000..a35e34e Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/table_solo_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/table_sub_expand_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/table_sub_expand_off.png" new file mode 100644 index 0000000..3c98838 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/table_sub_expand_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/table_sub_expand_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/table_sub_expand_on.png" new file mode 100644 index 0000000..cfdd389 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/table_sub_expand_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/table_target_invalid.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/table_target_invalid.png" new file mode 100644 index 0000000..28340a9 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/table_target_invalid.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/table_target_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/table_target_off.png" new file mode 100644 index 0000000..c1fe1a9 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/table_target_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/table_target_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/table_target_on.png" new file mode 100644 index 0000000..aac707d Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/table_target_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/table_visible_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/table_visible_on.png" new file mode 100644 index 0000000..1f19937 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/table_visible_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/table_visible_partial.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/table_visible_partial.png" new file mode 100644 index 0000000..bf30e2e Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/table_visible_partial.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_bg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_bg.png" new file mode 100644 index 0000000..7f798ab Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_bg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_bgsel.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_bgsel.png" new file mode 100644 index 0000000..8afb58e Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_bgsel.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_fxparm_empty.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_fxparm_empty.png" new file mode 100644 index 0000000..c7ac662 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_fxparm_empty.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_fxparm_fx_byp.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_fxparm_fx_byp.png" new file mode 100644 index 0000000..2dcba2d Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_fxparm_fx_byp.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_fxparm_fx_empty.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_fxparm_fx_empty.png" new file mode 100644 index 0000000..c7ac662 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_fxparm_fx_empty.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_fxparm_fx_norm.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_fxparm_fx_norm.png" new file mode 100644 index 0000000..b0bd2ef Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_fxparm_fx_norm.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_fxparm_fx_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_fxparm_fx_off.png" new file mode 100644 index 0000000..f055b58 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_fxparm_fx_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_fxparm_knob_stack.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_fxparm_knob_stack.png" new file mode 100644 index 0000000..97e1c9e Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_fxparm_knob_stack.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_fxparm_norm.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_fxparm_norm.png" new file mode 100644 index 0000000..4ae2117 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_fxparm_norm.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_idxbg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_idxbg.png" new file mode 100644 index 0000000..5003c00 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_idxbg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_idxbg_sel.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_idxbg_sel.png" new file mode 100644 index 0000000..4402863 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_idxbg_sel.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_longname/tcp_idxbg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_longname/tcp_idxbg.png" new file mode 100644 index 0000000..930a018 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_longname/tcp_idxbg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_longname/tcp_idxbg_sel.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_longname/tcp_idxbg_sel.png" new file mode 100644 index 0000000..f57a10a Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_longname/tcp_idxbg_sel.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_longname/tcp_namebg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_longname/tcp_namebg.png" new file mode 100644 index 0000000..b1c20c4 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_longname/tcp_namebg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_mainbg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_mainbg.png" new file mode 100644 index 0000000..08a52ab Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_mainbg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_mainbgsel.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_mainbgsel.png" new file mode 100644 index 0000000..d5ed2f6 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_mainbgsel.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_pan_knob_stack.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_pan_knob_stack.png" new file mode 100644 index 0000000..47107f8 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_pan_knob_stack.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_pan_knob_stack_1.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_pan_knob_stack_1.png" new file mode 100644 index 0000000..1bfce88 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_pan_knob_stack_1.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_pan_knob_stack_2.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_pan_knob_stack_2.png" new file mode 100644 index 0000000..a877ea3 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_pan_knob_stack_2.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_pan_label.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_pan_label.png" new file mode 100644 index 0000000..e05ab30 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_pan_label.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_recinput.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_recinput.png" new file mode 100644 index 0000000..31873c0 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_recinput.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_send_knob_stack.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_send_knob_stack.png" new file mode 100644 index 0000000..d13c93b Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_send_knob_stack.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_sendlist_mute.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_sendlist_mute.png" new file mode 100644 index 0000000..69f3586 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_sendlist_mute.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_sendlist_norm.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_sendlist_norm.png" new file mode 100644 index 0000000..dd3dfe3 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_sendlist_norm.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_vol_knob_stack.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_vol_knob_stack.png" new file mode 100644 index 0000000..8644f91 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_vol_knob_stack.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_vol_label.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_vol_label.png" new file mode 100644 index 0000000..e05ab30 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_vol_label.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_wid_knob_stack.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_wid_knob_stack.png" new file mode 100644 index 0000000..04ef183 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_wid_knob_stack.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_wid_knob_stack_1.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_wid_knob_stack_1.png" new file mode 100644 index 0000000..06e7cc4 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_wid_knob_stack_1.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_wid_knob_stack_2.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_wid_knob_stack_2.png" new file mode 100644 index 0000000..a09f75d Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_wid_knob_stack_2.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_wid_label.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_wid_label.png" new file mode 100644 index 0000000..e05ab30 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/tcp_wid_label.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/track_env.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_env.png" new file mode 100644 index 0000000..f0143b4 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_env.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/track_env_latch.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_env_latch.png" new file mode 100644 index 0000000..be7e742 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_env_latch.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/track_env_preview.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_env_preview.png" new file mode 100644 index 0000000..9e31e19 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_env_preview.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/track_env_read.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_env_read.png" new file mode 100644 index 0000000..ed7ba09 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_env_read.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/track_env_touch.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_env_touch.png" new file mode 100644 index 0000000..b6c57f4 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_env_touch.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/track_env_write.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_env_write.png" new file mode 100644 index 0000000..dd5ea36 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_env_write.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/track_fcomp_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_fcomp_off.png" new file mode 100644 index 0000000..3e78121 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_fcomp_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/track_fcomp_small.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_fcomp_small.png" new file mode 100644 index 0000000..ec264c9 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_fcomp_small.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/track_fcomp_tiny.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_fcomp_tiny.png" new file mode 100644 index 0000000..7d39d1b Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_fcomp_tiny.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/track_folder_last.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_folder_last.png" new file mode 100644 index 0000000..250246f Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_folder_last.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/track_folder_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_folder_off.png" new file mode 100644 index 0000000..6ad8d28 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_folder_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/track_folder_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_folder_on.png" new file mode 100644 index 0000000..19b3ea9 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_folder_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/track_fx_dis.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_fx_dis.png" new file mode 100644 index 0000000..b8f6032 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_fx_dis.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/track_fx_empty.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_fx_empty.png" new file mode 100644 index 0000000..4a50dc6 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_fx_empty.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/track_fx_norm.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_fx_norm.png" new file mode 100644 index 0000000..fa6092d Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_fx_norm.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/track_fxempty_h.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_fxempty_h.png" new file mode 100644 index 0000000..efbf84f Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_fxempty_h.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/track_fxempty_v.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_fxempty_v.png" new file mode 100644 index 0000000..efbf84f Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_fxempty_v.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/track_fxoff_h.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_fxoff_h.png" new file mode 100644 index 0000000..8fa97da Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_fxoff_h.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/track_fxoff_v.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_fxoff_v.png" new file mode 100644 index 0000000..329ea6f Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_fxoff_v.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/track_fxon_h.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_fxon_h.png" new file mode 100644 index 0000000..7ad93b1 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_fxon_h.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/track_fxon_v.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_fxon_v.png" new file mode 100644 index 0000000..7ad93b1 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_fxon_v.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/track_io.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_io.png" new file mode 100644 index 0000000..f0bde16 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_io.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/track_io_dis.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_io_dis.png" new file mode 100644 index 0000000..f5c2499 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_io_dis.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/track_io_r.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_io_r.png" new file mode 100644 index 0000000..3998c5f Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_io_r.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/track_io_r_dis.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_io_r_dis.png" new file mode 100644 index 0000000..078a321 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_io_r_dis.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/track_io_s.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_io_s.png" new file mode 100644 index 0000000..c797193 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_io_s.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/track_io_s_dis.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_io_s_dis.png" new file mode 100644 index 0000000..4da382d Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_io_s_dis.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/track_io_s_r.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_io_s_r.png" new file mode 100644 index 0000000..dabd9d3 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_io_s_r.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/track_io_s_r_dis.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_io_s_r_dis.png" new file mode 100644 index 0000000..c2b349f Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_io_s_r_dis.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/track_monitor_auto.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_monitor_auto.png" new file mode 100644 index 0000000..0a7b851 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_monitor_auto.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/track_monitor_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_monitor_off.png" new file mode 100644 index 0000000..7bb6fa8 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_monitor_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/track_monitor_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_monitor_on.png" new file mode 100644 index 0000000..936fd41 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_monitor_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/track_mono.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_mono.png" new file mode 100644 index 0000000..44c05d8 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_mono.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/track_mute_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_mute_off.png" new file mode 100644 index 0000000..dbdce16 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_mute_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/track_mute_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_mute_on.png" new file mode 100644 index 0000000..bacae33 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_mute_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/track_phase_inv.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_phase_inv.png" new file mode 100644 index 0000000..d3cec76 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_phase_inv.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/track_phase_invert.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_phase_invert.png" new file mode 100644 index 0000000..2ec9b9d Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_phase_invert.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/track_phase_norm.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_phase_norm.png" new file mode 100644 index 0000000..26dfb7e Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_phase_norm.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/track_recarm_auto.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_recarm_auto.png" new file mode 100644 index 0000000..f07bd2a Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_recarm_auto.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/track_recarm_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_recarm_off.png" new file mode 100644 index 0000000..715d032 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_recarm_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/track_recarm_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_recarm_on.png" new file mode 100644 index 0000000..49051a7 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_recarm_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/track_recmode_in.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_recmode_in.png" new file mode 100644 index 0000000..4e99e96 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_recmode_in.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/track_recmode_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_recmode_off.png" new file mode 100644 index 0000000..c08d095 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_recmode_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/track_solo_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_solo_off.png" new file mode 100644 index 0000000..6196cfa Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_solo_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/track_solo_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_solo_on.png" new file mode 100644 index 0000000..ad08517 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_solo_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/track_stereo.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_stereo.png" new file mode 100644 index 0000000..668c3cb Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/track_stereo.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/transport_bg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/transport_bg.png" new file mode 100644 index 0000000..efe6b14 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/transport_bg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/transport_bpm.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/transport_bpm.png" new file mode 100644 index 0000000..c12a5ba Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/transport_bpm.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/transport_edit_bg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/transport_edit_bg.png" new file mode 100644 index 0000000..8ea3a7d Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/transport_edit_bg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/transport_group_bg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/transport_group_bg.png" new file mode 100644 index 0000000..dd47f45 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/transport_group_bg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/transport_playspeedthumb.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/transport_playspeedthumb.png" new file mode 100644 index 0000000..5c71390 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/transport_playspeedthumb.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/150/transport_status_bg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/150/transport_status_bg.png" new file mode 100644 index 0000000..dd47f45 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/150/transport_status_bg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/BLUE/mcp_volthumb.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/BLUE/mcp_volthumb.png" new file mode 100644 index 0000000..ee1ec18 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/BLUE/mcp_volthumb.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/BLUE/tcp_vol_knob_stack.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/BLUE/tcp_vol_knob_stack.png" new file mode 100644 index 0000000..abf3377 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/BLUE/tcp_vol_knob_stack.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/CYAN/mcp_volthumb.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/CYAN/mcp_volthumb.png" new file mode 100644 index 0000000..def8739 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/CYAN/mcp_volthumb.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/CYAN/tcp_vol_knob_stack.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/CYAN/tcp_vol_knob_stack.png" new file mode 100644 index 0000000..b35667c Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/CYAN/tcp_vol_knob_stack.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/GREEN/mcp_volthumb.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/GREEN/mcp_volthumb.png" new file mode 100644 index 0000000..0eccfa1 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/GREEN/mcp_volthumb.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/GREEN/tcp_vol_knob_stack.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/GREEN/tcp_vol_knob_stack.png" new file mode 100644 index 0000000..87310e1 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/GREEN/tcp_vol_knob_stack.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/GREY/mcp_volthumb.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/GREY/mcp_volthumb.png" new file mode 100644 index 0000000..34b781c Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/GREY/mcp_volthumb.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/GREY/tcp_vol_knob_stack.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/GREY/tcp_vol_knob_stack.png" new file mode 100644 index 0000000..c3b4a3d Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/GREY/tcp_vol_knob_stack.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/METERBRIDGE/mcp_bg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/METERBRIDGE/mcp_bg.png" new file mode 100644 index 0000000..729db46 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/METERBRIDGE/mcp_bg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/METERBRIDGE/mcp_bgsel.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/METERBRIDGE/mcp_bgsel.png" new file mode 100644 index 0000000..27b2cc4 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/METERBRIDGE/mcp_bgsel.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/METERBRIDGE/mcp_idxbg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/METERBRIDGE/mcp_idxbg.png" new file mode 100644 index 0000000..43bb0c9 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/METERBRIDGE/mcp_idxbg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/METERBRIDGE/mcp_idxbg_sel.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/METERBRIDGE/mcp_idxbg_sel.png" new file mode 100644 index 0000000..f28a68e Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/METERBRIDGE/mcp_idxbg_sel.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/METERBRIDGE/mcp_io.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/METERBRIDGE/mcp_io.png" new file mode 100644 index 0000000..85bbc53 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/METERBRIDGE/mcp_io.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/METERBRIDGE/mcp_io_dis.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/METERBRIDGE/mcp_io_dis.png" new file mode 100644 index 0000000..ade1e64 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/METERBRIDGE/mcp_io_dis.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/METERBRIDGE/mcp_io_r.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/METERBRIDGE/mcp_io_r.png" new file mode 100644 index 0000000..80ff400 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/METERBRIDGE/mcp_io_r.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/METERBRIDGE/mcp_io_r_dis.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/METERBRIDGE/mcp_io_r_dis.png" new file mode 100644 index 0000000..42b444b Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/METERBRIDGE/mcp_io_r_dis.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/METERBRIDGE/mcp_io_s.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/METERBRIDGE/mcp_io_s.png" new file mode 100644 index 0000000..9702cca Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/METERBRIDGE/mcp_io_s.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/METERBRIDGE/mcp_io_s_dis.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/METERBRIDGE/mcp_io_s_dis.png" new file mode 100644 index 0000000..c4ae9c5 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/METERBRIDGE/mcp_io_s_dis.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/METERBRIDGE/mcp_io_s_r.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/METERBRIDGE/mcp_io_s_r.png" new file mode 100644 index 0000000..592ae61 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/METERBRIDGE/mcp_io_s_r.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/METERBRIDGE/mcp_io_s_r_dis.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/METERBRIDGE/mcp_io_s_r_dis.png" new file mode 100644 index 0000000..6a7cf07 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/METERBRIDGE/mcp_io_s_r_dis.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/METERBRIDGE/mcp_namebg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/METERBRIDGE/mcp_namebg.png" new file mode 100644 index 0000000..65d6160 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/METERBRIDGE/mcp_namebg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/METERBRIDGE/mcp_pan_label.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/METERBRIDGE/mcp_pan_label.png" new file mode 100644 index 0000000..65d6160 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/METERBRIDGE/mcp_pan_label.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/METERBRIDGE/mcp_vol_label.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/METERBRIDGE/mcp_vol_label.png" new file mode 100644 index 0000000..bb4399e Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/METERBRIDGE/mcp_vol_label.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/METERBRIDGE/mcp_volbg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/METERBRIDGE/mcp_volbg.png" new file mode 100644 index 0000000..100d339 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/METERBRIDGE/mcp_volbg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/METERBRIDGE/mcp_wid_label.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/METERBRIDGE/mcp_wid_label.png" new file mode 100644 index 0000000..8dbad24 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/METERBRIDGE/mcp_wid_label.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/METERBRIDGE/meter_bg_mcp.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/METERBRIDGE/meter_bg_mcp.png" new file mode 100644 index 0000000..398b13d Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/METERBRIDGE/meter_bg_mcp.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/METERBRIDGE/meter_ol_mcp.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/METERBRIDGE/meter_ol_mcp.png" new file mode 100644 index 0000000..398b13d Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/METERBRIDGE/meter_ol_mcp.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/PINK/mcp_volthumb.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/PINK/mcp_volthumb.png" new file mode 100644 index 0000000..4511d38 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/PINK/mcp_volthumb.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/PINK/tcp_vol_knob_stack.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/PINK/tcp_vol_knob_stack.png" new file mode 100644 index 0000000..a8a89a9 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/PINK/tcp_vol_knob_stack.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/SEPARATOR/mcp_bg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/SEPARATOR/mcp_bg.png" new file mode 100644 index 0000000..b2f16dd Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/SEPARATOR/mcp_bg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/SEPARATOR/mcp_bgsel.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/SEPARATOR/mcp_bgsel.png" new file mode 100644 index 0000000..2a53222 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/SEPARATOR/mcp_bgsel.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/SEPARATOR/tcp_bg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/SEPARATOR/tcp_bg.png" new file mode 100644 index 0000000..71e032e Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/SEPARATOR/tcp_bg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/SEPARATOR/tcp_bgsel.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/SEPARATOR/tcp_bgsel.png" new file mode 100644 index 0000000..2de3656 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/SEPARATOR/tcp_bgsel.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/SOLID COLOR/mcp_bg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/SOLID COLOR/mcp_bg.png" new file mode 100644 index 0000000..13082c4 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/SOLID COLOR/mcp_bg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/SOLID COLOR/mcp_bgsel.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/SOLID COLOR/mcp_bgsel.png" new file mode 100644 index 0000000..e95392d Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/SOLID COLOR/mcp_bgsel.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/SOLID COLOR/mcp_fxlist_bg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/SOLID COLOR/mcp_fxlist_bg.png" new file mode 100644 index 0000000..42d2c0d Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/SOLID COLOR/mcp_fxlist_bg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/SOLID COLOR/tcp_bg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/SOLID COLOR/tcp_bg.png" new file mode 100644 index 0000000..144513a Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/SOLID COLOR/tcp_bg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/SOLID COLOR/tcp_bgsel.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/SOLID COLOR/tcp_bgsel.png" new file mode 100644 index 0000000..68ff17d Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/SOLID COLOR/tcp_bgsel.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/Transport_bpm_bg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/Transport_bpm_bg.png" new file mode 100644 index 0000000..2261da1 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/Transport_bpm_bg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/Transport_edit_bg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/Transport_edit_bg.png" new file mode 100644 index 0000000..bf914b6 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/Transport_edit_bg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/Transport_end.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/Transport_end.png" new file mode 100644 index 0000000..d21f761 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/Transport_end.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/Transport_group_bg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/Transport_group_bg.png" new file mode 100644 index 0000000..9340474 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/Transport_group_bg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/Transport_home.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/Transport_home.png" new file mode 100644 index 0000000..eb6a08f Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/Transport_home.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/Transport_next.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/Transport_next.png" new file mode 100644 index 0000000..ba090d0 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/Transport_next.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/Transport_pause.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/Transport_pause.png" new file mode 100644 index 0000000..e3553c2 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/Transport_pause.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/Transport_pause_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/Transport_pause_on.png" new file mode 100644 index 0000000..77f10ed Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/Transport_pause_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/Transport_play.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/Transport_play.png" new file mode 100644 index 0000000..c7654dd Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/Transport_play.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/Transport_play_Sync.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/Transport_play_Sync.png" new file mode 100644 index 0000000..f3cc28f Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/Transport_play_Sync.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/Transport_play_Sync_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/Transport_play_Sync_on.png" new file mode 100644 index 0000000..de6aabb Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/Transport_play_Sync_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/Transport_play_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/Transport_play_on.png" new file mode 100644 index 0000000..da81125 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/Transport_play_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/Transport_previous.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/Transport_previous.png" new file mode 100644 index 0000000..30f9305 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/Transport_previous.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/Transport_record.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/Transport_record.png" new file mode 100644 index 0000000..c0e5516 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/Transport_record.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/Transport_record_item.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/Transport_record_item.png" new file mode 100644 index 0000000..c1b80f0 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/Transport_record_item.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/Transport_record_item_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/Transport_record_item_on.png" new file mode 100644 index 0000000..fdd603f Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/Transport_record_item_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/Transport_record_loop.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/Transport_record_loop.png" new file mode 100644 index 0000000..579aaa2 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/Transport_record_loop.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/Transport_record_loop_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/Transport_record_loop_on.png" new file mode 100644 index 0000000..119b26f Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/Transport_record_loop_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/Transport_record_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/Transport_record_on.png" new file mode 100644 index 0000000..f8b0ddd Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/Transport_record_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/Transport_repeat_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/Transport_repeat_off.png" new file mode 100644 index 0000000..36c8efc Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/Transport_repeat_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/Transport_repeat_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/Transport_repeat_on.png" new file mode 100644 index 0000000..b8ae119 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/Transport_repeat_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/Transport_stop.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/Transport_stop.png" new file mode 100644 index 0000000..035ad55 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/Transport_stop.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/envcp_bg_sel.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/envcp_bg_sel.png" new file mode 100644 index 0000000..e78b38e Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/envcp_bg_sel.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/envcp_bgsel.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/envcp_bgsel.png" new file mode 100644 index 0000000..1d08915 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/envcp_bgsel.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/envcp_bypass_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/envcp_bypass_off.png" new file mode 100644 index 0000000..397d524 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/envcp_bypass_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/envcp_bypass_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/envcp_bypass_on.png" new file mode 100644 index 0000000..9f695fa Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/envcp_bypass_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/envcp_fader.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/envcp_fader.png" new file mode 100644 index 0000000..b43b00e Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/envcp_fader.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/envcp_faderbg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/envcp_faderbg.png" new file mode 100644 index 0000000..469cc78 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/envcp_faderbg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/envcp_folder_indent.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/envcp_folder_indent.png" new file mode 100644 index 0000000..c8de22d Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/envcp_folder_indent.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/envcp_hide.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/envcp_hide.png" new file mode 100755 index 0000000..f4b44b4 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/envcp_hide.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/envcp_learn.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/envcp_learn.png" new file mode 100644 index 0000000..d7ba19a Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/envcp_learn.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/envcp_learn_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/envcp_learn_on.png" new file mode 100644 index 0000000..59a1bee Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/envcp_learn_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/envcp_namebg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/envcp_namebg.png" new file mode 100644 index 0000000..e901ef7 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/envcp_namebg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/envcp_parammod.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/envcp_parammod.png" new file mode 100644 index 0000000..1ffc65f Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/envcp_parammod.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/envcp_parammod_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/envcp_parammod_on.png" new file mode 100644 index 0000000..358515d Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/envcp_parammod_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/folder_indent.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/folder_indent.png" new file mode 100644 index 0000000..c8de22d Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/folder_indent.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/gen_env.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/gen_env.png" new file mode 100644 index 0000000..5599db4 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/gen_env.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/gen_env_latch.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/gen_env_latch.png" new file mode 100644 index 0000000..eeea338 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/gen_env_latch.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/gen_env_preview.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/gen_env_preview.png" new file mode 100644 index 0000000..bcbbdd8 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/gen_env_preview.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/gen_env_read.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/gen_env_read.png" new file mode 100644 index 0000000..0102769 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/gen_env_read.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/gen_env_touch.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/gen_env_touch.png" new file mode 100644 index 0000000..d3a4566 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/gen_env_touch.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/gen_env_write.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/gen_env_write.png" new file mode 100644 index 0000000..bcbbdd8 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/gen_env_write.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/gen_midi_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/gen_midi_off.png" new file mode 100644 index 0000000..e9671d1 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/gen_midi_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/gen_midi_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/gen_midi_on.png" new file mode 100644 index 0000000..131a410 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/gen_midi_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/gen_mono.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/gen_mono.png" new file mode 100644 index 0000000..fef5b19 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/gen_mono.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/gen_mute_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/gen_mute_off.png" new file mode 100644 index 0000000..f0d6bb4 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/gen_mute_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/gen_mute_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/gen_mute_on.png" new file mode 100644 index 0000000..abceef4 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/gen_mute_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/gen_panbg_horz.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/gen_panbg_horz.png" new file mode 100644 index 0000000..5b1c0a2 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/gen_panbg_horz.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/gen_panthumb_horz.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/gen_panthumb_horz.png" new file mode 100644 index 0000000..415814a Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/gen_panthumb_horz.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/gen_phase_inv.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/gen_phase_inv.png" new file mode 100644 index 0000000..2a1609f Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/gen_phase_inv.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/gen_phase_norm.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/gen_phase_norm.png" new file mode 100644 index 0000000..47e9aa9 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/gen_phase_norm.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/gen_stereo.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/gen_stereo.png" new file mode 100644 index 0000000..b9af8c2 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/gen_stereo.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/gen_volbg_horz.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/gen_volbg_horz.png" new file mode 100644 index 0000000..5b1c0a2 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/gen_volbg_horz.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/gen_volbg_vert.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/gen_volbg_vert.png" new file mode 100644 index 0000000..1aa6684 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/gen_volbg_vert.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/gen_volthumb_horz.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/gen_volthumb_horz.png" new file mode 100644 index 0000000..aae16e9 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/gen_volthumb_horz.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/gen_volthumb_vert.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/gen_volthumb_vert.png" new file mode 100644 index 0000000..7e978b8 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/gen_volthumb_vert.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/global_bypass.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/global_bypass.png" new file mode 100644 index 0000000..3d2f007 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/global_bypass.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/global_latch.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/global_latch.png" new file mode 100644 index 0000000..f2a978c Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/global_latch.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/global_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/global_off.png" new file mode 100644 index 0000000..cb50e0e Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/global_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/global_preview.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/global_preview.png" new file mode 100644 index 0000000..7327d3d Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/global_preview.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/global_read.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/global_read.png" new file mode 100644 index 0000000..58631b8 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/global_read.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/global_touch.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/global_touch.png" new file mode 100644 index 0000000..be1031e Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/global_touch.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/global_trim.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/global_trim.png" new file mode 100644 index 0000000..2a08c62 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/global_trim.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/global_write.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/global_write.png" new file mode 100644 index 0000000..9dabe7f Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/global_write.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_bg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_bg.png" new file mode 100644 index 0000000..4f01829 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_bg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_bgsel.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_bgsel.png" new file mode 100644 index 0000000..2022fdb Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_bgsel.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_fcomp_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_fcomp_off.png" new file mode 100644 index 0000000..ac898ff Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_fcomp_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_fcomp_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_fcomp_on.png" new file mode 100644 index 0000000..b3fdb98 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_fcomp_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_fcomp_tiny.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_fcomp_tiny.png" new file mode 100644 index 0000000..3cd2a02 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_fcomp_tiny.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_folder.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_folder.png" new file mode 100644 index 0000000..75c3b1a Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_folder.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_folder_last.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_folder_last.png" new file mode 100644 index 0000000..e12ce9b Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_folder_last.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_folder_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_folder_on.png" new file mode 100644 index 0000000..75c3b1a Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_folder_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_fx_in_empty copy.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_fx_in_empty copy.png" new file mode 100644 index 0000000..3bac53e Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_fx_in_empty copy.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_fx_in_empty.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_fx_in_empty.png" new file mode 100755 index 0000000..3bac53e Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_fx_in_empty.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_fx_in_norm copy.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_fx_in_norm copy.png" new file mode 100644 index 0000000..a00d2a5 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_fx_in_norm copy.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_fx_in_norm.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_fx_in_norm.png" new file mode 100755 index 0000000..a00d2a5 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_fx_in_norm.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_fxlist_bg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_fxlist_bg.png" new file mode 100644 index 0000000..fa5bf16 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_fxlist_bg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_fxlist_byp.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_fxlist_byp.png" new file mode 100644 index 0000000..a40c96f Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_fxlist_byp.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_fxlist_empty.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_fxlist_empty.png" new file mode 100644 index 0000000..6ce96b0 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_fxlist_empty.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_fxlist_norm.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_fxlist_norm.png" new file mode 100644 index 0000000..8a08384 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_fxlist_norm.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_fxlist_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_fxlist_off.png" new file mode 100644 index 0000000..a40c96f Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_fxlist_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_fxparm_bg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_fxparm_bg.png" new file mode 100644 index 0000000..e0e2447 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_fxparm_bg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_fxparm_knob_stack.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_fxparm_knob_stack.png" new file mode 100644 index 0000000..359e768 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_fxparm_knob_stack.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_fxparm_norm.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_fxparm_norm.png" new file mode 100644 index 0000000..d08c125 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_fxparm_norm.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_iconbg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_iconbg.png" new file mode 100644 index 0000000..2cb4954 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_iconbg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_iconbgsel.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_iconbgsel.png" new file mode 100644 index 0000000..3994e1b Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_iconbgsel.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_idxbg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_idxbg.png" new file mode 100644 index 0000000..b4c98e0 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_idxbg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_idxbg_sel.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_idxbg_sel.png" new file mode 100644 index 0000000..455336d Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_idxbg_sel.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_io.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_io.png" new file mode 100644 index 0000000..bbc6b6f Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_io.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_io_dis.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_io_dis.png" new file mode 100644 index 0000000..a74b12c Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_io_dis.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_io_r.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_io_r.png" new file mode 100644 index 0000000..bf321a3 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_io_r.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_io_r_dis.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_io_r_dis.png" new file mode 100644 index 0000000..b1fa1be Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_io_r_dis.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_io_s.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_io_s.png" new file mode 100644 index 0000000..fbafaf3 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_io_s.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_io_s_dis.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_io_s_dis.png" new file mode 100644 index 0000000..e619621 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_io_s_dis.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_io_s_r.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_io_s_r.png" new file mode 100644 index 0000000..a5ead9c Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_io_s_r.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_io_s_r_dis.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_io_s_r_dis.png" new file mode 100644 index 0000000..30b8331 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_io_s_r_dis.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_mainbg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_mainbg.png" new file mode 100644 index 0000000..d8ee65f Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_mainbg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_mainbg_sel.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_mainbg_sel.png" new file mode 100644 index 0000000..e6b349c Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_mainbg_sel.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_mainbgsel.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_mainbgsel.png" new file mode 100644 index 0000000..3aa351a Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_mainbgsel.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_master_vol_label.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_master_vol_label.png" new file mode 100644 index 0000000..94f5a7f Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_master_vol_label.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_master_volbg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_master_volbg.png" new file mode 100644 index 0000000..53780b6 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_master_volbg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_mono.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_mono.png" new file mode 100644 index 0000000..1cbdff0 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_mono.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_mute_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_mute_off.png" new file mode 100644 index 0000000..d2d392a Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_mute_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_mute_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_mute_on.png" new file mode 100644 index 0000000..e94bd37 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_mute_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_namebg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_namebg.png" new file mode 100755 index 0000000..60063c8 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_namebg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_phase_inv.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_phase_inv.png" new file mode 100644 index 0000000..515d085 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_phase_inv.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_phase_invert.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_phase_invert.png" new file mode 100644 index 0000000..f2dd88b Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_phase_invert.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_phase_norm.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_phase_norm.png" new file mode 100644 index 0000000..b0323d2 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_phase_norm.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_send_knob_stack.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_send_knob_stack.png" new file mode 100644 index 0000000..78ddafb Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_send_knob_stack.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_sendlist_bg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_sendlist_bg.png" new file mode 100644 index 0000000..9811310 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_sendlist_bg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_sendlist_empty.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_sendlist_empty.png" new file mode 100644 index 0000000..6ce96b0 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_sendlist_empty.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_sendlist_mute.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_sendlist_mute.png" new file mode 100644 index 0000000..c77120f Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_sendlist_mute.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_sendlist_norm.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_sendlist_norm.png" new file mode 100644 index 0000000..920d3d9 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_sendlist_norm.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_senslist_knob_stack.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_senslist_knob_stack.png" new file mode 100644 index 0000000..359e768 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_senslist_knob_stack.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_solo_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_solo_off.png" new file mode 100644 index 0000000..82285eb Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_solo_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_solo_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_solo_on.png" new file mode 100644 index 0000000..d46e43d Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_solo_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_stereo.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_stereo.png" new file mode 100644 index 0000000..9314b47 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_stereo.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_vol_label.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_vol_label.png" new file mode 100644 index 0000000..ca58f84 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_vol_label.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_volbg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_volbg.png" new file mode 100644 index 0000000..dea045f Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_volbg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_volthumb.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_volthumb.png" new file mode 100644 index 0000000..2f2b816 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/mcp_volthumb.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/meter_ol.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/meter_ol.png" new file mode 100644 index 0000000..475bb9d Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/meter_ol.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/meter_ol_mcp.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/meter_ol_mcp.png" new file mode 100644 index 0000000..24d6ec3 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/meter_ol_mcp.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/meter_ol_mcp_master.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/meter_ol_mcp_master.png" new file mode 100644 index 0000000..bc69a78 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/meter_ol_mcp_master.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/meter_ol_tcp.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/meter_ol_tcp.png" new file mode 100644 index 0000000..79b9f0c Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/meter_ol_tcp.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/midi_inline_ccwithitems_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/midi_inline_ccwithitems_off.png" new file mode 100644 index 0000000..d8509d8 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/midi_inline_ccwithitems_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/midi_inline_ccwithitems_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/midi_inline_ccwithitems_on.png" new file mode 100644 index 0000000..a101913 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/midi_inline_ccwithitems_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/midi_inline_close.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/midi_inline_close.png" new file mode 100644 index 0000000..d7fd97b Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/midi_inline_close.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/midi_inline_fold_none.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/midi_inline_fold_none.png" new file mode 100644 index 0000000..ff98b68 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/midi_inline_fold_none.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/midi_inline_fold_unnamed.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/midi_inline_fold_unnamed.png" new file mode 100644 index 0000000..81c59b9 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/midi_inline_fold_unnamed.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/midi_inline_fold_unused.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/midi_inline_fold_unused.png" new file mode 100644 index 0000000..ea5c59f Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/midi_inline_fold_unused.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/midi_inline_fold_unused_unnamed.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/midi_inline_fold_unused_unnamed.png" new file mode 100644 index 0000000..fbd443e Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/midi_inline_fold_unused_unnamed.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/midi_inline_noteview_diamond.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/midi_inline_noteview_diamond.png" new file mode 100644 index 0000000..ff399a8 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/midi_inline_noteview_diamond.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/midi_inline_noteview_rect.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/midi_inline_noteview_rect.png" new file mode 100644 index 0000000..5cfb713 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/midi_inline_noteview_rect.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/midi_inline_noteview_triangle.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/midi_inline_noteview_triangle.png" new file mode 100644 index 0000000..82b6f15 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/midi_inline_noteview_triangle.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/midi_inline_scroll.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/midi_inline_scroll.png" new file mode 100644 index 0000000..65cee9c Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/midi_inline_scroll.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/midi_inline_scrollbar.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/midi_inline_scrollbar.png" new file mode 100644 index 0000000..a89532c Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/midi_inline_scrollbar.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/midi_inline_scrollthumb.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/midi_inline_scrollthumb.png" new file mode 100644 index 0000000..4912d67 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/midi_inline_scrollthumb.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/mixer_menu.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/mixer_menu.png" new file mode 100644 index 0000000..f01fdae Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/mixer_menu.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/tab_down_sel.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/tab_down_sel.png" new file mode 100644 index 0000000..8b0efb4 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/tab_down_sel.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/table_expand_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/table_expand_off.png" new file mode 100644 index 0000000..ff52263 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/table_expand_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/table_expand_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/table_expand_on.png" new file mode 100644 index 0000000..2fccfd7 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/table_expand_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/table_locked_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/table_locked_off.png" new file mode 100644 index 0000000..2238db9 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/table_locked_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/table_locked_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/table_locked_on.png" new file mode 100644 index 0000000..4d23ef8 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/table_locked_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/table_locked_partial.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/table_locked_partial.png" new file mode 100644 index 0000000..c4dac0c Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/table_locked_partial.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/table_mute_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/table_mute_off.png" new file mode 100644 index 0000000..38b6357 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/table_mute_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/table_mute_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/table_mute_on.png" new file mode 100644 index 0000000..2467618 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/table_mute_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/table_recarm_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/table_recarm_off.png" new file mode 100644 index 0000000..e62a8d5 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/table_recarm_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/table_recarm_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/table_recarm_on.png" new file mode 100644 index 0000000..df6ab6d Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/table_recarm_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/table_solo_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/table_solo_off.png" new file mode 100644 index 0000000..1926cf8 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/table_solo_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/table_solo_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/table_solo_on.png" new file mode 100644 index 0000000..406099f Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/table_solo_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/table_sub_expand_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/table_sub_expand_off.png" new file mode 100644 index 0000000..f436b81 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/table_sub_expand_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/table_sub_expand_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/table_sub_expand_on.png" new file mode 100644 index 0000000..a618733 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/table_sub_expand_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/table_target_invalid.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/table_target_invalid.png" new file mode 100644 index 0000000..b2a9093 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/table_target_invalid.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/table_target_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/table_target_off.png" new file mode 100644 index 0000000..81c456f Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/table_target_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/table_target_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/table_target_on.png" new file mode 100644 index 0000000..90512b7 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/table_target_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/table_visible_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/table_visible_on.png" new file mode 100644 index 0000000..0eabf6e Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/table_visible_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/table_visible_partial.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/table_visible_partial.png" new file mode 100644 index 0000000..2917de3 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/table_visible_partial.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_bg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_bg.png" new file mode 100644 index 0000000..150e510 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_bg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_bgsel.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_bgsel.png" new file mode 100644 index 0000000..e6ae679 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_bgsel.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_fxparm_empty.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_fxparm_empty.png" new file mode 100644 index 0000000..27d0a8a Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_fxparm_empty.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_fxparm_fx_byp.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_fxparm_fx_byp.png" new file mode 100644 index 0000000..bad6159 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_fxparm_fx_byp.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_fxparm_fx_norm.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_fxparm_fx_norm.png" new file mode 100644 index 0000000..fdf3341 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_fxparm_fx_norm.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_fxparm_fx_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_fxparm_fx_off.png" new file mode 100644 index 0000000..7246ad9 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_fxparm_fx_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_fxparm_norm.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_fxparm_norm.png" new file mode 100644 index 0000000..29be698 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_fxparm_norm.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_idxbg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_idxbg.png" new file mode 100644 index 0000000..47e3f6e Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_idxbg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_idxbg_sel.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_idxbg_sel.png" new file mode 100644 index 0000000..16c6796 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_idxbg_sel.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_longname/tcp_idxbg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_longname/tcp_idxbg.png" new file mode 100644 index 0000000..2e2c919 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_longname/tcp_idxbg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_longname/tcp_idxbg_sel.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_longname/tcp_idxbg_sel.png" new file mode 100644 index 0000000..e8a24a7 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_longname/tcp_idxbg_sel.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_longname/tcp_namebg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_longname/tcp_namebg.png" new file mode 100644 index 0000000..b1c20c4 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_longname/tcp_namebg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_mainbg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_mainbg.png" new file mode 100644 index 0000000..1712f16 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_mainbg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_mainbgsel.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_mainbgsel.png" new file mode 100644 index 0000000..e88d4ad Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_mainbgsel.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_pan_knob_stack.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_pan_knob_stack.png" new file mode 100644 index 0000000..5cd4b46 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_pan_knob_stack.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_pan_knob_stack_1.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_pan_knob_stack_1.png" new file mode 100755 index 0000000..44fd7eb Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_pan_knob_stack_1.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_pan_knob_stack_2.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_pan_knob_stack_2.png" new file mode 100644 index 0000000..bcc02d6 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_pan_knob_stack_2.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_pan_label.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_pan_label.png" new file mode 100644 index 0000000..6e62cca Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_pan_label.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_recinput.PNG" "b/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_recinput.PNG" new file mode 100755 index 0000000..ac1de6b Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_recinput.PNG" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_send_knob_stack.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_send_knob_stack.png" new file mode 100644 index 0000000..d13c93b Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_send_knob_stack.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_sendlist_mute.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_sendlist_mute.png" new file mode 100644 index 0000000..182d0c6 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_sendlist_mute.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_sendlist_norm.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_sendlist_norm.png" new file mode 100644 index 0000000..f222eb7 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_sendlist_norm.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_solodefeat_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_solodefeat_on.png" new file mode 100644 index 0000000..64698b5 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_solodefeat_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_vol_knob_stack.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_vol_knob_stack.png" new file mode 100644 index 0000000..88214ba Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_vol_knob_stack.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_vol_label.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_vol_label.png" new file mode 100644 index 0000000..6e62cca Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_vol_label.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_volbg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_volbg.png" new file mode 100644 index 0000000..251fbfa Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_volbg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_wid_knob_stack.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_wid_knob_stack.png" new file mode 100644 index 0000000..2f0d0a0 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_wid_knob_stack.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_wid_knob_stack_1.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_wid_knob_stack_1.png" new file mode 100644 index 0000000..7b70a0d Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_wid_knob_stack_1.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_wid_knob_stack_2.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_wid_knob_stack_2.png" new file mode 100644 index 0000000..939ade1 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_wid_knob_stack_2.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_wid_label.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_wid_label.png" new file mode 100644 index 0000000..6e62cca Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/tcp_wid_label.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_bg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_bg.png" new file mode 100644 index 0000000..caec543 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_bg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_blank.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_blank.png" new file mode 100644 index 0000000..1cfd026 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_blank.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_dock_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_dock_off.png" new file mode 100644 index 0000000..4c8954b Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_dock_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_dock_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_dock_on.png" new file mode 100644 index 0000000..ccd9b47 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_dock_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_envitem_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_envitem_off.png" new file mode 100644 index 0000000..e377279 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_envitem_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_envitem_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_envitem_on.png" new file mode 100644 index 0000000..f43678e Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_envitem_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_filter_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_filter_off.png" new file mode 100644 index 0000000..4cde649 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_filter_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_filter_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_filter_on.png" new file mode 100644 index 0000000..861532c Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_filter_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_grid_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_grid_off.png" new file mode 100644 index 0000000..3c69bdd Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_grid_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_grid_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_grid_on.png" new file mode 100644 index 0000000..690a89f Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_grid_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_group_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_group_off.png" new file mode 100644 index 0000000..6e2872c Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_group_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_group_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_group_on.png" new file mode 100644 index 0000000..3c2f6e0 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_group_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_load.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_load.png" new file mode 100644 index 0000000..eb8312a Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_load.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_lock_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_lock_off.png" new file mode 100644 index 0000000..1a587c8 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_lock_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_lock_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_lock_on.png" new file mode 100644 index 0000000..9cb697d Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_lock_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_metro_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_metro_off.png" new file mode 100644 index 0000000..26cbd66 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_metro_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_metro_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_metro_on.png" new file mode 100644 index 0000000..22f3d80 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_metro_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_midi_itemsel_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_midi_itemsel_off.png" new file mode 100644 index 0000000..63ba60e Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_midi_itemsel_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_midi_itemsel_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_midi_itemsel_on.png" new file mode 100644 index 0000000..dec0de7 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_midi_itemsel_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_midi_mode_event_list.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_midi_mode_event_list.png" new file mode 100644 index 0000000..1c8bb64 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_midi_mode_event_list.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_midi_mode_musical_notation.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_midi_mode_musical_notation.png" new file mode 100644 index 0000000..1bafda2 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_midi_mode_musical_notation.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_midi_mode_named_notes.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_midi_mode_named_notes.png" new file mode 100644 index 0000000..0bc3b9b Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_midi_mode_named_notes.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_midi_mode_piano_roll.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_midi_mode_piano_roll.png" new file mode 100644 index 0000000..443b3cb Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_midi_mode_piano_roll.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_midi_step.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_midi_step.png" new file mode 100644 index 0000000..1cab38c Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_midi_step.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_midi_tracksel_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_midi_tracksel_off.png" new file mode 100644 index 0000000..f69c002 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_midi_tracksel_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_midi_tracksel_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_midi_tracksel_on.png" new file mode 100644 index 0000000..6967120 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_midi_tracksel_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_new.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_new.png" new file mode 100644 index 0000000..6fb5f03 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_new.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_projprop.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_projprop.png" new file mode 100644 index 0000000..7916735 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_projprop.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_quant_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_quant_off.png" new file mode 100644 index 0000000..2ea7001 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_quant_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_quant_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_quant_on.png" new file mode 100644 index 0000000..dc03656 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_quant_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_redo.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_redo.png" new file mode 100644 index 0000000..23fc69c Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_redo.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_relsnap_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_relsnap_off.png" new file mode 100644 index 0000000..2a1551f Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_relsnap_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_relsnap_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_relsnap_on.png" new file mode 100644 index 0000000..129fcb1 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_relsnap_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_replacemode.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_replacemode.png" new file mode 100644 index 0000000..9335302 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_replacemode.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_revert.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_revert.png" new file mode 100644 index 0000000..7d74440 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_revert.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_ripple_all.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_ripple_all.png" new file mode 100644 index 0000000..824fd2e Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_ripple_all.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_ripple_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_ripple_off.png" new file mode 100644 index 0000000..fa8ecfa Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_ripple_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_ripple_one.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_ripple_one.png" new file mode 100644 index 0000000..31b36a8 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_ripple_one.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_save.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_save.png" new file mode 100644 index 0000000..c5a6eb2 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_save.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_snap_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_snap_off.png" new file mode 100644 index 0000000..6b3ccca Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_snap_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_snap_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_snap_on.png" new file mode 100644 index 0000000..fcb7cec Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_snap_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_undo.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_undo.png" new file mode 100644 index 0000000..8575ccc Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_undo.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_xfade_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_xfade_off.png" new file mode 100644 index 0000000..b328497 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_xfade_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_xfade_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_xfade_on.png" new file mode 100644 index 0000000..1ab2220 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/toolbar_xfade_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/track_env.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_env.png" new file mode 100755 index 0000000..65c3313 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_env.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/track_env_latch.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_env_latch.png" new file mode 100755 index 0000000..1eb1fee Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_env_latch.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/track_env_preview.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_env_preview.png" new file mode 100644 index 0000000..dea9caa Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_env_preview.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/track_env_read.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_env_read.png" new file mode 100755 index 0000000..ecf1dbb Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_env_read.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/track_env_touch.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_env_touch.png" new file mode 100755 index 0000000..31ae8de Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_env_touch.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/track_env_write.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_env_write.png" new file mode 100755 index 0000000..f66991b Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_env_write.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/track_fcomp_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_fcomp_off.png" new file mode 100644 index 0000000..a8a1e0c Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_fcomp_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/track_fcomp_small.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_fcomp_small.png" new file mode 100644 index 0000000..ec264c9 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_fcomp_small.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/track_fcomp_tiny.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_fcomp_tiny.png" new file mode 100644 index 0000000..8409740 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_fcomp_tiny.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/track_folder_last.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_folder_last.png" new file mode 100644 index 0000000..250246f Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_folder_last.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/track_folder_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_folder_off.png" new file mode 100644 index 0000000..6ad8d28 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_folder_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/track_folder_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_folder_on.png" new file mode 100644 index 0000000..9f0e903 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_folder_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/track_fx_dis.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_fx_dis.png" new file mode 100644 index 0000000..ee40536 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_fx_dis.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/track_fx_empty.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_fx_empty.png" new file mode 100644 index 0000000..c30b609 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_fx_empty.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/track_fx_in_empty.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_fx_in_empty.png" new file mode 100644 index 0000000..50e605a Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_fx_in_empty.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/track_fx_in_norm.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_fx_in_norm.png" new file mode 100644 index 0000000..0459f43 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_fx_in_norm.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/track_fx_norm.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_fx_norm.png" new file mode 100644 index 0000000..d2ce8af Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_fx_norm.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/track_fx_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_fx_off.png" new file mode 100644 index 0000000..b000622 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_fx_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/track_fxempty_h.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_fxempty_h.png" new file mode 100644 index 0000000..a0e8f6f Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_fxempty_h.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/track_fxempty_v.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_fxempty_v.png" new file mode 100644 index 0000000..a0e8f6f Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_fxempty_v.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/track_fxnorm_h.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_fxnorm_h.png" new file mode 100644 index 0000000..03fd67f Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_fxnorm_h.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/track_fxnorm_v.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_fxnorm_v.png" new file mode 100755 index 0000000..ebe2a35 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_fxnorm_v.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/track_fxoff_h.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_fxoff_h.png" new file mode 100644 index 0000000..b5c2780 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_fxoff_h.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/track_fxoff_v.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_fxoff_v.png" new file mode 100644 index 0000000..b5c2780 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_fxoff_v.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/track_fxon_h.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_fxon_h.png" new file mode 100644 index 0000000..2743d75 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_fxon_h.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/track_fxon_v.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_fxon_v.png" new file mode 100644 index 0000000..2743d75 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_fxon_v.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/track_io.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_io.png" new file mode 100644 index 0000000..498ac31 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_io.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/track_io_dis.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_io_dis.png" new file mode 100644 index 0000000..2ec036b Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_io_dis.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/track_io_r.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_io_r.png" new file mode 100644 index 0000000..cba9bb8 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_io_r.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/track_io_r_dis.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_io_r_dis.png" new file mode 100644 index 0000000..b1e9951 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_io_r_dis.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/track_io_s.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_io_s.png" new file mode 100644 index 0000000..df52b2e Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_io_s.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/track_io_s_dis.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_io_s_dis.png" new file mode 100644 index 0000000..843b884 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_io_s_dis.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/track_io_s_r.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_io_s_r.png" new file mode 100644 index 0000000..c21c405 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_io_s_r.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/track_io_s_r_dis.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_io_s_r_dis.png" new file mode 100644 index 0000000..98505d0 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_io_s_r_dis.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/track_monitor_auto.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_monitor_auto.png" new file mode 100644 index 0000000..283bd25 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_monitor_auto.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/track_monitor_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_monitor_off.png" new file mode 100644 index 0000000..5408107 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_monitor_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/track_monitor_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_monitor_on.png" new file mode 100644 index 0000000..64e4378 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_monitor_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/track_mono.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_mono.png" new file mode 100644 index 0000000..99ffffc Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_mono.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/track_mute_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_mute_off.png" new file mode 100644 index 0000000..8e6344c Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_mute_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/track_mute_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_mute_on.png" new file mode 100644 index 0000000..22e5684 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_mute_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/track_phase_inv.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_phase_inv.png" new file mode 100644 index 0000000..9bc645c Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_phase_inv.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/track_phase_invert.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_phase_invert.png" new file mode 100644 index 0000000..b23daf1 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_phase_invert.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/track_phase_norm.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_phase_norm.png" new file mode 100755 index 0000000..6772395 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_phase_norm.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/track_recarm_auto.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_recarm_auto.png" new file mode 100644 index 0000000..72d356e Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_recarm_auto.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/track_recarm_auto_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_recarm_auto_off.png" new file mode 100755 index 0000000..8fb87dc Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_recarm_auto_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/track_recarm_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_recarm_off.png" new file mode 100644 index 0000000..66ca1da Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_recarm_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/track_recarm_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_recarm_on.png" new file mode 100644 index 0000000..9d847de Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_recarm_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/track_recmode_in.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_recmode_in.png" new file mode 100755 index 0000000..f4b44b4 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_recmode_in.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/track_recmode_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_recmode_off.png" new file mode 100644 index 0000000..0355728 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_recmode_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/track_solo_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_solo_off.png" new file mode 100644 index 0000000..675109a Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_solo_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/track_solo_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_solo_on.png" new file mode 100644 index 0000000..f1613a6 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_solo_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/track_stereo.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_stereo.png" new file mode 100644 index 0000000..5eff9c1 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/track_stereo.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/transport_bg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/transport_bg.png" new file mode 100644 index 0000000..26963b3 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/transport_bg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/transport_bpm.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/transport_bpm.png" new file mode 100644 index 0000000..7cea74d Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/transport_bpm.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/transport_playspeedbg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/transport_playspeedbg.png" new file mode 100644 index 0000000..6ca4d96 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/transport_playspeedbg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/transport_playspeedthumb.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/transport_playspeedthumb.png" new file mode 100644 index 0000000..5bc8713 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/transport_playspeedthumb.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/transport_status_bg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/transport_status_bg.png" new file mode 100644 index 0000000..9340474 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/transport_status_bg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/200/transport_status_bg_err.png" "b/ColorThemes/Sources/flat madness\302\240DATA/200/transport_status_bg_err.png" new file mode 100755 index 0000000..cbf07fe Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/200/transport_status_bg_err.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/BLUE/mcp_volthumb.png" "b/ColorThemes/Sources/flat madness\302\240DATA/BLUE/mcp_volthumb.png" new file mode 100644 index 0000000..3c4fa2c Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/BLUE/mcp_volthumb.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/BLUE/tcp_vol_knob_stack.png" "b/ColorThemes/Sources/flat madness\302\240DATA/BLUE/tcp_vol_knob_stack.png" new file mode 100644 index 0000000..675a50d Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/BLUE/tcp_vol_knob_stack.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/CYAN/mcp_volthumb.png" "b/ColorThemes/Sources/flat madness\302\240DATA/CYAN/mcp_volthumb.png" new file mode 100644 index 0000000..031edd3 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/CYAN/mcp_volthumb.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/CYAN/tcp_vol_knob_stack.png" "b/ColorThemes/Sources/flat madness\302\240DATA/CYAN/tcp_vol_knob_stack.png" new file mode 100644 index 0000000..1cf3452 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/CYAN/tcp_vol_knob_stack.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/GREEN/mcp_volthumb.png" "b/ColorThemes/Sources/flat madness\302\240DATA/GREEN/mcp_volthumb.png" new file mode 100644 index 0000000..0738ffb Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/GREEN/mcp_volthumb.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/GREEN/tcp_vol_knob_stack.png" "b/ColorThemes/Sources/flat madness\302\240DATA/GREEN/tcp_vol_knob_stack.png" new file mode 100644 index 0000000..d6ec063 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/GREEN/tcp_vol_knob_stack.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/GREY/mcp_volthumb.png" "b/ColorThemes/Sources/flat madness\302\240DATA/GREY/mcp_volthumb.png" new file mode 100644 index 0000000..00b1f5a Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/GREY/mcp_volthumb.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/GREY/tcp_vol_knob_stack.png" "b/ColorThemes/Sources/flat madness\302\240DATA/GREY/tcp_vol_knob_stack.png" new file mode 100644 index 0000000..87cc2b6 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/GREY/tcp_vol_knob_stack.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/METERBRIDGE/mcp_bg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/METERBRIDGE/mcp_bg.png" new file mode 100644 index 0000000..c8862a3 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/METERBRIDGE/mcp_bg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/METERBRIDGE/mcp_bgsel.png" "b/ColorThemes/Sources/flat madness\302\240DATA/METERBRIDGE/mcp_bgsel.png" new file mode 100644 index 0000000..5e51536 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/METERBRIDGE/mcp_bgsel.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/METERBRIDGE/mcp_idxbg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/METERBRIDGE/mcp_idxbg.png" new file mode 100644 index 0000000..34b4029 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/METERBRIDGE/mcp_idxbg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/METERBRIDGE/mcp_idxbg_sel.png" "b/ColorThemes/Sources/flat madness\302\240DATA/METERBRIDGE/mcp_idxbg_sel.png" new file mode 100644 index 0000000..d3a8e59 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/METERBRIDGE/mcp_idxbg_sel.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/METERBRIDGE/mcp_io.png" "b/ColorThemes/Sources/flat madness\302\240DATA/METERBRIDGE/mcp_io.png" new file mode 100644 index 0000000..01c2358 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/METERBRIDGE/mcp_io.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/METERBRIDGE/mcp_io_dis.png" "b/ColorThemes/Sources/flat madness\302\240DATA/METERBRIDGE/mcp_io_dis.png" new file mode 100644 index 0000000..d5411a1 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/METERBRIDGE/mcp_io_dis.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/METERBRIDGE/mcp_io_r.png" "b/ColorThemes/Sources/flat madness\302\240DATA/METERBRIDGE/mcp_io_r.png" new file mode 100644 index 0000000..a31ddeb Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/METERBRIDGE/mcp_io_r.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/METERBRIDGE/mcp_io_r_dis.png" "b/ColorThemes/Sources/flat madness\302\240DATA/METERBRIDGE/mcp_io_r_dis.png" new file mode 100644 index 0000000..dd33d45 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/METERBRIDGE/mcp_io_r_dis.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/METERBRIDGE/mcp_io_s.png" "b/ColorThemes/Sources/flat madness\302\240DATA/METERBRIDGE/mcp_io_s.png" new file mode 100644 index 0000000..61a0576 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/METERBRIDGE/mcp_io_s.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/METERBRIDGE/mcp_io_s_dis.png" "b/ColorThemes/Sources/flat madness\302\240DATA/METERBRIDGE/mcp_io_s_dis.png" new file mode 100644 index 0000000..d3f821a Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/METERBRIDGE/mcp_io_s_dis.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/METERBRIDGE/mcp_io_s_r.png" "b/ColorThemes/Sources/flat madness\302\240DATA/METERBRIDGE/mcp_io_s_r.png" new file mode 100644 index 0000000..b7b0610 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/METERBRIDGE/mcp_io_s_r.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/METERBRIDGE/mcp_io_s_r_dis.png" "b/ColorThemes/Sources/flat madness\302\240DATA/METERBRIDGE/mcp_io_s_r_dis.png" new file mode 100644 index 0000000..4b3575f Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/METERBRIDGE/mcp_io_s_r_dis.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/METERBRIDGE/mcp_namebg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/METERBRIDGE/mcp_namebg.png" new file mode 100644 index 0000000..65d6160 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/METERBRIDGE/mcp_namebg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/METERBRIDGE/mcp_pan_knob_stack.png" "b/ColorThemes/Sources/flat madness\302\240DATA/METERBRIDGE/mcp_pan_knob_stack.png" new file mode 100644 index 0000000..aa006c2 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/METERBRIDGE/mcp_pan_knob_stack.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/METERBRIDGE/mcp_pan_label.png" "b/ColorThemes/Sources/flat madness\302\240DATA/METERBRIDGE/mcp_pan_label.png" new file mode 100644 index 0000000..65d6160 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/METERBRIDGE/mcp_pan_label.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/METERBRIDGE/mcp_vol_label.png" "b/ColorThemes/Sources/flat madness\302\240DATA/METERBRIDGE/mcp_vol_label.png" new file mode 100644 index 0000000..55da6e5 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/METERBRIDGE/mcp_vol_label.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/METERBRIDGE/mcp_volbg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/METERBRIDGE/mcp_volbg.png" new file mode 100644 index 0000000..5600481 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/METERBRIDGE/mcp_volbg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/METERBRIDGE/mcp_wid_label.png" "b/ColorThemes/Sources/flat madness\302\240DATA/METERBRIDGE/mcp_wid_label.png" new file mode 100644 index 0000000..8dbad24 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/METERBRIDGE/mcp_wid_label.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/METERBRIDGE/meter_bg_mcp.png" "b/ColorThemes/Sources/flat madness\302\240DATA/METERBRIDGE/meter_bg_mcp.png" new file mode 100644 index 0000000..398b13d Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/METERBRIDGE/meter_bg_mcp.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/METERBRIDGE/meter_ol_mcp.png" "b/ColorThemes/Sources/flat madness\302\240DATA/METERBRIDGE/meter_ol_mcp.png" new file mode 100644 index 0000000..398b13d Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/METERBRIDGE/meter_ol_mcp.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/PINK/mcp_volthumb.png" "b/ColorThemes/Sources/flat madness\302\240DATA/PINK/mcp_volthumb.png" new file mode 100644 index 0000000..a435edd Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/PINK/mcp_volthumb.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/PINK/tcp_vol_knob_stack.png" "b/ColorThemes/Sources/flat madness\302\240DATA/PINK/tcp_vol_knob_stack.png" new file mode 100644 index 0000000..f10cea3 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/PINK/tcp_vol_knob_stack.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/SEPARATOR/mcp_bg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/SEPARATOR/mcp_bg.png" new file mode 100644 index 0000000..cc28872 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/SEPARATOR/mcp_bg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/SEPARATOR/mcp_bgsel.png" "b/ColorThemes/Sources/flat madness\302\240DATA/SEPARATOR/mcp_bgsel.png" new file mode 100644 index 0000000..59f7f65 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/SEPARATOR/mcp_bgsel.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/SEPARATOR/tcp_bg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/SEPARATOR/tcp_bg.png" new file mode 100644 index 0000000..cee381a Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/SEPARATOR/tcp_bg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/SEPARATOR/tcp_bgsel.png" "b/ColorThemes/Sources/flat madness\302\240DATA/SEPARATOR/tcp_bgsel.png" new file mode 100644 index 0000000..30db016 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/SEPARATOR/tcp_bgsel.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/SOLID COLOR/mcp_bg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/SOLID COLOR/mcp_bg.png" new file mode 100644 index 0000000..f54cca2 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/SOLID COLOR/mcp_bg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/SOLID COLOR/mcp_bgsel.png" "b/ColorThemes/Sources/flat madness\302\240DATA/SOLID COLOR/mcp_bgsel.png" new file mode 100644 index 0000000..975e00f Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/SOLID COLOR/mcp_bgsel.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/SOLID COLOR/mcp_fxlist_bg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/SOLID COLOR/mcp_fxlist_bg.png" new file mode 100644 index 0000000..c65ac8a Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/SOLID COLOR/mcp_fxlist_bg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/SOLID COLOR/tcp_bg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/SOLID COLOR/tcp_bg.png" new file mode 100644 index 0000000..367c249 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/SOLID COLOR/tcp_bg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/SOLID COLOR/tcp_bgsel.png" "b/ColorThemes/Sources/flat madness\302\240DATA/SOLID COLOR/tcp_bgsel.png" new file mode 100644 index 0000000..d108656 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/SOLID COLOR/tcp_bgsel.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/TRACK_MONO.png" "b/ColorThemes/Sources/flat madness\302\240DATA/TRACK_MONO.png" new file mode 100644 index 0000000..f6a2fbc Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/TRACK_MONO.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/Toolbar_Colors.png" "b/ColorThemes/Sources/flat madness\302\240DATA/Toolbar_Colors.png" new file mode 100644 index 0000000..771a704 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/Toolbar_Colors.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/Toolbar_LUFS_23.png" "b/ColorThemes/Sources/flat madness\302\240DATA/Toolbar_LUFS_23.png" new file mode 100644 index 0000000..784caa8 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/Toolbar_LUFS_23.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/Toolbar_lufs.png" "b/ColorThemes/Sources/flat madness\302\240DATA/Toolbar_lufs.png" new file mode 100644 index 0000000..952f77d Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/Toolbar_lufs.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/Toolbar_region_addren.png" "b/ColorThemes/Sources/flat madness\302\240DATA/Toolbar_region_addren.png" new file mode 100644 index 0000000..1d4443a Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/Toolbar_region_addren.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/Toolbar_region_colorize.png" "b/ColorThemes/Sources/flat madness\302\240DATA/Toolbar_region_colorize.png" new file mode 100644 index 0000000..8855574 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/Toolbar_region_colorize.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/Toolbar_region_edit.png" "b/ColorThemes/Sources/flat madness\302\240DATA/Toolbar_region_edit.png" new file mode 100644 index 0000000..55d0029 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/Toolbar_region_edit.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/Toolbar_region_remove.png" "b/ColorThemes/Sources/flat madness\302\240DATA/Toolbar_region_remove.png" new file mode 100644 index 0000000..f5d3ba1 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/Toolbar_region_remove.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/Toolbar_ripple_track.png" "b/ColorThemes/Sources/flat madness\302\240DATA/Toolbar_ripple_track.png" new file mode 100644 index 0000000..bbe77d1 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/Toolbar_ripple_track.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/Transport_bpm_bg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/Transport_bpm_bg.png" new file mode 100644 index 0000000..030ca7a Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/Transport_bpm_bg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/Transport_edit_bg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/Transport_edit_bg.png" new file mode 100644 index 0000000..94e54d1 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/Transport_edit_bg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/Transport_end.png" "b/ColorThemes/Sources/flat madness\302\240DATA/Transport_end.png" new file mode 100644 index 0000000..d9c60f0 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/Transport_end.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/Transport_group_bg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/Transport_group_bg.png" new file mode 100644 index 0000000..e9f28a1 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/Transport_group_bg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/Transport_home.png" "b/ColorThemes/Sources/flat madness\302\240DATA/Transport_home.png" new file mode 100644 index 0000000..62e161e Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/Transport_home.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/Transport_next.png" "b/ColorThemes/Sources/flat madness\302\240DATA/Transport_next.png" new file mode 100644 index 0000000..53d0379 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/Transport_next.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/Transport_pause.png" "b/ColorThemes/Sources/flat madness\302\240DATA/Transport_pause.png" new file mode 100644 index 0000000..17cf633 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/Transport_pause.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/Transport_pause_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/Transport_pause_on.png" new file mode 100644 index 0000000..743d1be Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/Transport_pause_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/Transport_play.png" "b/ColorThemes/Sources/flat madness\302\240DATA/Transport_play.png" new file mode 100644 index 0000000..df2d04b Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/Transport_play.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/Transport_play_Sync.png" "b/ColorThemes/Sources/flat madness\302\240DATA/Transport_play_Sync.png" new file mode 100644 index 0000000..16f5fa9 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/Transport_play_Sync.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/Transport_play_Sync_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/Transport_play_Sync_on.png" new file mode 100644 index 0000000..b4be1e8 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/Transport_play_Sync_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/Transport_play_on \320\272\320\276\320\277\320\270\321\217.png" "b/ColorThemes/Sources/flat madness\302\240DATA/Transport_play_on \320\272\320\276\320\277\320\270\321\217.png" new file mode 100644 index 0000000..c235af8 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/Transport_play_on \320\272\320\276\320\277\320\270\321\217.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/Transport_play_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/Transport_play_on.png" new file mode 100644 index 0000000..4c30759 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/Transport_play_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/Transport_playspeedbg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/Transport_playspeedbg.png" new file mode 100644 index 0000000..b1cab7e Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/Transport_playspeedbg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/Transport_previous.png" "b/ColorThemes/Sources/flat madness\302\240DATA/Transport_previous.png" new file mode 100644 index 0000000..0409075 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/Transport_previous.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/Transport_record on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/Transport_record on.png" new file mode 100644 index 0000000..69076de Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/Transport_record on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/Transport_record.png" "b/ColorThemes/Sources/flat madness\302\240DATA/Transport_record.png" new file mode 100644 index 0000000..ed7a840 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/Transport_record.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/Transport_record_item.png" "b/ColorThemes/Sources/flat madness\302\240DATA/Transport_record_item.png" new file mode 100644 index 0000000..49881af Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/Transport_record_item.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/Transport_record_item_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/Transport_record_item_on.png" new file mode 100644 index 0000000..3af709e Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/Transport_record_item_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/Transport_record_loop.png" "b/ColorThemes/Sources/flat madness\302\240DATA/Transport_record_loop.png" new file mode 100644 index 0000000..f0faf71 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/Transport_record_loop.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/Transport_record_loop_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/Transport_record_loop_on.png" new file mode 100644 index 0000000..abcf83c Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/Transport_record_loop_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/Transport_record_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/Transport_record_on.png" new file mode 100644 index 0000000..1444b4e Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/Transport_record_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/Transport_repeat_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/Transport_repeat_off.png" new file mode 100644 index 0000000..388673d Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/Transport_repeat_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/Transport_repeat_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/Transport_repeat_on.png" new file mode 100644 index 0000000..c203af5 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/Transport_repeat_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/Transport_status_bg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/Transport_status_bg.png" new file mode 100644 index 0000000..07213ee Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/Transport_status_bg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/Transport_stop.png" "b/ColorThemes/Sources/flat madness\302\240DATA/Transport_stop.png" new file mode 100644 index 0000000..7b1bb2a Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/Transport_stop.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/envcp_bg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/envcp_bg.png" new file mode 100644 index 0000000..3644822 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/envcp_bg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/envcp_bgsel.png" "b/ColorThemes/Sources/flat madness\302\240DATA/envcp_bgsel.png" new file mode 100644 index 0000000..ccee48a Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/envcp_bgsel.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/envcp_bypass_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/envcp_bypass_off.png" new file mode 100644 index 0000000..7aeffb9 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/envcp_bypass_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/envcp_bypass_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/envcp_bypass_on.png" new file mode 100755 index 0000000..eaa44af Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/envcp_bypass_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/envcp_fader.png" "b/ColorThemes/Sources/flat madness\302\240DATA/envcp_fader.png" new file mode 100644 index 0000000..03092ea Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/envcp_fader.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/envcp_fader_vert.png" "b/ColorThemes/Sources/flat madness\302\240DATA/envcp_fader_vert.png" new file mode 100755 index 0000000..ae08866 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/envcp_fader_vert.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/envcp_faderbg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/envcp_faderbg.png" new file mode 100644 index 0000000..c5a8318 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/envcp_faderbg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/envcp_faderbg_vert.png" "b/ColorThemes/Sources/flat madness\302\240DATA/envcp_faderbg_vert.png" new file mode 100755 index 0000000..ae08866 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/envcp_faderbg_vert.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/envcp_hide.png" "b/ColorThemes/Sources/flat madness\302\240DATA/envcp_hide.png" new file mode 100755 index 0000000..54a05f6 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/envcp_hide.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/envcp_learn.png" "b/ColorThemes/Sources/flat madness\302\240DATA/envcp_learn.png" new file mode 100644 index 0000000..9a25e44 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/envcp_learn.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/envcp_learn_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/envcp_learn_on.png" new file mode 100644 index 0000000..d646b65 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/envcp_learn_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/envcp_namebg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/envcp_namebg.png" new file mode 100644 index 0000000..883c4b7 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/envcp_namebg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/envcp_namebgsel.png" "b/ColorThemes/Sources/flat madness\302\240DATA/envcp_namebgsel.png" new file mode 100755 index 0000000..c9d7978 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/envcp_namebgsel.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/envcp_parammod.png" "b/ColorThemes/Sources/flat madness\302\240DATA/envcp_parammod.png" new file mode 100644 index 0000000..b5ebb73 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/envcp_parammod.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/envcp_parammod_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/envcp_parammod_on.png" new file mode 100644 index 0000000..3131c70 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/envcp_parammod_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/folder_comp_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/folder_comp_off.png" new file mode 100644 index 0000000..6224ed1 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/folder_comp_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/folder_end.png" "b/ColorThemes/Sources/flat madness\302\240DATA/folder_end.png" new file mode 100644 index 0000000..4968a76 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/folder_end.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/folder_indent.png" "b/ColorThemes/Sources/flat madness\302\240DATA/folder_indent.png" new file mode 100644 index 0000000..d8b36e5 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/folder_indent.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/folder_start.png" "b/ColorThemes/Sources/flat madness\302\240DATA/folder_start.png" new file mode 100755 index 0000000..0775d46 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/folder_start.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/gen_back.png" "b/ColorThemes/Sources/flat madness\302\240DATA/gen_back.png" new file mode 100644 index 0000000..c932ab1 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/gen_back.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/gen_back_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/gen_back_on.png" new file mode 100644 index 0000000..bf89a7a Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/gen_back_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/gen_end.png" "b/ColorThemes/Sources/flat madness\302\240DATA/gen_end.png" new file mode 100644 index 0000000..879bd24 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/gen_end.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/gen_env.png" "b/ColorThemes/Sources/flat madness\302\240DATA/gen_env.png" new file mode 100644 index 0000000..7690a6b Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/gen_env.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/gen_env_latch.png" "b/ColorThemes/Sources/flat madness\302\240DATA/gen_env_latch.png" new file mode 100644 index 0000000..f07715b Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/gen_env_latch.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/gen_env_preview.png" "b/ColorThemes/Sources/flat madness\302\240DATA/gen_env_preview.png" new file mode 100644 index 0000000..9274360 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/gen_env_preview.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/gen_env_read.png" "b/ColorThemes/Sources/flat madness\302\240DATA/gen_env_read.png" new file mode 100644 index 0000000..606bf02 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/gen_env_read.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/gen_env_touch.png" "b/ColorThemes/Sources/flat madness\302\240DATA/gen_env_touch.png" new file mode 100644 index 0000000..2e99b48 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/gen_env_touch.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/gen_env_write.png" "b/ColorThemes/Sources/flat madness\302\240DATA/gen_env_write.png" new file mode 100644 index 0000000..965b785 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/gen_env_write.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/gen_forward.png" "b/ColorThemes/Sources/flat madness\302\240DATA/gen_forward.png" new file mode 100644 index 0000000..9b4a131 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/gen_forward.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/gen_forward_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/gen_forward_on.png" new file mode 100644 index 0000000..10584d4 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/gen_forward_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/gen_home.png" "b/ColorThemes/Sources/flat madness\302\240DATA/gen_home.png" new file mode 100644 index 0000000..90dee53 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/gen_home.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/gen_io.png" "b/ColorThemes/Sources/flat madness\302\240DATA/gen_io.png" new file mode 100644 index 0000000..a78ec0f Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/gen_io.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/gen_knob_bg_large.png" "b/ColorThemes/Sources/flat madness\302\240DATA/gen_knob_bg_large.png" new file mode 100644 index 0000000..ed8186d Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/gen_knob_bg_large.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/gen_knob_bg_small.png" "b/ColorThemes/Sources/flat madness\302\240DATA/gen_knob_bg_small.png" new file mode 100644 index 0000000..995f5a1 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/gen_knob_bg_small.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/gen_midi_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/gen_midi_off.png" new file mode 100755 index 0000000..fa0db5b Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/gen_midi_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/gen_midi_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/gen_midi_on.png" new file mode 100755 index 0000000..9a204fe Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/gen_midi_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/gen_mono.png" "b/ColorThemes/Sources/flat madness\302\240DATA/gen_mono.png" new file mode 100644 index 0000000..27c4682 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/gen_mono.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/gen_mute_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/gen_mute_off.png" new file mode 100644 index 0000000..e6e5972 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/gen_mute_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/gen_mute_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/gen_mute_on.png" new file mode 100644 index 0000000..6be4261 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/gen_mute_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/gen_next.png" "b/ColorThemes/Sources/flat madness\302\240DATA/gen_next.png" new file mode 100644 index 0000000..fa980f5 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/gen_next.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/gen_panbg_horz.png" "b/ColorThemes/Sources/flat madness\302\240DATA/gen_panbg_horz.png" new file mode 100644 index 0000000..f9c021b Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/gen_panbg_horz.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/gen_panthumb_horz.png" "b/ColorThemes/Sources/flat madness\302\240DATA/gen_panthumb_horz.png" new file mode 100644 index 0000000..cb35af4 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/gen_panthumb_horz.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/gen_panthumb_vert.png" "b/ColorThemes/Sources/flat madness\302\240DATA/gen_panthumb_vert.png" new file mode 100644 index 0000000..473f888 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/gen_panthumb_vert.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/gen_pause.png" "b/ColorThemes/Sources/flat madness\302\240DATA/gen_pause.png" new file mode 100644 index 0000000..902ae57 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/gen_pause.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/gen_pause_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/gen_pause_off.png" new file mode 100644 index 0000000..982ed21 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/gen_pause_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/gen_pause_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/gen_pause_on.png" new file mode 100644 index 0000000..214727d Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/gen_pause_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/gen_phase_inv.png" "b/ColorThemes/Sources/flat madness\302\240DATA/gen_phase_inv.png" new file mode 100644 index 0000000..fd0bc54 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/gen_phase_inv.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/gen_phase_norm.png" "b/ColorThemes/Sources/flat madness\302\240DATA/gen_phase_norm.png" new file mode 100644 index 0000000..7ac8424 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/gen_phase_norm.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/gen_play.png" "b/ColorThemes/Sources/flat madness\302\240DATA/gen_play.png" new file mode 100644 index 0000000..522943a Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/gen_play.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/gen_play_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/gen_play_on.png" new file mode 100644 index 0000000..86e640b Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/gen_play_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/gen_refresh.png" "b/ColorThemes/Sources/flat madness\302\240DATA/gen_refresh.png" new file mode 100644 index 0000000..bc625a6 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/gen_refresh.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/gen_repeat.png" "b/ColorThemes/Sources/flat madness\302\240DATA/gen_repeat.png" new file mode 100644 index 0000000..23b4107 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/gen_repeat.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/gen_repeat_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/gen_repeat_off.png" new file mode 100644 index 0000000..81efaa9 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/gen_repeat_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/gen_repeat_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/gen_repeat_on.png" new file mode 100644 index 0000000..23b4107 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/gen_repeat_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/gen_stereo.png" "b/ColorThemes/Sources/flat madness\302\240DATA/gen_stereo.png" new file mode 100644 index 0000000..b042501 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/gen_stereo.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/gen_stop.png" "b/ColorThemes/Sources/flat madness\302\240DATA/gen_stop.png" new file mode 100644 index 0000000..e470af9 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/gen_stop.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/gen_up.png" "b/ColorThemes/Sources/flat madness\302\240DATA/gen_up.png" new file mode 100644 index 0000000..bd57d84 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/gen_up.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/gen_volbg_horz.png" "b/ColorThemes/Sources/flat madness\302\240DATA/gen_volbg_horz.png" new file mode 100644 index 0000000..f9c021b Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/gen_volbg_horz.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/gen_volbg_vert.png" "b/ColorThemes/Sources/flat madness\302\240DATA/gen_volbg_vert.png" new file mode 100644 index 0000000..0ddb740 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/gen_volbg_vert.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/gen_volthumb_horz.png" "b/ColorThemes/Sources/flat madness\302\240DATA/gen_volthumb_horz.png" new file mode 100644 index 0000000..c164ff4 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/gen_volthumb_horz.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/gen_volthumb_vert.png" "b/ColorThemes/Sources/flat madness\302\240DATA/gen_volthumb_vert.png" new file mode 100644 index 0000000..473f888 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/gen_volthumb_vert.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/global_bypass.png" "b/ColorThemes/Sources/flat madness\302\240DATA/global_bypass.png" new file mode 100644 index 0000000..6aa6bd1 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/global_bypass.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/global_latch.png" "b/ColorThemes/Sources/flat madness\302\240DATA/global_latch.png" new file mode 100644 index 0000000..6382300 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/global_latch.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/global_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/global_off.png" new file mode 100644 index 0000000..77c8e0b Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/global_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/global_pre.png" "b/ColorThemes/Sources/flat madness\302\240DATA/global_pre.png" new file mode 100644 index 0000000..1599ab0 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/global_pre.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/global_preview.png" "b/ColorThemes/Sources/flat madness\302\240DATA/global_preview.png" new file mode 100644 index 0000000..d4b6370 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/global_preview.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/global_read.png" "b/ColorThemes/Sources/flat madness\302\240DATA/global_read.png" new file mode 100644 index 0000000..c9def92 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/global_read.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/global_touch.png" "b/ColorThemes/Sources/flat madness\302\240DATA/global_touch.png" new file mode 100644 index 0000000..d445845 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/global_touch.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/global_trim.png" "b/ColorThemes/Sources/flat madness\302\240DATA/global_trim.png" new file mode 100644 index 0000000..a67511b Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/global_trim.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/global_write.png" "b/ColorThemes/Sources/flat madness\302\240DATA/global_write.png" new file mode 100644 index 0000000..06b128c Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/global_write.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/item_active.png" "b/ColorThemes/Sources/flat madness\302\240DATA/item_active.png" new file mode 100755 index 0000000..60c6331 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/item_active.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/item_active_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/item_active_on.png" new file mode 100755 index 0000000..175146c Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/item_active_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/item_bg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/item_bg.png" new file mode 100644 index 0000000..27cdc26 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/item_bg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/item_bg_sel.png" "b/ColorThemes/Sources/flat madness\302\240DATA/item_bg_sel.png" new file mode 100644 index 0000000..92c5d38 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/item_bg_sel.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/item_env_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/item_env_off.png" new file mode 100644 index 0000000..a2f7fff Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/item_env_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/item_env_off_hidpi.png" "b/ColorThemes/Sources/flat madness\302\240DATA/item_env_off_hidpi.png" new file mode 100644 index 0000000..3151d9c Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/item_env_off_hidpi.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/item_env_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/item_env_on.png" new file mode 100644 index 0000000..5776b97 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/item_env_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/item_env_on_hidpi.png" "b/ColorThemes/Sources/flat madness\302\240DATA/item_env_on_hidpi.png" new file mode 100644 index 0000000..57a93e2 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/item_env_on_hidpi.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/item_fx_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/item_fx_off.png" new file mode 100644 index 0000000..f59f854 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/item_fx_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/item_fx_off_hidpi.png" "b/ColorThemes/Sources/flat madness\302\240DATA/item_fx_off_hidpi.png" new file mode 100644 index 0000000..069e887 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/item_fx_off_hidpi.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/item_fx_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/item_fx_on.png" new file mode 100644 index 0000000..c4d345b Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/item_fx_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/item_fx_on_hidpi.png" "b/ColorThemes/Sources/flat madness\302\240DATA/item_fx_on_hidpi.png" new file mode 100644 index 0000000..e049498 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/item_fx_on_hidpi.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/item_group.png" "b/ColorThemes/Sources/flat madness\302\240DATA/item_group.png" new file mode 100644 index 0000000..c3ecaab Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/item_group.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/item_group_hidpi.png" "b/ColorThemes/Sources/flat madness\302\240DATA/item_group_hidpi.png" new file mode 100644 index 0000000..fac453a Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/item_group_hidpi.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/item_group_sel.png" "b/ColorThemes/Sources/flat madness\302\240DATA/item_group_sel.png" new file mode 100644 index 0000000..0918de7 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/item_group_sel.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/item_group_sel_hidpi.png" "b/ColorThemes/Sources/flat madness\302\240DATA/item_group_sel_hidpi.png" new file mode 100644 index 0000000..7c13c4c Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/item_group_sel_hidpi.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/item_lock_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/item_lock_off.png" new file mode 100644 index 0000000..300996d Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/item_lock_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/item_lock_off_hidpi.png" "b/ColorThemes/Sources/flat madness\302\240DATA/item_lock_off_hidpi.png" new file mode 100644 index 0000000..b9401e3 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/item_lock_off_hidpi.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/item_lock_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/item_lock_on.png" new file mode 100644 index 0000000..928cea5 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/item_lock_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/item_lock_on_hidpi.png" "b/ColorThemes/Sources/flat madness\302\240DATA/item_lock_on_hidpi.png" new file mode 100644 index 0000000..546b0b8 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/item_lock_on_hidpi.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/item_loop.png" "b/ColorThemes/Sources/flat madness\302\240DATA/item_loop.png" new file mode 100755 index 0000000..c1c1441 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/item_loop.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/item_loop_hidpi.png" "b/ColorThemes/Sources/flat madness\302\240DATA/item_loop_hidpi.png" new file mode 100755 index 0000000..f31f49f Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/item_loop_hidpi.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/item_loop_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/item_loop_off.png" new file mode 100644 index 0000000..0cba86b Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/item_loop_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/item_loop_off_hidpi.png" "b/ColorThemes/Sources/flat madness\302\240DATA/item_loop_off_hidpi.png" new file mode 100644 index 0000000..77d90f5 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/item_loop_off_hidpi.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/item_mute_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/item_mute_off.png" new file mode 100644 index 0000000..adbeed2 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/item_mute_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/item_mute_off_hidpi.png" "b/ColorThemes/Sources/flat madness\302\240DATA/item_mute_off_hidpi.png" new file mode 100644 index 0000000..aa9a51c Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/item_mute_off_hidpi.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/item_mute_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/item_mute_on.png" new file mode 100644 index 0000000..c874d6c Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/item_mute_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/item_mute_on_hidpi.png" "b/ColorThemes/Sources/flat madness\302\240DATA/item_mute_on_hidpi.png" new file mode 100644 index 0000000..0acf921 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/item_mute_on_hidpi.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/item_note_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/item_note_off.png" new file mode 100644 index 0000000..4ebd836 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/item_note_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/item_note_off_hidpi.png" "b/ColorThemes/Sources/flat madness\302\240DATA/item_note_off_hidpi.png" new file mode 100644 index 0000000..4e02458 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/item_note_off_hidpi.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/item_note_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/item_note_on.png" new file mode 100644 index 0000000..558d0be Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/item_note_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/item_note_on_hidpi.png" "b/ColorThemes/Sources/flat madness\302\240DATA/item_note_on_hidpi.png" new file mode 100644 index 0000000..0c7261f Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/item_note_on_hidpi.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/item_props.png" "b/ColorThemes/Sources/flat madness\302\240DATA/item_props.png" new file mode 100755 index 0000000..49b3255 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/item_props.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/item_props_hidpi.png" "b/ColorThemes/Sources/flat madness\302\240DATA/item_props_hidpi.png" new file mode 100755 index 0000000..cba12a7 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/item_props_hidpi.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/item_props_off_hidpi.png" "b/ColorThemes/Sources/flat madness\302\240DATA/item_props_off_hidpi.png" new file mode 100644 index 0000000..15f06ca Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/item_props_off_hidpi.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/item_props_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/item_props_on.png" new file mode 100644 index 0000000..86487e1 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/item_props_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/item_props_on_hidpi.png" "b/ColorThemes/Sources/flat madness\302\240DATA/item_props_on_hidpi.png" new file mode 100644 index 0000000..5166117 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/item_props_on_hidpi.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/item_vol.png" "b/ColorThemes/Sources/flat madness\302\240DATA/item_vol.png" new file mode 100644 index 0000000..5f0b85d Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/item_vol.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/item_vol_knob_stack.png" "b/ColorThemes/Sources/flat madness\302\240DATA/item_vol_knob_stack.png" new file mode 100644 index 0000000..829a765 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/item_vol_knob_stack.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/item_vol_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/item_vol_on.png" new file mode 100644 index 0000000..5fa1c7a Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/item_vol_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/item_volknob_stack.png" "b/ColorThemes/Sources/flat madness\302\240DATA/item_volknob_stack.png" new file mode 100644 index 0000000..a06fd58 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/item_volknob_stack.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/mcp_bg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_bg.png" new file mode 100644 index 0000000..d71593b Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_bg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/mcp_bgsel.png" "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_bgsel.png" new file mode 100644 index 0000000..8bf31c7 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_bgsel.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/mcp_extmixbg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_extmixbg.png" new file mode 100644 index 0000000..bee09b4 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_extmixbg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/mcp_fcomp_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_fcomp_off.png" new file mode 100644 index 0000000..53c2af0 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_fcomp_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/mcp_fcomp_tiny.png" "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_fcomp_tiny.png" new file mode 100644 index 0000000..4ba6940 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_fcomp_tiny.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/mcp_folder_last.png" "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_folder_last.png" new file mode 100644 index 0000000..96c05ba Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_folder_last.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/mcp_folder_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_folder_on.png" new file mode 100644 index 0000000..d89a5d6 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_folder_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/mcp_fx_in_empty.png" "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_fx_in_empty.png" new file mode 100755 index 0000000..606c3a5 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_fx_in_empty.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/mcp_fx_in_norm.png" "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_fx_in_norm.png" new file mode 100755 index 0000000..cbcae4a Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_fx_in_norm.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/mcp_fxarm_bg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_fxarm_bg.png" new file mode 100755 index 0000000..5c1e7fd Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_fxarm_bg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/mcp_fxlist.png" "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_fxlist.png" new file mode 100644 index 0000000..52eb1dc Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_fxlist.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/mcp_fxlist_bg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_fxlist_bg.png" new file mode 100644 index 0000000..ec5a742 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_fxlist_bg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/mcp_fxlist_byp.png" "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_fxlist_byp.png" new file mode 100644 index 0000000..1b150bb Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_fxlist_byp.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/mcp_fxlist_empty.png" "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_fxlist_empty.png" new file mode 100644 index 0000000..561d851 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_fxlist_empty.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/mcp_fxlist_norm.png" "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_fxlist_norm.png" new file mode 100644 index 0000000..b5f2fce Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_fxlist_norm.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/mcp_fxlist_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_fxlist_off.png" new file mode 100644 index 0000000..1b150bb Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_fxlist_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/mcp_fxparm_bg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_fxparm_bg.png" new file mode 100644 index 0000000..f64e578 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_fxparm_bg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/mcp_fxparm_byp.png" "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_fxparm_byp.png" new file mode 100644 index 0000000..fa0e36d Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_fxparm_byp.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/mcp_fxparm_knob-44.png" "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_fxparm_knob-44.png" new file mode 100755 index 0000000..b75f48d Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_fxparm_knob-44.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/mcp_fxparm_knob.png" "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_fxparm_knob.png" new file mode 100755 index 0000000..223b18f Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_fxparm_knob.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/mcp_fxparm_knob_bg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_fxparm_knob_bg.png" new file mode 100755 index 0000000..a42ac8c Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_fxparm_knob_bg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/mcp_fxparm_norm.png" "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_fxparm_norm.png" new file mode 100644 index 0000000..a5dacef Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_fxparm_norm.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/mcp_fxparm_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_fxparm_off.png" new file mode 100644 index 0000000..3f15d3a Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_fxparm_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/mcp_iconbg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_iconbg.png" new file mode 100644 index 0000000..7d089c1 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_iconbg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/mcp_iconbg_sel.png" "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_iconbg_sel.png" new file mode 100644 index 0000000..bf70b86 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_iconbg_sel.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/mcp_iconbgsel.png" "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_iconbgsel.png" new file mode 100644 index 0000000..bf70b86 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_iconbgsel.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/mcp_idxbg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_idxbg.png" new file mode 100644 index 0000000..37969e8 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_idxbg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/mcp_idxbg_sel.png" "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_idxbg_sel.png" new file mode 100644 index 0000000..07c1615 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_idxbg_sel.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/mcp_io.png" "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_io.png" new file mode 100644 index 0000000..00faadc Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_io.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/mcp_io_dis.png" "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_io_dis.png" new file mode 100644 index 0000000..dee2551 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_io_dis.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/mcp_io_r.png" "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_io_r.png" new file mode 100644 index 0000000..9144652 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_io_r.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/mcp_io_r_dis.png" "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_io_r_dis.png" new file mode 100644 index 0000000..39e75c1 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_io_r_dis.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/mcp_io_s.png" "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_io_s.png" new file mode 100644 index 0000000..3fe136f Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_io_s.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/mcp_io_s_dis.png" "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_io_s_dis.png" new file mode 100644 index 0000000..fdb81f9 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_io_s_dis.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/mcp_io_s_r.png" "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_io_s_r.png" new file mode 100644 index 0000000..f55d69f Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_io_s_r.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/mcp_io_s_r_dis.png" "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_io_s_r_dis.png" new file mode 100644 index 0000000..e40f26a Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_io_s_r_dis.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/mcp_main_namebg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_main_namebg.png" new file mode 100755 index 0000000..9ea5bf4 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_main_namebg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/mcp_main_namebg_sel.png" "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_main_namebg_sel.png" new file mode 100755 index 0000000..5a927a7 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_main_namebg_sel.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/mcp_mainbg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_mainbg.png" new file mode 100644 index 0000000..bb6b07d Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_mainbg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/mcp_mainbg_sel.png" "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_mainbg_sel.png" new file mode 100644 index 0000000..4346dbd Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_mainbg_sel.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/mcp_mainbgsel.png" "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_mainbgsel.png" new file mode 100644 index 0000000..166d2d4 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_mainbgsel.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/mcp_master_pan_knob_stack.png" "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_master_pan_knob_stack.png" new file mode 100644 index 0000000..1960c7c Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_master_pan_knob_stack.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/mcp_master_vol_label.png" "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_master_vol_label.png" new file mode 100644 index 0000000..9782fd6 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_master_vol_label.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/mcp_master_volbg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_master_volbg.png" new file mode 100644 index 0000000..5fcbed8 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_master_volbg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/mcp_mono.png" "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_mono.png" new file mode 100644 index 0000000..8c53258 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_mono.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/mcp_mute_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_mute_off.png" new file mode 100644 index 0000000..b69c4b2 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_mute_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/mcp_mute_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_mute_on.png" new file mode 100644 index 0000000..ca27058 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_mute_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/mcp_namebg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_namebg.png" new file mode 100644 index 0000000..fa4ac56 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_namebg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/mcp_phase_norm.png" "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_phase_norm.png" new file mode 100644 index 0000000..f94088a Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_phase_norm.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/mcp_send_knob_stack.png" "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_send_knob_stack.png" new file mode 100644 index 0000000..99db5a4 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_send_knob_stack.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/mcp_send_knobstack.png" "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_send_knobstack.png" new file mode 100644 index 0000000..99db5a4 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_send_knobstack.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/mcp_sendlist_bg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_sendlist_bg.png" new file mode 100644 index 0000000..9a0110b Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_sendlist_bg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/mcp_sendlist_empty.png" "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_sendlist_empty.png" new file mode 100644 index 0000000..561d851 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_sendlist_empty.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/mcp_sendlist_knob.png" "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_sendlist_knob.png" new file mode 100755 index 0000000..3670432 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_sendlist_knob.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/mcp_sendlist_knob_bg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_sendlist_knob_bg.png" new file mode 100755 index 0000000..fde953e Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_sendlist_knob_bg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/mcp_sendlist_meter.png" "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_sendlist_meter.png" new file mode 100644 index 0000000..86df704 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_sendlist_meter.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/mcp_sendlist_mute.png" "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_sendlist_mute.png" new file mode 100644 index 0000000..66753fa Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_sendlist_mute.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/mcp_sendlist_norm.png" "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_sendlist_norm.png" new file mode 100644 index 0000000..bd8ee83 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_sendlist_norm.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/mcp_solo_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_solo_off.png" new file mode 100644 index 0000000..3807374 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_solo_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/mcp_solo_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_solo_on.png" new file mode 100644 index 0000000..aa84c36 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_solo_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/mcp_stereo.png" "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_stereo.png" new file mode 100644 index 0000000..d124f06 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_stereo.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/mcp_vol_label.png" "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_vol_label.png" new file mode 100644 index 0000000..e33fef9 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_vol_label.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/mcp_volbg.png" "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_volbg.png" new file mode 100644 index 0000000..2e7be6c Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_volbg.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/mcp_volthumb.png" "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_volthumb.png" new file mode 100644 index 0000000..1b6f6b6 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/mcp_volthumb.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/meter_bg_h.png" "b/ColorThemes/Sources/flat madness\302\240DATA/meter_bg_h.png" new file mode 100644 index 0000000..36c9cd1 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/meter_bg_h.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/meter_bg_horz.png" "b/ColorThemes/Sources/flat madness\302\240DATA/meter_bg_horz.png" new file mode 100644 index 0000000..fc147ab Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/meter_bg_horz.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/meter_bg_mcp_master.png" "b/ColorThemes/Sources/flat madness\302\240DATA/meter_bg_mcp_master.png" new file mode 100644 index 0000000..fc32f4b Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/meter_bg_mcp_master.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/meter_bg_tcp.png" "b/ColorThemes/Sources/flat madness\302\240DATA/meter_bg_tcp.png" new file mode 100644 index 0000000..70b7170 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/meter_bg_tcp.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/meter_bg_tcp_h.png" "b/ColorThemes/Sources/flat madness\302\240DATA/meter_bg_tcp_h.png" new file mode 100644 index 0000000..2f78f9f Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/meter_bg_tcp_h.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/meter_bg_tcp_horz.png" "b/ColorThemes/Sources/flat madness\302\240DATA/meter_bg_tcp_horz.png" new file mode 100644 index 0000000..c41f655 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/meter_bg_tcp_horz.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/meter_clip_h.png" "b/ColorThemes/Sources/flat madness\302\240DATA/meter_clip_h.png" new file mode 100644 index 0000000..eca4598 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/meter_clip_h.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/meter_clip_v.png" "b/ColorThemes/Sources/flat madness\302\240DATA/meter_clip_v.png" new file mode 100644 index 0000000..ace135e Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/meter_clip_v.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/meter_folder_mute.png" "b/ColorThemes/Sources/flat madness\302\240DATA/meter_folder_mute.png" new file mode 100644 index 0000000..bf6c8c8 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/meter_folder_mute.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/meter_foldermute.png" "b/ColorThemes/Sources/flat madness\302\240DATA/meter_foldermute.png" new file mode 100644 index 0000000..6bb9f48 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/meter_foldermute.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/meter_mute.png" "b/ColorThemes/Sources/flat madness\302\240DATA/meter_mute.png" new file mode 100644 index 0000000..3f0760f Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/meter_mute.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/meter_muted.png" "b/ColorThemes/Sources/flat madness\302\240DATA/meter_muted.png" new file mode 100644 index 0000000..3ca5c08 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/meter_muted.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/meter_ol_mcp.png" "b/ColorThemes/Sources/flat madness\302\240DATA/meter_ol_mcp.png" new file mode 100644 index 0000000..00b9f2b Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/meter_ol_mcp.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/meter_ol_mcp_master.png" "b/ColorThemes/Sources/flat madness\302\240DATA/meter_ol_mcp_master.png" new file mode 100644 index 0000000..58b5047 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/meter_ol_mcp_master.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/meter_ol_tcp.png" "b/ColorThemes/Sources/flat madness\302\240DATA/meter_ol_tcp.png" new file mode 100644 index 0000000..20377d0 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/meter_ol_tcp.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/meter_solo.png" "b/ColorThemes/Sources/flat madness\302\240DATA/meter_solo.png" new file mode 100755 index 0000000..95977df Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/meter_solo.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/meter_solodim.png" "b/ColorThemes/Sources/flat madness\302\240DATA/meter_solodim.png" new file mode 100755 index 0000000..f4d4e4d Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/meter_solodim.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/meter_strip_h.png" "b/ColorThemes/Sources/flat madness\302\240DATA/meter_strip_h.png" new file mode 100644 index 0000000..b3c98d4 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/meter_strip_h.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/meter_strip_h_rms.png" "b/ColorThemes/Sources/flat madness\302\240DATA/meter_strip_h_rms.png" new file mode 100644 index 0000000..703f28c Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/meter_strip_h_rms.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/meter_strip_v.png" "b/ColorThemes/Sources/flat madness\302\240DATA/meter_strip_v.png" new file mode 100644 index 0000000..d0a6e1f Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/meter_strip_v.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/meter_strip_v_rms.png" "b/ColorThemes/Sources/flat madness\302\240DATA/meter_strip_v_rms.png" new file mode 100644 index 0000000..08c325f Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/meter_strip_v_rms.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/meter_unsolo.png" "b/ColorThemes/Sources/flat madness\302\240DATA/meter_unsolo.png" new file mode 100755 index 0000000..60063c8 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/meter_unsolo.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/midi_inline_ccwithitems_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/midi_inline_ccwithitems_off.png" new file mode 100644 index 0000000..516f7e7 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/midi_inline_ccwithitems_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/midi_inline_ccwithitems_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/midi_inline_ccwithitems_on.png" new file mode 100644 index 0000000..d4b9fec Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/midi_inline_ccwithitems_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/midi_inline_close.png" "b/ColorThemes/Sources/flat madness\302\240DATA/midi_inline_close.png" new file mode 100644 index 0000000..edca428 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/midi_inline_close.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/midi_inline_fold_none.png" "b/ColorThemes/Sources/flat madness\302\240DATA/midi_inline_fold_none.png" new file mode 100644 index 0000000..b00af6e Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/midi_inline_fold_none.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/midi_inline_fold_unnamed.png" "b/ColorThemes/Sources/flat madness\302\240DATA/midi_inline_fold_unnamed.png" new file mode 100644 index 0000000..81c59b9 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/midi_inline_fold_unnamed.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/midi_inline_fold_unused.png" "b/ColorThemes/Sources/flat madness\302\240DATA/midi_inline_fold_unused.png" new file mode 100644 index 0000000..3d10fa8 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/midi_inline_fold_unused.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/midi_inline_fold_unused_unnamed.png" "b/ColorThemes/Sources/flat madness\302\240DATA/midi_inline_fold_unused_unnamed.png" new file mode 100644 index 0000000..cf65228 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/midi_inline_fold_unused_unnamed.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/midi_inline_noteview_diamond.png" "b/ColorThemes/Sources/flat madness\302\240DATA/midi_inline_noteview_diamond.png" new file mode 100644 index 0000000..d2c170f Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/midi_inline_noteview_diamond.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/midi_inline_noteview_rect.png" "b/ColorThemes/Sources/flat madness\302\240DATA/midi_inline_noteview_rect.png" new file mode 100644 index 0000000..838970a Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/midi_inline_noteview_rect.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/midi_inline_noteview_triangle.png" "b/ColorThemes/Sources/flat madness\302\240DATA/midi_inline_noteview_triangle.png" new file mode 100644 index 0000000..42df56b Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/midi_inline_noteview_triangle.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/midi_inline_scroll.png" "b/ColorThemes/Sources/flat madness\302\240DATA/midi_inline_scroll.png" new file mode 100644 index 0000000..b3fdc98 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/midi_inline_scroll.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/midi_inline_scrollbar.png" "b/ColorThemes/Sources/flat madness\302\240DATA/midi_inline_scrollbar.png" new file mode 100644 index 0000000..a89532c Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/midi_inline_scrollbar.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/midi_inline_scrollthumb.png" "b/ColorThemes/Sources/flat madness\302\240DATA/midi_inline_scrollthumb.png" new file mode 100644 index 0000000..4912d67 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/midi_inline_scrollthumb.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/midi_item_bounds.png" "b/ColorThemes/Sources/flat madness\302\240DATA/midi_item_bounds.png" new file mode 100755 index 0000000..d3ef728 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/midi_item_bounds.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/midi_note_colormap.png" "b/ColorThemes/Sources/flat madness\302\240DATA/midi_note_colormap.png" new file mode 100644 index 0000000..1220c8e Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/midi_note_colormap.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/midi_score_colormap.png" "b/ColorThemes/Sources/flat madness\302\240DATA/midi_score_colormap.png" new file mode 100644 index 0000000..35e75c8 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/midi_score_colormap.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/mixer_menu.png" "b/ColorThemes/Sources/flat madness\302\240DATA/mixer_menu.png" new file mode 100644 index 0000000..063f6ef Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/mixer_menu.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/monitor_fx_byp.png" "b/ColorThemes/Sources/flat madness\302\240DATA/monitor_fx_byp.png" new file mode 100644 index 0000000..06817a3 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/monitor_fx_byp.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/monitor_fx_byp_byp.png" "b/ColorThemes/Sources/flat madness\302\240DATA/monitor_fx_byp_byp.png" new file mode 100644 index 0000000..9bfef42 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/monitor_fx_byp_byp.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/monitor_fx_byp_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/monitor_fx_byp_off.png" new file mode 100644 index 0000000..8893c7e Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/monitor_fx_byp_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/monitor_fx_byp_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/monitor_fx_byp_on.png" new file mode 100644 index 0000000..059e298 Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/monitor_fx_byp_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/monitor_fx_off.png" "b/ColorThemes/Sources/flat madness\302\240DATA/monitor_fx_off.png" new file mode 100644 index 0000000..495cd2b Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/monitor_fx_off.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/monitor_fx_on.png" "b/ColorThemes/Sources/flat madness\302\240DATA/monitor_fx_on.png" new file mode 100644 index 0000000..626b55d Binary files /dev/null and "b/ColorThemes/Sources/flat madness\302\240DATA/monitor_fx_on.png" differ diff --git "a/ColorThemes/Sources/flat madness\302\240DATA/rtconfig.txt" "b/ColorThemes/Sources/flat madness\302\240DATA/rtconfig.txt" new file mode 100644 index 0000000..65d6a72 --- /dev/null +++ "b/ColorThemes/Sources/flat madness\302\240DATA/rtconfig.txt" @@ -0,0 +1,1465 @@ +Flat_Madness_by_Gapalil001 v3 + + you can contact me for any questions and bug report: gapalil001@gmail.com + + created by Dmytry Hapochka. + + special thanks for inspiring : BlankFiles and Albert-C + thanks for technical support and solve some issues: FeedTheCat, Lucas LCS + thanks White Tie for tips, explanations and consulting + thanks to users for improvement requests and for using my theme! + + so... let's get started this desperate shag in a skip + + version 6 + +HEADER + + use_pngs 1 + use_overlays 1 + peaksedges 1 + tcp_folderindent 15 + tcp_folderstart 0 + tcp_folderend 0 + mcp_folderindent 4 + tcp_showborders 0 + mcp_showborders 0 + transport_showborders 0 + tcp_vupeakwidth 1 + mcp_vupeakheight 1 + mcp_mastervupeakheight 1 + mcp_altmeterpos 1 + mcp_vol_zeroline FF00FF00 + tcp_vol_zeroline 25252525 + tcp_pan_zeroline 85000000 + tcp_width_zeroline 85000000 + + tcp_meterv 0 + mcp_meterv 0 + + misc_dpi_translate 134 150 + misc_dpi_translate 174 200 + + + mcp_pan_zeroline 85000000 + mcp_width_zeroline 85000000 + trans_speed_zeroline 85000000 + gen_vol_zeroline 99505050 + gen_pan_zeroline FF000000 + item_volknobfg FF000000 FF000000 FF000000 + tcp_voltext_flags 1 + tcp_master_voltext_flags 4 + mcp_voltext_flags 5 5 + mcp_master_voltext_flags 5 + vertfont_topdown 1 + tcp_heights 0 18 40 96 + envcp_min_height 26 + tcp_master_minheight 18 + tinttcp 298 + peaksedges 0 + tcp_voltext_flags flag maxlen 2 + tcp_iconsize 100 + mcp_min_height 270 + transport_showborders 0 + + +THEME ADJUSTER CONTROLS + + ======= useful + + define_parameter work 'please work bitch' 1 10 10 + + define_parameter meter_position 'TCP meter position - LEFT/MB/RIGHT/RIGHT EDGE' 4 1 4 1 + define_parameter pan_type 'TCP pan/width Type - SLIDERS/KNOBS' 1 1 2 2 + define_parameter min_fxlist 'TCP FX SLOT minimal width' 20 20 50 3 + define_parameter embed_position 'TCP FX embedded UI - RIGHT OF FXLIST/INSTEAD OF' 1 1 2 4 + define_parameter folder_recarms 'TCP folder Record stuff - NO/YES' 1 1 2 5 + define_parameter folder_recarms_mixer 'MCP folder Record stuff - NO/YES' 1 1 2 6 + define_parameter dbscales 'TCP show db Scales NO/YES (needs theme refresh)' 1 1 2 7 + define_parameter mcpdbscales 'MCP show db Scales NO/YES (needs theme refresh)' 2 1 2 8 + define_parameter trans_position 'Transport orientation LEFT/CENTER/RIGHT' 2 1 3 9 + + ====== LOL + + + define_parameter hideall 'Does FLAT MADNESS best theme ever? NO/YES' 2 1 2 + + + define_parameter blabla11 'TEST11' 1 1 4 + define_parameter blabla12 'TEST11' 1 1 2 + define_parameter blabla13 'TEST11' 3 1 5 + define_parameter eblabla14 'TEST11' 1 1 2 + define_parameter blabla15 'TEST11' 1 1 2 + define_parameter blabla16 'TEST11' 1 1 2 + define_parameter blabla17 'TEST11' 1 1 2 + define_parameter blabla18 'TEST11' 1 1 2 + define_parameter blabla19 'TEST11' 1 1 100 + +TRACK CONTROL PANEL + clear tcp.* + + macro DrawTCP scale fontsize + + front tcp.fx tcp.fxlist tcp.fxbyp tcp.fxparm tcp.io tcp.label tcp.folder tcp.folder.start \ + tcp.foldercomp tcp.recarm tcp.recmon tcp.solo tcp.mute tcp.recmode \ + tcp.env tcp.phase tcp.recinput tcp.volume tcp.width.label \ + tcp.pan.label tcp.width tcp.fxin tcp.pan tcp.folder.indent tcp.meter + + set tcp.dragdropinfo [0 3] + set tcp.size * scale [370 122 260 0] + set tcp.margin hideall=1 [3700 0 0 0] +:maxfolderdepth:0 [0 0 0 0] +:folderdepth:0 [-6 0 0 0] hideall=1 [370 0 0 0] + + set trackidxBP * scale [35 460 400 22] + set trackidxheight w>trackidxBP{1} [0 20 124 102 0 0 1 1] w>trackidxBP{2} [0 20 170 102 0 0 1 1] [0 20 244 102 0 0 1 1] + set trackidx_folder hlabelBP_w{0} [30 3 100 16 0 0 1 0] w>labelBP_w{1} [30 3 147 16 0 0 1 0] [30 3 215 16 0 0 1 0] + set label_folder h2 + tcp_label_main [0 0 18 0] + + set tcp.label.margin [3 0 3 0 0.5] + + set recarmsBP * scale [30 45 68 90 108] + set recarm_adjuster folder_recarms=2 folderstate=1 h<30 [0] h<45 [30 20 20 20] [30 24 20 20] + + set tcp.recarm * scale folderstate=1 + recarm_adjuster [0 0 0 0] hrecarmsBP{4} [30 86 64 20] [0] + + set tcp.fxin * scale folderstate=1 + recin_folder [0 0 -54 0] hFXIOBP_w{0} [142 4 22 20 1 0 1 0] w>FXIOBP_w{1} [188 4 22 20 1 0 1 0] [0] + set fx_upper_sub w>FXIOBP_w{0} [152 4 22 20 1 0 1 0] w>FXIOBP_w{1} [190 4 22 20 1 0 1 0] [0] + + set tcp.fx * scale hFXIOBP_h{2} [254 30 68 16 1 0 1 0] hPanWidBP_h{4} [250 48 68 10 1 0 1 0] [250 38 68 10 1 0 1 0] + set tcp_pantight hPanWidBP_h{4} [250 48 68 10 1 0 1 0] \ + h>PanWidBP_h{3} [250 38 68 10 1 0 1 0] \ + h>PanWidBP_h{2} [250 38 68 10 1 0 1 0] [250 38 33 10 1 0 1 0] + + set tcp_pan_slider trackpanmode<4 + tcp_panlarge [0 0 0 0] trackpanmode>4 + tcp_pantight [0 0 0 0] + + set tcp_wid_knob hPanWidBP_h{4} [298 70 20 20 1 0 1 0] [0] + + set pan_sum_eco pan_type=1 + tcp_pan_slider [0 0 0 0] \ + hPanWidBP_h{4} [250 48 20 20 1 0 1 0] [250 38 20 20 1 0 1 0] + + set wid_sum_eco pan_type=2 + tcp_wid_knob [0 0 0 0] hPanWidBP_h{4} [250 70 68 10 1 0 1 0] [250 50 68 10 1 0 1 0] + set panmodes_group trackpanmode<4 + pan_sum_eco [0 0 0 0] trackpanmode>4 + pan_sum_eco [0 0 0 0] + + set PanwidlabBp_h * scale [25 35 65 75 80 90] + + set tcp.pan.fadermode [1] + set tcp_panknob_resize w>PanWidBP_w{0} [211 4 33 10 1 0 1 0] [0] + set tcp_pan_resize w>PanWidBP_w{0} [226 4 20 20 1 0 1 0] [0] + + set tcp.pan * scale h4 + pan_sum_eco [4 0 0 0] + set tcp.width.fadermode [1] + set tcp.width * scale h4 + wid_sum_eco [4 0 0 0] + + set label_panslider_l h>PanwidlabBp_h{4} [250 48 68 20 1 0 1 0] [0] + set label_panslider_t h>PanwidlabBp_h{4} [250 48 68 20 1 0 1 0] [0] + set label_panslider_all trackpanmode<4 + label_panslider_l [0 0 0 0] trackpanmode>4 + label_panslider_t [0 0 0 0] + set label_panknob_l hPanwidlabBp_h{4} [272 48 46 20 1 0 1 0] [272 38 46 20 1 0 1 0] + + set label_panknob_t hPanwidlabBp_h{6} [272 48 46 20 1 0 1 0] + + set label_panknob_all trackpanmode<4 + label_panknob_l [0 0 0 0] \ + trackpanmode>4 + label_panknob_t [0 0 0 0] + + set pan_label_anch hPanwidlabBp_h{4} [248 48 68 39 1 0 1 0] [248 38 68 39 1 0 1 0] + + set pan_label_sum pan_type=2 + pan_label_anch [0 0 0 0] h>PanwidlabBp_h{4} * scale [250 62 20 10 1 0 1 0] [0] + set panlabelmode_group trackpanmode<4 + pan_label_sum [0 0 0 0] trackpanmode>4 + pan_label_sum [0 0 0 0] + set tcp.pan.label * scale pan_type=1 + label_panslider_all [4 0 0 0] pan_type=2 + label_panknob_all [4 0 0 0] + set tcp.pan.label.color [150 150 150] + + set panmarg h3 + panwid * scale [0 4 0 0] + panalone * scale [0 4 0 0] + + =========================== width label ------------------------------ + + set widlabelBP * scale [] + set widlabelknob h4 + widmodes [4 0 0 0] trackpanmode<3 [0] ; pan_type=2 [254 76 68 15 1 0 1 0] trackpanmode<4 [0] + + set widmargknob hmeterBP_w{0} [104 0 47 122 0 0 1 1] w>meterBP_w{1} [104 0 86 122 0 0 1 1] [104 0 144 122 0 0 1 1] + set meter_default folderstate=1 [104 20 17 102 0 0 0 1] h<1 [0] h2 + meter_width [18 0 -18 0] + set MFOLDERTIGHT trackidx>100 [50 0 64 122 0 0 0 1] trackidx>1000 [44 0 70 122 0 0 0 1] [40 0 74 122 0 0 0 1] + set meter_genfold folderstate=1 + MFOLDERTIGHT [0 0 0 0] + meterwidth_modes [0 0 0 0] + + set tcp.meter * scale hfxlistBP_w{1} + embfolder [0 0 0 0] \ + folderstate=1 [128 24 115 100 0 0 1 1] \ + h0 + tcp_fxlist_default_emb [0 0 0 0] + + set fxembed_switch tcp_fxembed>0 [0] tcp_fxembed=0 + fxlist_noembed [0 0 0 0] + set fxlist_embed embed_position=1 + fxlist_noembed [0 0 0 0] embed_position=2 + fxembed_switch [0 0 0 0] + set fxlist_comb tcp_fxembed>0 [0] tcp_fxembed=0 + fxlist_noembed [0 0 0 0] + set resize_fxlist w>fxlistBP_w{3} + fxlist_embed [0 0 -120 0] w>fxlistBP_w{2} + fxlist_embed [0 0 -72 0] + fxlist_embed [0 0 0 0] + + set tcp.fxparm * scale h2 + embed_side [0 0 0 0] + embed_norm [0 0 0 0] + set embed_sublevel2 embed_position=2 + embed_level1 [-110 0 110 0] + embed_level1 [0 0 0 0] + set embed_level2 tcp_fxembed>0 + embed_sublevel2 [0 0 0 0] + + set tcp.fxembed * scale hLongnameBP_w{1} [130 0 0 122 0 0 1 1] w>LongnameBP_w{0} [130 0 46 122 0 0 1 1] [130 0 116 122 0 0 1 1] + set label_tight w>LongnameBP_w{1} [80 0 66 122 0 0 1 1] w>LongnameBP_w{0} [80 0 104 122 0 0 1 1] [80 0 166 122 0 0 1 1] + + set tcp.label * scale hLongnameBP_w{1} [70 0 60 122 0 0 1 1] \ + w>LongnameBP_w{0} [70 0 106 122 0 0 1 1] [70 0 178 122 0 0 1 1] + set label_tight w>LongnameBP_w{1} [70 0 80 122 0 0 1 1] \ + w>LongnameBP_w{0} [70 0 116 122 0 0 1 1] [70 0 178 122 0 0 1 1] + + set tcp.label * scale hFXIOBP_w{0} [142 4 22 20 1 0 1 0] w>FXIOBP_w{1} [188 4 22 20 1 0 1 0] [0] + set fx_upper_sub w>FXIOBP_w{0} [152 4 22 20 1 0 1 0] w>FXIOBP_w{1} [190 4 22 20 1 0 1 0] [0] + + set master.tcp.fx * scale hFXIOBP_h{2} [254 30 68 16 1 0 1 0] hmeterBP_w{0} [104 0 47 122 0 0 1 1] w>meterBP_w{1} [104 0 86 122 0 0 1 1] [104 0 144 122 0 0 1 1] + set meter_default folderstate=1 [104 20 17 102 0 0 0 1] h<1 [0] h2 + meter_width [18 0 -18 0] + set MFOLDERTIGHT trackidx>100 [50 0 64 122 0 0 0 1] trackidx>1000 [44 0 70 122 0 0 0 1] [40 0 74 122 0 0 0 1] + set meter_genfold folderstate=1 + MFOLDERTIGHT [0 0 0 0] + meterwidth_modes [0 0 0 0] + + set master.tcp.meter * scale h=1 [114 319] tracknch>7 [114 319] tracknch>3 [94 319] [80 319] + set mspwidBP * scale [80 94 114] + + front set mcp.label mcp.recinput mcp.env mcp.volume mcp.trackidx mcp.volume.label mcp.foldercomp mcp.folder mcp.recarm mcp.recmode mcp.recmon mcp.mute mcp.phase mcp.solo mcp.io + + set mcp_indent_s mcp_indent + set mcp_trackidx_orig w=mspwidBP{2} [28 300 65 19 0 1 0 1] w=mspwidBP{1} [28 300 45 19 0 1 0 1] [28 300 31 19 0 1 0 1] + set mcp_trackidx_folderstate folderdepth>4 + mcp_trackidx_orig [0 -20 0 0] \ + folderdepth=1 + mcp_trackidx_orig [0 -4 0 0] \ + folderdepth=2 + mcp_trackidx_orig [0 -8 0 0] \ + folderdepth=3 + mcp_trackidx_orig [0 -12 0 0] \ + folderdepth=4 + mcp_trackidx_orig [0 -16 0 0] + mcp_trackidx_orig [0 0 0 0] + + set mcp_trackidx_main folderdepth>4 + mcp_trackidx_orig [0 -16 0 0] \ + folderstate=1 + mcp_trackidx_folderstate [0 0 0 0] \ + folderdepth=2 + mcp_trackidx_orig [0 -4 0 0] \ + folderdepth=3 + mcp_trackidx_orig [0 -8 0 0] folderdepth=4 + mcp_trackidx_orig [0 -12 0 0] + mcp_trackidx_orig [0 0 0 0] + + set mcp.trackidx * scale folderstate<=-1 + mcp_trackidx_main [0 0 -1 0] + mcp_trackidx_main [0 0 0 0] + + + set mcp.trackidx.margin [-10*scale 0 0 0 0.5] + set mcp.trackidx.color ?recarm [255 128 64] ?track_selected [255 255 255] [160 160 160] + + set mcp_folder_ancor w=mspwidBP{2} [100 300 14 19 0 1 0 1] w=mspwidBP{1} [80 300 14 19 0 1 0 1] [66 300 14 19 0 1 0 1] + set folderend_last folderdepth>4 + mcp_folder_ancor [0 0 0 0] \ + folderdepth=1 + mcp_folder_ancor [0 4 0 0] \ + folderdepth=2 + mcp_folder_ancor [0 4 0 0] \ + folderdepth=3 + mcp_folder_ancor [0 4 0 0] \ + folderdepth=3 + mcp_folder_ancor [0 8 0 0] \ + folderdepth=4 + mcp_folder_ancor [0 4 0 0] + mcp_folder_ancor [0 0 0 0] + + set mcp_folder_all folderstate<1 + folderend_last [0 0 0 0] [0 300 14 19 0 1 0 1] + set mcp.folder * scale folderdepth>4 + mcp_folder_all [0 -16 0 0] \ + folderdepth=1 + mcp_folder_all [0 -4 0 0] \ + folderdepth=2 + mcp_folder_all [0 -8 0 0] \ + folderdepth=3 + mcp_folder_all [0 -12 0 0] \ + folderdepth=4 + mcp_folder_all [0 -16 0 0] + mcp_folder_all [0 0 0 0] + + set mcp.foldercomp [60 300 14 19 0 1 0 1] + + set labelpoints * scale [76 18] + set mcp.label [0 labelpoints{0} mcp.size{0} labelpoints{1} 0 0 0 0] + + set labmarg * scale 3 + set mcp.label.margin [labmarg{0} 0 labmarg{0} 0 0.5] + set mcp_volume_label_color track_selected=1 [255 255 255] + + set mcp.label.font + fontsize [12] + + set mcp.meter.margin [1 1] + set mcp_column_anchor w=mspwidBP{2} [86 102] w=mspwidBP{1} [66 102] [52 102] + + set mcp.mute * scale + mcp_column_anchor [3 54 20 18 0 0 0 0] + set mcp.solo * scale + mcp_column_anchor [3 72 20 18 0 0 0 0] + + set recmon_adjust folder_recarms_mixer=2 folderstate==1 [50 6 21 20 0 0 0 0] + set recmode_adjust folder_recarms_mixer=2 folderstate==1 [27 6 20 20 0 0 0 0] + set recarm_adjust folder_recarms_mixer=2 folderstate==1 [7 6 20 20 0 0 0 0] + set recinput_adjust folder_recarms_mixer=2 folderstate==1 [7 52 64 21 0 0 0 0] + + set mcp.recmon * scale folderstate=1 + recmon_adjust [0 0 0 0] [50 6 21 20 0 0 0 0] + set mcp.recmode * scale folderstate=1 + recmode_adjust [0 0 0 0] folderstate==1 [0] [27 6 20 20 0 0 0 0] + set mcp.recarm * scale folderstate=1 + recarm_adjust [0 0 0 0] [7 6 20 20 0 0 0 0] + + set mcp.recinput * scale folderstate=1 + recinput_adjust [0 0 0 0] [7 52 64 21 0 0 0 0] + set mcp.recinput.margin [3 0 3 0 0.5] + set mcp.recinput.color [180 180 180] + + set mcp.env * scale [7 29 64 20] + set mcp.phase * scale + mcp_column_anchor h<315 [0] [6 112 17 17 0 1 0 1] + set mcp_meter_main w=mspwidBP{2} [5 158 55 122 0 0 0 1] w=mspwidBP{1} [5 158 35 122 0 0 0 1] [5 158 23 122 0 0 0 1] + + set mcpmeter_foldered folderdepth>4 + mcp_meter_main [0 0 0 -16] \ + folderdepth=2 + mcp_meter_main [0 0 0 -4] \ + folderdepth=3 + mcp_meter_main [0 0 0 -8] \ + folderdepth=4 + mcp_meter_main [0 0 0 -12] + mcp_meter_main [0 0 0 0] + + set mcpmeter_foldertrack folderdepth>4 + mcp_meter_main [0 0 0 -16] \ + folderdepth=1 + mcp_meter_main [0 0 0 -4] \ + folderdepth=2 + mcp_meter_main [0 0 0 -8] \ + folderdepth=3 + mcp_meter_main [0 0 0 -12] \ + folderdepth=4 + mcp_meter_main [0 0 0 -16] + mcp_meter_main [0 0 0 0] + + set mcp.meter.vu.div [1 0] + + set mcp.meter * scale folderstate=1 + mcpmeter_foldertrack [2 0 0 0] folderstate=2 + mcpmeter_foldered [0 0 0 0] + mcpmeter_foldered [0 0 0 0] + set mcp.meter.readout.color [ 160 160 160 255 255 255 255 255] + + set mcp.meter.scale.color.unlit.bottom mcpdbscales=2 [100 100 100 255] [0 0 0 0 0 0 0 0] + set mcp.meter.scale.color.lit.top mcpdbscales=2 [255 255 255 255] [0 0 0 0 0 0 0 0] + set mcp.meter.scale.color.lit.bottom mcpdbscales=2 [255 255 255 255] [0 0 0 0 0 0 0 0] + set mcp.meter.scale.color.unlit.top mcpdbscales=2 [100 100 100 255] [0 0 0 0 0 0 0 0] + + set mixer_volume_margin [32 173 7 120] + set mcp.volume.fadermode [-1] + set mcpvol_main w=mspwidBP{2} [66 158 19 122 0 0 0 1] w=mspwidBP{1} [46 158 19 122 0 0 0 1] [32 158 19 122 0 0 0 1] + + set mcpvol_foldered folderdepth>4 + mcpvol_main [0 0 0 -16] \ + folderdepth=2 + mcpvol_main [0 0 0 -4] \ + folderdepth=3 + mcpvol_main [0 0 0 -8] \ + folderdepth=4 + mcpvol_main [0 0 0 -12] + mcpvol_main [0 0 0 0] + + set mcpvol_foldertrack folderdepth>4 + mcpvol_main [0 0 0 -16] \ + folderdepth=1 + mcpvol_main [0 0 0 -4] \ + folderdepth=2 + mcpvol_main [0 0 0 -8] \ + folderdepth=3 + mcpvol_main [0 0 0 -12] \ + folderdepth=4 + mcpvol_main [0 0 0 -16] + mcpvol_main [0 0 0 0] + + set mcp.volume * scale folderstate=1 + mcpvol_foldertrack [0 0 0 0] \ + folderstate=2 + mcpvol_foldered [0 0 0 0] \ + folderstate<=-1 + mcpvol_foldered [-2 0 0 0] + mcpvol_foldered [0 0 0 0] + + set mcpvol_label_main w=mspwidBP{2} [48 278 32 22 0 1 0 1] w=mspwidBP{1} [28 278 32 22 0 1 0 1] [14 278 32 22 0 1 0 1] + + set mcpvol_labeldep folderdepth>4 + mcpvol_label_main [0 -16 0 0] \ + folderdepth=2 + mcpvol_label_main [0 -4 0 0] \ + folderdepth=3 + mcpvol_label_main [0 -8 0 0] \ + folderdepth=4 + mcpvol_label_main [0 -12 0 0] + mcpvol_label_main [0 0 0 0] + + set mcpvol_labeldep_fold folderdepth>4 + mcpvol_label_main [0 -16 0 0] \ + folderdepth=1 + mcpvol_label_main [0 -4 0 0] \ + folderdepth=2 + mcpvol_label_main [0 -8 0 0] \ + folderdepth=3 + mcpvol_label_main [0 -12 0 0] \ + folderdepth=4 + mcpvol_label_main [0 -16 0 0] + mcpvol_label_main [0 0 0 0] + + set mcp.volume.label * scale folderstate=1 + mcpvol_labeldep_fold [0 0 0 0] folderstate=2 + mcpvol_labeldep [0 0 0 0] folderstate<=-1 + mcpvol_labeldep [-2 0 0 0] + mcpvol_labeldep [0 0 0 0] + set mcp.volume.color [50 50 50 250 125 125 125 255] + set mcp.volume.font + fontsize [12] + set mcp.volume.label.margin [0 3*scale 0 0 1] + set mcp.volume.label.color [180 180 180] + + set mcp.pan * scale trackpanmode<4 [6 124 20 20 0 0 0 0] [6 124 68 10 0 0 0 0] + set mcp.pan.color [255 255 255] + set mcp.pan.label * scale trackpanmode>3 [0] [28 124 45 20 0 0 0 0] + + set mcp.pan.label.margin trackpanmode>3 [2*scale 20*scale 0 0 0] [0 0 0 0 0.5] + + set mcp_phase + mcp_column_anchor [5 112 17 17 0 1 0 1] + + set mcp_phasenorm folderdepth>3 + mcp_phase [0 -12 0 0] \ + folderdepth=2 + mcp_phase [0 -4 0 0] \ + folderdepth=3 + mcp_phase [0 -8 0 0] + mcp_phase [0 0 0 0] + + set mcp_phasefold folderdepth>3 + mcp_phase [0 -12 0 0] \ + folderdepth=1 + mcp_phase [0 -4 0 0] \ + folderdepth=2 + mcp_phase [0 -8 0 0] \ + folderdepth=3 + mcp_phase [0 -12 0 0] + mcp_phase [0 0 0 0] + + set mcpphaseBP * scale [300 275] + set mcp.phase * scale h4 + mixerwidth [0 0 0 0] + + set mcp_io h4 + mcp_io [0 -16 0 0] \ + folderdepth=2 + mcp_io [0 -4 0 0] \ + folderdepth=3 + mcp_io [0 -8 0 0] \ + folderdepth=4 + mcp_io [0 -12 0 0] + mcp_io [0 0 0 0] + + set mcp_iofold folderdepth>4 + mcp_io [0 -16 0 0] \ + folderdepth=1 + mcp_io [0 -4 0 0] \ + folderdepth=2 + mcp_io [0 -8 0 0] \ + folderdepth=3 + mcp_io [0 -12 0 0] \ + folderdepth=4 + mcp_io [0 -16 0 0] + mcp_io [0 0 0 0] + + set mcp.io * scale folderstate=1 + mcp_iofold [0 0 0 0] + mcp_ionorm [0 0 0 0] + + set mcp.fxbyp * scale [28 100 18 20 0 0 0 0] + set mcp.fx * scale [6 100 22 20 0 0 0 0] + set mcp.fxin * scale [46 100 27 20 0 0 0 0] + + set mcp.extmixer.mode [0] + + set fxlistmcpMRG * scale [16] + set fxparmheight * scale [24] + set mcpfont1 + fontsize [5] + set mcpfont2 + fontsize [1] + + set mcp.fxlist.font [mcpfont1{0} fxlistmcpMRG{0}] + set mcp.fxlist.margin * scale [6 0 4 0 0] + + set mcp.sendlist.font [mcpfont1{0} fxlistmcpMRG{0}] + set mcp.sendlist.margin * scale [3 0 0 0 0 5 5 5] + + set mcp.recinput.font [mcpfont1{0}] + set mcp.pan.label.font [mcpfont1{0}] + set mcp.width.label.font [mcpfont1{0}] + set mcp.volume.label.font [mcpfont1{0}] + set mcp.trackidx.font [mcpfont2{0}] + + set colormain [trackcolor_r trackcolor_g trackcolor_b] + set colorpress / colormain [2 2 2] + + set mcp.label.color track_selected=1 [40 40 40] + colorpress [127 127 127] + set mcp.fxparm.font [mcpfont1{0} fxparmheight{0}] + set mcp.fxparm.margin [0 0 0 0 0.5] + +endmacro + +drawMCP 1 0 + + MCP Layouts + + macro MCPHuge scale + set mcp.size * scale hideall=1 [0 0] [114 319] + endmacro + + Layout "HUGE" + set scale 1 + set fontsize 0 + DrawMCP + MCPHuge + endlayout + + Layout "HUGE 150" "150" + set scale 1.5 + set fontsize 1 + DrawMCP + MCPHuge + endlayout + + Layout "HUGE 200" "200" + set scale 2 + set fontsize 2 + DrawMCP + MCPHuge + endlayout + + macro MCPMeterbridge scale + + front set mcp.label mcp.recinput mcp.env mcp.volume mcp.volume.label mcp.trackidx mcp.folder mcp.recarm mcp.recmode mcp.recmon + + set expandlogic * scale 420 + + set mcp.size * scale hideall=1 [0 0] [50 520] + + set metervolstretch * scale [0 50 50 450 0 0 1 1] + + set mcp_folder_ancor w=mspwidBP{2} [56 500 14 19 0 1 0 1] \ + w=mspwidBP{1} [46 500 14 19 0 1 0 1] [36 500 14 19 0 1 0 1] + + set mcp.trackidx + mcp.trackidx * scale [-10 201 -16 0] + set mcp.trackidx.margin [0 0 0 0 0.5] + + set mcp.folder folderstate<1 + mcp.folder * scale [-30 201 0 0] \ + + mcp.folder * scale [0 201 0 0] ; * scale folderstate<1 + mcp_folder_ancor [0 0 0 0] [0 500 14 19 0 1 0 1] + + set mcp.foldercomp + mcp.foldercomp * scale [-14 201 0 0] + set mcp_column_anchor * scale [50 103] + + set collapsemain [0 0 0 0] + set collapse_level folderstate=1 folderdepth<1 + collapsemain [0 0 0 4] + + set collapsed_anchor folderdepth>4 + collapse_level [0 0 0 -16] \ + folderdepth=0 + collapse_level [0 0 0 -4] \ + folderdepth=1 + collapse_level [0 0 0 -4] \ + folderdepth=2 + collapse_level [0 0 0 -8] \ + folderdepth=3 + collapse_level [0 0 0 -12] \ + folderdepth=4 + collapse_level [0 0 0 -16] + collapse_level [0 0 0 0] + + set collapse_level_h folderstate=1 folderdepth<1 + collapsemain [0 4 0 0] + set collapsed_anchor_h folderdepth>4 + collapse_level_h [0 -16 0 0] \ + folderdepth=0 + collapse_level_h [0 -4 0 0] \ + folderdepth=1 + collapse_level_h [0 -4 0 0] \ + folderdepth=2 + collapse_level_h [0 -8 0 0] \ + folderdepth=3 + collapse_level_h [0 -12 0 0] \ + folderdepth=4 + collapse_level_h [0 -16 0 0] + collapse_level_h [0 0 0 0] + + + set mcp.width * scale trackpanmode<4 [0] [26 4 20 20] + set mcp.width.label * scale trackpanmode<4 [0] [0 40 50 10] + set mcp.width.label.margin [0 0 0 0 0.5] + set mcp.width.label.color track_selected=1 [65 65 65] \ + track_selected=0 [200 200 200] + + set mcp.pan * scale trackpanmode>4 [4 4 20 20] [10 10 30 30] + set mcp.pan.label * scale trackpanmode>4 [0 28 50 10] [0 42 50 10] + set mcp.pan.label.margin [0 0 0 0 0.5] + set mcp.pan.label.color track_selected=1 [65 65 65] track_selected=0 [200 200 200] + + set mcp.fx [0] + set mcp.fxbyp [0] + set mcp.fxin [0] + + set mcp.recarm [0] + set mcp.recmode [0] + set mcp.recmon [0] + + set mcp.env [0] + set mcp.recinput [0] + + set meterbvol folderstate>1 + collapsed_anchor [4 328 19 146 0 1 0 1] \ + + collapsed_anchor [4 328 19 146 0 1 0 1] + + set mcp.volume * scale henvBP{0} [10 3 20 20] + set envcp.label * scale henvBP{2} [175 5 81 18 1 0 1 0] + + set envcp.value.margin [0 0 0 0 0.5] + set envcp.value.color [245 196 18] + set envcp.value.font + fontsize [2] + endmacro + +DrawEnv 1 0 + +TRANSPORT + + clear trans.* +macro DrawTRans scale fontsize + + set scale * 0.8 + + front trans.rate.fader trans.rate + + set trans.rate.fader.fadermode [0] + set trans.size * scale [1051 85] + set trans.size.minmax * scale [460 40 1300 77] + set trans.size.dockedheight * scale [40] + + set trans.margin * scale hideall=1 [0 90 0 0] [0 0 0 0] + + set transBP_w * scale [610 800 850 950 1020 1000 1100 1200] + set transBP_wsub * scale [1300 1250 1600 560 555] + set transBP_h * scale [70] + + set playback_left wtransBP_h{0} + ebal_ya_status [0 0 0 0] wtransBP_h{0} [125 43 330 30 0 0 0 0] wtransBP_h{0} + ebal_ya_status_snizu [0 0 0 0] \ + wtransBP_h{0} + trans_bpmdown_anchor [222 6 35 24] W>transBP_wsub{0} + trans_bpmup_anchor [204 6 35 24] + trans_bpmup_anchor [220 6 35 24] + set bpm_right wtransBP_wsub{0} + trans_bpmup_anchor [195 3 41 30] + trans_bpmup_anchor [217 3 41 30] + set timesign_right * scale wtransBP_h{0} + trans_bpmdown_anchor [350 21 99 11] W>transBP_wsub{0} + trans_bpmup_anchor [345 21 99 11] + trans_bpmup_anchor [350 21 99 11] + + set rate_right wtransBP_wsub{3} [5 5 100 65] [0] + + set selected_left h>transBP_h{0} + seldown_anchor wtransBP_h{0} + seldown_anchor wtransBP_h{0} + sel_rigt_collapse [0 0 0 0] w= 0 then + return reaper.TrackFX_GetEnabled(masterTrack, fxInd) + else + return nil + end +end + +-- +-- Update highlighting of buttons +-- +function GA_SetButtonForHighlight(buttonKey, sectionID, cmdID) + EK_SetExtState(ga_key_prefix .. ":" .. buttonKey .. ":section_id", sectionID) + EK_SetExtState(ga_key_prefix .. ":" .. buttonKey .. ":command_id", cmdID) +end + +function GA_UpdateStateForButton(buttonKey, state) + local sectionID = EK_GetExtState(ga_key_prefix .. ":" .. buttonKey .. ":section_id") + local cmdID = EK_GetExtState(ga_key_prefix .. ":" .. buttonKey .. ":command_id") + if cmdID == nil then return end + + local old_state = reaper.GetToggleCommandStateEx(sectionID, cmdID) + + if old_state ~= state then + Log("Update button state: " .. buttonKey .. "; cmdID = " .. cmdID .. " state = " .. state, ek_log_levels.Notice) + + reaper.SetToggleCommandState(sectionID, cmdID, state) + reaper.RefreshToolbar2(sectionID, cmdID) + end +end + +-- +-- Observe Preserve Pitch Mode +-- +function GA_ObservePreservePitchForSelectedItems(changes, values) + if changes.count_items or changes.count_selected_items or changes.first_selected_item then + Log("Changed: {param} - preserve pitch", ek_log_levels.Warning, ga_settings.highlight_buttons.key) + + if values.count_selected_items > 0 then + local count_On = 0 + local count_Off = 0 + + for i = 0, values.count_selected_items - 1 do + local item = reaper.GetSelectedMediaItem(proj, i) + local takeInd = reaper.GetMediaItemInfo_Value(item, "I_CURTAKE") + + local itemTake = reaper.GetMediaItemTake(item, takeInd) + + local mode = reaper.GetMediaItemTakeInfo_Value(itemTake, "B_PPITCH") + + if mode == 1 then + count_On = count_On + 1 + else + count_Off = count_Off + 1 + end + end + + -- if all selected items has preserve pitch than highlight + if values.count_selected_items == count_On then + GA_UpdateStateForButton(ga_highlight_buttons.preserve_pitch, 1) + else + GA_UpdateStateForButton(ga_highlight_buttons.preserve_pitch, 0) + end + else + GA_UpdateStateForButton(ga_highlight_buttons.preserve_pitch, 0) + end + end +end + +-- +-- Observe Automation Mode +-- +function GA_ObserveAutomationModeForSelectedTracks(changes, values) + if changes.count_selected_tracks or changes.first_selected_track then + Log("Changed: {param} - trim mode", ek_log_levels.Warning, ga_settings.highlight_buttons.key) + + if values.count_selected_tracks > 0 then + local count_On = 0 + local count_Off = 0 + + for i = 0, values.count_selected_tracks - 1 do + local track = reaper.GetSelectedTrack(proj, i) + local mode = reaper.GetTrackAutomationMode(track) + + if mode == 2 then + count_On = count_On + 1 + else + count_Off = count_Off + 1 + end + end + + -- if all selected items has preserve pitch than highlight + if values.count_selected_tracks == count_On then + GA_UpdateStateForButton(ga_highlight_buttons.trim_mode, 2) + else + GA_UpdateStateForButton(ga_highlight_buttons.trim_mode, 0) + end + else + GA_UpdateStateForButton(ga_highlight_buttons.trim_mode, 0) + end + end +end + + +-- +-- Observe Project Limit +-- +function GA_ObserveProjectLimit(changes, values) + Log("Changed: {param}", ek_log_levels.Warning, ga_settings.project_limit.key) + + local use = reaper.SNM_GetIntConfigVar("projmaxlenuse", 1) + if use == 0 then + reaper.SNM_SetIntConfigVar("projmaxlenuse", 1) + end + + if changes.play_state then + local playingByte = 1 + local limit = reaper.SNM_GetDoubleConfigVar("projmaxlen", 0) + local cursorPosition = reaper.GetPlayPosition2() + + -- IF PLAYING WITH TURNED ON "Limit project length, stop playback/recording at" + if values.play_state & playingByte == playingByte and cursorPosition >= limit then + reaper.SNM_SetIntConfigVar("projmaxlenuse", 0) + elseif values.play_state & playingByte ~= playingByte then + reaper.SNM_SetIntConfigVar("projmaxlenuse", 1) + end + end + + local maxLen = 0 + + for i = 0, values.count_items - 1 do + local item = reaper.GetMediaItem(proj, i) + + local pos = reaper.GetMediaItemInfo_Value(item, "D_POSITION") + local len = reaper.GetMediaItemInfo_Value(item, "D_LENGTH") + + if (pos + len > maxLen) then + maxLen = pos + len + end + end + + if maxLen < 10 then + maxLen = 10 + end + + reaper.SNM_SetDoubleConfigVar("projmaxlen", maxLen) +end + +-- +-- Observe Monitoring Fx +-- +function GA_ObserveMonitoringFx(changes, values) + if changes.play_state then + local isEnabled = EK_GetMonitoringFxEnabledOnMasterTrack() + + Log("Changed: {param} - monitoring fx", ek_log_levels.Warning, ga_settings.highlight_buttons.key) + GA_UpdateStateForButton(ga_highlight_buttons.monitoring_fx, isEnabled == true and 1 or 0) + end +end + +-- +-- Observe MIDI Editor +-- +function GA_ObserveMidiEditor(changes, values) + if changes.first_selected_item or changes.count_selected_items then + local midiEditor = reaper.MIDIEditor_GetActive() + local state = reaper.MIDIEditor_GetMode(midiEditor) + + if state ~= -1 then + Log("Changed: {param} - midi editor", ek_log_levels.Warning, ga_settings.highlight_buttons.key) + + reaper.Main_OnCommand(reaper.NamedCommandLookup(40153), 0) -- Item: Open in built-in MIDI editor (set default behavior in preferences) + end + + GA_UpdateStateForButton(ga_highlight_buttons.midi_editor, state ~= -1 and 1 or 0) + end +end + +-- +-- Observe overlaping items vertically option +-- +function GA_ObserveOverlapingItemsVertically(changes, values) + if changes.play_state then + local state = reaper.GetToggleCommandState(40507) -- Options: Offset overlapping media items vertically + + Log("Changed: {param} - overlaping items vertically " .. state, ek_log_levels.Warning, ga_settings.highlight_buttons.key) + GA_UpdateStateForButton(ga_highlight_buttons.overlaping_items_vertically, state == 1 and 1 or 0) + end +end + +-- +-- Observe Grid in Arrange View +-- +local cached_zoom_level + +function GA_ObserveArrangeGrid() + local getOrderByZoomLevel = function(level) + local order + + if level <= 1 then + order = -3 + elseif level < 3 then + order = -2 + elseif level < 5 then + order = -1 + elseif level < 15 then + order = 0 + elseif level < 25 then + order = 1 + elseif level < 55 then + order = 2 + elseif level < 110 then + order = 3 + elseif level < 220 then + order = 4 + elseif level < 450 then + order = 5 + elseif level < 850 then + order = 6 + elseif level < 1600 then + order = 7 + elseif level < 3500 then + order = 8 + elseif level < 6700 then + order = 9 + elseif level < 12000 then + order = 10 + elseif level < 30000 then + order = 11 + elseif level < 45200 then + order = 12 + elseif level < 55100 then + order = 13 + elseif level < 80000 then + order = 14 + elseif level < 110000 then + order = 15 + elseif level < 150000 then + order = 16 + else + order = 17 + end + return order + end + local getNoteDivision = function(order) + if order < 0 then + return 2 * math.abs(order) + else + return 1 / (2 ^ order) + end + end + local zoom_level = math.floor(reaper.GetHZoomLevel()) + + if zoom_level ~= cached_zoom_level then + Log("Changed: {param}", ek_log_levels.Warning, ga_settings.auto_grid.key) + + local order = getOrderByZoomLevel(zoom_level) + + reaper.SetProjectGrid(proj, getNoteDivision(order)) + cached_zoom_level = zoom_level + end +end + +-- +-- Observe arm rec +-- +local cached_first_selected_track_sample_rate_marked = nil + +function GA_ObserveArmRec(changes, values) + if values.first_selected_track ~= nil and values.first_selected_track ~= cached_first_selected_track_sample_rate_marked then + local isArmed = reaper.GetMediaTrackInfo_Value(values.first_selected_track, "I_RECARM") + local retval, desc = reaper.GetAudioDeviceInfo("SRATE") + local setting = GA_GetSettingValue(ga_settings.rec_sample_rate_value) + local hasMidiProgram = reaper.HasTrackMIDIProgramsEx(proj, values.first_selected_track) + + if isArmed == 1 and desc ~= setting and hasMidiProgram == nil then + Log("Changed: {param}", ek_log_levels.Warning, ga_settings.rec_sample_rate.key) + + reaper.SNM_SetIntConfigVar("projsrate", setting) + reaper.SNM_SetIntConfigVar("projsrateuse", 1) + EK_ShowTooltip("Sample Rate has been changed to " .. setting .. " Hz") + + reaper.Audio_Quit() + reaper.Audio_Init() + + cached_first_selected_track_sample_rate_marked = values.first_selected_track + end + end +end + + +-- +-- Backup projects +-- +local opts = reaper.SNM_GetIntConfigVar("saveopts", 0) +local enabledBackups = opts & 16 > 0 +local cached_backup_last_time = 0 +local backup_timer_limit = (reaper.SNM_GetIntConfigVar("autosaveint", 1) * 60) + 5 + +function GA_ObserveAndRemoveOldBackupFiles(changes, values) + if not enabledBackups then return end + + local time = reaper.time_precise() + if time > cached_backup_last_time + backup_timer_limit then + Log("Changed: {param}", ek_log_levels.Warning, ga_settings.backup_files.key) + + cached_backup_last_time = time + backup_timer_limit + + local i = 0 + local file + local backup_files = {} + + local root = reaper.GetProjectPath() .. "/../" + local project = string.gsub(reaper.GetProjectName(proj), ".[rR][pP][pP]", "") + local pattern = project .. "[0-9_-]+[.]rpp[-]bak" + + if string.len(project) == 0 then + return + end + + while file ~= nil or i == 0 do + file = reaper.EnumerateFiles(root, i) + + if file ~= nil and string.match(file, pattern) then + table.insert(backup_files, file) + end + + i = i + 1 + end + + local max_limit = tonumber(GA_GetSettingValue(ga_settings.backup_files_limit)) + if #backup_files > max_limit then + table.sort(backup_files) + + for j = 1, #backup_files - max_limit do + Log("To delete " .. backup_files[j], ek_log_levels.Notice) + + os.remove(root .. backup_files[j]) + end + end + end +end \ No newline at end of file diff --git a/Core/ek_Core functions v1.lua b/Core/ek_Core functions v1.lua new file mode 100644 index 0000000..a257756 --- /dev/null +++ b/Core/ek_Core functions v1.lua @@ -0,0 +1,337 @@ +-- @description ek_Core functions v1 +-- @author Ed Kashinsky +-- @noindex + +ek_log_levels = { + Notice = 1, + Warning = 2, + Important = 3, +} + +local ek_debug_levels = { + All = 0, + Notice = 1, + Warning = 2, + Important = 3, + Off = 4, +} + +proj = 0 +defProjPitchMode = -1 + +local ek_debug_level = ek_debug_levels.Off +local ext_key_prefix = "ek_stuff" +local delRow = ":" +local delCol = "," +local ext_key_global = "global_action_enabled" +local last_grouped_docker_window_key = "last_grouped_docker_window" +local opened_grouped_docker_window_key = "opened_grouped_docker_window" + +function Log(msg, level, param) + if not level then level = ek_log_levels.Important end + if level < ek_debug_level then return end + + if param ~= nil then + if type(param) == 'boolean' then param = param and 'true' or 'false' end + if type(param) == 'table' then param = serializeTable(param) end + + msg = string.gsub(msg, "{param}", param) + else + if type(msg) == 'boolean' then msg = msg and 'true' or 'false' end + if type(msg) == 'table' then msg = serializeTable(msg) end + end + + if msg then reaper.ShowConsoleMsg(msg .. '\n') end +end + +function EK_ShowTooltip(fmt) + local x, y = reaper.GetMousePosition() + + if reaper.GetOS() == "Win64" or reaper.GetOS() == "Win32" then + x = x - 30 + y = y + 50 + end + + reaper.TrackCtl_SetToolTip(fmt, x, y, true) +end + +function EK_HasExtState(key) + return reaper.HasExtState(ext_key_prefix, key) +end + +function EK_GetExtState(key) + local value = reaper.GetExtState(ext_key_prefix, key) + + if value == '' then return nil end + if value == 'true' then value = true end + if value == 'false' then value = false end + + return value +end + +function EK_SetExtState(key, value) + if type(value) == 'boolean' then value = value and 'true' or 'false' end + + reaper.SetExtState(ext_key_prefix, key, value, true) +end + +function EK_IsGlobalActionEnabled() + return EK_HasExtState(ext_key_global) +end + +function EK_SetIsGlobalActionEnabled() + reaper.SetExtState(ext_key_prefix, ext_key_global, 1, false) +end + +function EK_GetPitchModesForSelectedItems() + local selectedPitchModes = {} + + Log("Count selected items: " .. reaper.CountSelectedMediaItems(proj), ek_log_levels.Warning) + + for i = 0, reaper.CountSelectedMediaItems(proj) - 1 do + local item = reaper.GetSelectedMediaItem(proj, i) + local takeInd = reaper.GetMediaItemInfo_Value(item, "I_CURTAKE") + + local itemTake = reaper.GetMediaItemTake(item, takeInd) + + local mode = reaper.GetMediaItemTakeInfo_Value(itemTake, "I_PITCHMODE") + + if mode == defProjPitchMode then + mode = reaper.SNM_GetIntConfigVar("defpitchcfg", defProjPitchMode) + end + + selectedPitchModes[mode] = true + + Log("Current pitch mode is: " .. mode, ek_log_levels.Warning) + end + + return selectedPitchModes +end + +function EK_GetPitchModes() + local pitchModes = {} + + local mdx = 0 + local hasMode = true + local addPitchMode = function (id, title, is_submode) + local value = {} + + value.id = id + value.title = title + value.is_submode = is_submode + + table.insert(pitchModes, value) + + --[[ + if is_submode then + reaper.ShowConsoleMsg(value.id .. " ") + else + Log("\nPITCH MODE: " .. value.id .. " " .. value.title) + end + ]]-- + end + + while hasMode do + local retval, str = reaper.EnumPitchShiftModes(mdx) + + if retval then + -- str may have NULL if a mode is currently unsupported + if str ~= nil then + addPitchMode(mdx, str, false) + + local sub_mdx = 0 + local hasSubMode = true + + while hasSubMode do + local submode = reaper.EnumPitchShiftSubModes(mdx, sub_mdx) + + if submode ~= nil then + addPitchMode(mdx * 2 ^ 16 | sub_mdx, submode, true) + else + hasSubMode = false + end + + sub_mdx = sub_mdx + 1 + end + end + + mdx = mdx + 1 + else + hasMode = false + end + end + + return pitchModes +end + +function EK_SetPitchModeForSelectionItems(newPitchMode) + if reaper.CountSelectedMediaItems(proj) > 0 then + for i = 0, reaper.CountSelectedMediaItems(proj) - 1 do + local item = reaper.GetSelectedMediaItem(proj, i) + local takeInd = reaper.GetMediaItemInfo_Value(item, "I_CURTAKE") + + local itemTake = reaper.GetMediaItemTake(item, takeInd) + + local mode = reaper.GetMediaItemTakeInfo_Value(itemTake, "I_PITCHMODE") + + if mode == defProjPitchMode then + mode = reaper.SNM_GetIntConfigVar("defpitchcfg", defProjPitchMode) + end + + reaper.SetMediaItemTakeInfo_Value(itemTake, "I_PITCHMODE", newPitchMode) + + Log("Item had: " .. mode .. " and new mode is: " .. newPitchMode) + end + end +end + +function EK_GetPitchModeBySubMode(id) + local mdx = math.floor(id / 2 ^ 16) + + local retval, str = reaper.EnumPitchShiftModes(mdx) + + if retval then + return str + else + return nil + end +end + +function EK_StoreLastGroupedDockerWindow(sectionId, commandId, actionId) + -- EK_SetExtState("docker_current_tab", "") + -- EK_SetExtState("docker_opened_tabs", "") + + local id = sectionId .. delRow .. commandId .. delRow .. actionId + local isFind = false + local open_windows = EK_GetExtState(opened_grouped_docker_window_key) + if open_windows == nil then open_windows = "" end + local open_windows_arr = split(open_windows, delCol) + + for i = 0, #open_windows_arr do + if open_windows_arr[i] == id then + isFind = true + break + end + end + + if isFind == false then + table.insert(open_windows_arr, id); + end + + local result = table.concat(open_windows_arr, delCol) + + Log("=== Store grouped docker window ===", ek_log_levels.Warning) + Log("last grouped docker wnd: " .. id, ek_log_levels.Warning) + Log("opened grouped docker wnd: " .. result, ek_log_levels.Warning) + + EK_SetExtState(opened_grouped_docker_window_key, result) + EK_SetExtState(last_grouped_docker_window_key, id) +end + +function EK_ToggleLastGroupedDockerWindow() + -- close others tabs -- + local last_window = EK_GetExtState(last_grouped_docker_window_key) + local open_windows = EK_GetExtState(opened_grouped_docker_window_key) + local open_windows_arr = split(open_windows, delCol) + + for i = 1, #open_windows_arr do + if open_windows_arr[i] ~= last_window then + local id = split(open_windows_arr[i], delRow) + + local state = reaper.GetToggleCommandStateEx(id[1], id[2]) + if state == 1 then + reaper.Main_OnCommand(id[3], 0) + reaper.SetToggleCommandState(id[1], id[2], 0) + end + end + end + + -- toggle current -- + local current_tab_arr = split(last_window, delRow) + local sectionId = current_tab_arr[1] + local commandId = current_tab_arr[2] + local actionId = current_tab_arr[3] + + local state = reaper.GetToggleCommandState(commandId) + local newState + + if state == 1 then + newState = 0 + else + newState = 1 + end + + Log("=== Toggle last docker window ===") + Log("last grouped docker wnd: " .. last_window) + Log("opened grouped docker wnd: " .. open_windows) + Log(sectionId .. " " .. commandId .. " " .. newState) + + reaper.Main_OnCommand(actionId, 0) + reaper.SetToggleCommandState(sectionId, commandId, newState) + reaper.RefreshToolbar2(sectionId, commandId) +end + +function split(str, pat) + if not str then return {} end + + local t = {} -- NOTE: use {n = 0} in Lua-5.0 + local fpat = "(.-)" .. pat + local last_end = 1 + local s, e, cap = str:find(fpat, 1) + + while s do + if s ~= 1 or cap ~= "" then + table.insert(t, cap) + end + last_end = e+1 + s, e, cap = str:find(fpat, last_end) + end + + if last_end <= #str then + cap = str:sub(last_end) + table.insert(t, cap) + end + + return t +end + +function serializeTable(val, name, skipnewlines, depth) + skipnewlines = skipnewlines or false + depth = depth or 0 + + local tmp = string.rep(" ", depth) + + if name then tmp = tmp .. name .. " = " end + + if type(val) == "table" then + tmp = tmp .. "{" .. (not skipnewlines and "\n" or "") + + for k, v in pairs(val) do + tmp = tmp .. serializeTable(v, k, skipnewlines, depth + 1) .. "," .. (not skipnewlines and "\n" or "") + end + + tmp = tmp .. string.rep(" ", depth) .. "}" + elseif type(val) == "number" then + tmp = tmp .. tostring(val) + elseif type(val) == "string" then + tmp = tmp .. string.format("%q", val) + elseif type(val) == "boolean" then + tmp = tmp .. (val and "true" or "false") + else + tmp = tmp .. "\"[inserializeable datatype:" .. type(val) .. "]\"" + end + + return tmp +end + +function round(number, decimals) + local power = 10 ^ decimals + return math.ceil(number * power) / power +end + +function ShowPitchTooltip(semi) + semi = round(semi, 1) + + local message = (semi > 0 and "+" .. semi or semi) .. " " .. (math.abs(semi) == 1 and "semitone" or "semitones") + EK_ShowTooltip(message) +end \ No newline at end of file diff --git a/Core/ek_Core functions.lua b/Core/ek_Core functions.lua new file mode 100644 index 0000000..daac3dd --- /dev/null +++ b/Core/ek_Core functions.lua @@ -0,0 +1,19 @@ +-- @description ek_Core functions +-- @author Ed Kashinsky +-- @about Base functions used by ek-scripts. +-- @version 1.0.0 +-- @provides +-- ek_Core functions v1.lua +-- ek_Core functions GUI.lua +-- @changelog +-- - added core loader + +function CoreLoadFunctions() + local info = debug.getinfo(1,'S'); + local script_path = info.source:match([[^@?(.*[\/])[^\/]-$]]) + + dofile(script_path .. "ek_Core functions v1.lua") + dofile(script_path .. "ek_Core functions GUI.lua") +end + +CoreLoadFunctions() \ No newline at end of file diff --git a/Core/ek_Global startup action settings.lua b/Core/ek_Global startup action settings.lua new file mode 100644 index 0000000..ea634a1 --- /dev/null +++ b/Core/ek_Global startup action settings.lua @@ -0,0 +1,80 @@ +-- @description ek_Global startup action settings +-- @version 1.0.0 +-- @author Ed Kashinsky +-- @about +-- Here you can set features for global startup actions +-- @changelog +-- - Added window + +function CoreFunctionsLoaded(script) + local sep = (reaper.GetOS() == "Win64" or reaper.GetOS() == "Win32") and "\\" or "/" + local root_path = debug.getinfo(1, 'S').source:sub(2, -5):match("(.*" .. sep .. ")") + local script_path = root_path .. ".." .. sep .. "Core" .. sep .. script + local file = io.open(script_path, 'r') + + if file then file:close() dofile(script_path) return true else return false end +end + +if not CoreFunctionsLoaded("ek_Core functions.lua") then + reaper.MB('Core functions is missing. Please install "ek_Core functions" it via ReaPack (Action: Browse packages)', '', 0) + return +end + +if not CoreFunctionsLoaded("ek_Core functions startup.lua") then + reaper.MB('Global startup action is missing. Please install "ek_Global startup action" it via ReaPack (Action: Browse packages)', '', 0) + return +end + +local ordered_settings = GA_GetOrderedSettings() + +function frame() + local is_enabled = EK_IsGlobalActionEnabled() + local input_flags = gui_input_flags + + GUI_DrawText("Settings for 'ek_Global startup action'", gui_fonts.Bold) + + reaper.ImGui_TextWrapped(GUI_GetCtx(), "Status:") + reaper.ImGui_SameLine(GUI_GetCtx()) + + if is_enabled then + reaper.ImGui_TextColored(GUI_GetCtx(), gui_colors.Green, "Enabled") + else + reaper.ImGui_TextColored(GUI_GetCtx(), gui_colors.Red, "Disabled") + GUI_DrawGap() + GUI_DrawText("Open 'Extensions' => 'Startup actions' => 'Set global startup action' and paste command id of 'ek_Global startup action' and re-open Reaper", gui_fonts.Bold, gui_colors.Red) + + input_flags = input_flags | reaper.ImGui_InputTextFlags_ReadOnly() + end + + GUI_DrawGap() + + for i = 1, #ordered_settings do + local r, newVal + local setting = ordered_settings[i] + local curVal = GA_GetSettingValue(setting) + + reaper.ImGui_PushItemWidth(GUI_GetCtx(), 250) + + reaper.ImGui_PushFont(GUI_GetCtx(), gui_fonts.Bold) + + if type(curVal) == 'boolean' then + r, newVal = reaper.ImGui_Checkbox(GUI_GetCtx(), setting.title, curVal) + elseif type(curVal) == 'number' then + r, newVal = reaper.ImGui_InputInt(GUI_GetCtx(), setting.title, curVal, nil, nil, input_flags) + else + r, newVal = reaper.ImGui_InputText(GUI_GetCtx(), setting.title, curVal, input_flags) + end + + if curVal ~= newVal then + GA_SetSettingValue(setting, newVal) + end + + reaper.ImGui_PopFont(GUI_GetCtx()) + reaper.ImGui_PopItemWidth(GUI_GetCtx()) + + GUI_DrawText(setting.description, gui_fonts.Italic) + GUI_DrawGap() + end +end + +GUI_ShowMainWindow(490, 670) \ No newline at end of file diff --git a/Core/ek_Global startup action.lua b/Core/ek_Global startup action.lua new file mode 100644 index 0000000..b7a1145 --- /dev/null +++ b/Core/ek_Global startup action.lua @@ -0,0 +1,119 @@ +-- @description ek_Global startup action +-- @version 1.0.0 +-- @author Ed Kashinsky +-- @about +-- This is startup action brings some ableton-like features in realtime. You can control any option by 'ek_Global startup action settings' script. +-- +-- For installation: +-- 1. Install this script via **Extensions** -> **ReaPack** -> **Browse Packages** +-- 2. Open **Actions** -> **Action List** +-- 3. Find "Script: ek_Global startup action" 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 +-- 6. Open 'ek_Global startup action settings' for customize options +-- @changelog +-- - Added settings window +-- - Added customizable options for realtime +-- - Observing of backups works only if you turn up "Timestamp backups" in Preferences + +function CoreFunctionsLoaded(script) + local sep = (reaper.GetOS() == "Win64" or reaper.GetOS() == "Win32") and "\\" or "/" + local root_path = debug.getinfo(1, 'S').source:sub(2, -5):match("(.*" .. sep .. ")") + local script_path = root_path .. ".." .. sep .. "Core" .. sep .. script + local file = io.open(script_path, 'r') + + if file then file:close() dofile(script_path) return true else return false end +end + +if not CoreFunctionsLoaded("ek_Core functions.lua") then + reaper.MB('Core functions is missing. Please install "ek_Core functions" it via ReaPack (Action: Browse packages)', '', 0) + return +end + +CoreFunctionsLoaded("ek_Core functions startup.lua") + +local cached_changes = { + play_state = 0, + count_items = 0, + count_selected_tracks = 0, + count_selected_items = 0, + first_selected_track = nil, + first_selected_item = nil, +} + +function isChanged(value, param) + local cached = cached_changes[param] + cached_changes[param] = value + + return value ~= cached +end + +function observeGlobalAction() + local something_is_changed = false + local changes = { + play_state = isChanged(reaper.GetPlayState(), "play_state"), + count_items = isChanged(reaper.CountMediaItems(proj), "count_items"), + count_selected_tracks = isChanged(reaper.CountSelectedTracks(proj), "count_selected_tracks"), + count_selected_items = isChanged(reaper.CountSelectedMediaItems(proj), "count_selected_items"), + first_selected_track = isChanged(reaper.GetSelectedTrack(proj, 0), "first_selected_track"), + first_selected_item = isChanged(reaper.GetSelectedMediaItem(proj, 0), "first_selected_item"), + } + + for key, is_changed in pairs(changes) do + if is_changed then + something_is_changed = true + goto end_of_changes + end + end + + ::end_of_changes:: + + if something_is_changed then + Log("Something has changed: \n {param}", ek_log_levels.Notice, changes) + + -- Highlighting of buttons + if GA_GetSettingValue(ga_settings.highlight_buttons) then + GA_ObservePreservePitchForSelectedItems(changes, cached_changes) + GA_ObserveAutomationModeForSelectedTracks(changes, cached_changes) + GA_ObserveMonitoringFx(changes, cached_changes) + GA_ObserveOverlapingItemsVertically(changes, cached_changes) + end + + -- Focus of MIDI Editor + if GA_GetSettingValue(ga_settings.focus_midi_editor) then + GA_ObserveMidiEditor(changes, cached_changes) + end + + -- Project Limit + if GA_GetSettingValue(ga_settings.project_limit) then + GA_ObserveProjectLimit(changes, cached_changes) + end + end + + -- Auto grid + if GA_GetSettingValue(ga_settings.auto_grid) then + GA_ObserveArrangeGrid() + end + + -- Up Sample Rate + if GA_GetSettingValue(ga_settings.rec_sample_rate) then + GA_ObserveArmRec(changes, cached_changes) + end + + -- Backup files + if GA_GetSettingValue(ga_settings.backup_files) then + GA_ObserveAndRemoveOldBackupFiles(changes, cached_changes) + end + + reaper.defer(observeGlobalAction) +end + +observeGlobalAction() + +local command = reaper.NamedCommandLookup(GA_GetSettingValue(ga_settings.additional_action)) +if command ~= 0 then + Log("Additional actions has been executed: {param}", ek_log_levels.Notice, command) + reaper.Main_OnCommand(command, 0) +end + +EK_SetIsGlobalActionEnabled() \ No newline at end of file diff --git a/Core/ek_Test drawing item line.lua b/Core/ek_Test drawing item line.lua new file mode 100644 index 0000000..88aa32a --- /dev/null +++ b/Core/ek_Test drawing item line.lua @@ -0,0 +1,15 @@ +local item = reaper.GetSelectedMediaItem(0, 0) + +local red, green, blue = 240, 240, 180 +local function RGB(r,g,b) + return (((b)&0xFF)|(((g)&0xFF)<<8)|(((r)&0xFF)<<16)|(0xFF<<24)) +end + +local bm = reaper.JS_LICE_CreateBitmap(true, 1, 1) +reaper.JS_LICE_Clear(bm, RGB(red, green, blue)) + +local MainHwnd = reaper.GetMainHwnd() +local trackview = reaper.JS_Window_FindChildByID(MainHwnd, 0x3E8) + + +reaper.JS_Composite(trackview, 100, 50, 1, 100, bm, 0, 0, 1, 1, true) \ No newline at end of file diff --git a/Core/ek_Test drawing original.lua b/Core/ek_Test drawing original.lua new file mode 100644 index 0000000..bc60f0a --- /dev/null +++ b/Core/ek_Test drawing original.lua @@ -0,0 +1,491 @@ + +-- SET "SNAP GUIDE LINE TO GRID" SUPPORT HERE -- (1 = enabled, 0 = disabled) +local Arrange_snap_support = 1 -- (for arrange view) +local MidiEditor_snap_support = 1 -- (for active midi editor) + +-- SET LINE COLOR HERE -- (0-255) +local red, green, blue = 240, 240, 180 + +-------- + +-- ADDITIONAL GUIDE LINE SHOWING ON THE TIMELINE -- (1 = enabled, 0 = disabled) +local timeline_guide = 1 + +-- MINIMUM HEIGHT OF ADDITIONAL LINE +local timeline_guide_height = 15 -- pixels + +-- MAXIMUM HEIGHT OF ADDITIONAL LINE IN RELATION TO TIMELINE HEIGHT +local timeline_guide_height_max = 0.25 -- (timeline height * timeline_guide_height_max) + +-- SET ADDITIONAL LINE COLOR HERE -- (0-255) +local red2, green2, blue2 = 165, 165, 135 + +------------------------------------------------------------------- + +-- Check JS_ReaScriptAPI availability +if reaper.APIExists( "JS_ReaScriptAPI_Version") then + local version = reaper.JS_ReaScriptAPI_Version() + if version < 1.002 then + reaper.MB( "Installed JS_ReaScriptAPI version is v" .. version .. "\n\nPlease, update, restart Reaper and run the script again. Thanks!", "Required version: >=1.002", 0 ) + return reaper.defer(function() end) + end +else + reaper.MB( "Please, install JS_ReaScriptAPI for this script to function. Thanks!", "JS_ReaScriptAPI is not installed", 0 ) + return reaper.defer(function() end) +end + +local function RGB(r,g,b) + return (((b)&0xFF)|(((g)&0xFF)<<8)|(((r)&0xFF)<<16)|(0xFF<<24)) +end + +------------------------------------------------------------------- + +local debug = false +Arrange_snap_support = Arrange_snap_support == 1 +MidiEditor_snap_support = MidiEditor_snap_support == 1 +timeline_guide = timeline_guide == 1 +local floor, ceil, abs = math.floor, math.ceil, math.abs +local MainHwnd = reaper.GetMainHwnd() +local CurrentWindow +local set_window +local MidiWindow = reaper.MIDIEditor_GetActive() +local midiview = MidiWindow and reaper.JS_Window_FindChildByID(MidiWindow, 0x3E9) +local Foreground = reaper.JS_Window_GetForeground() +if Foreground == MainHwnd then + set_window = 1 +elseif Foreground == MidiWindow then + set_window = 0 +end +local prev_set_window = set_window +local master = reaper.GetMasterTrack(0) +local trackview = reaper.JS_Window_FindChildByID(MainHwnd, 0x3E8) +local _, trackview_w, trackview_h = reaper.JS_Window_GetClientSize( trackview ) +local timeline = reaper.JS_Window_FindChildByID(MainHwnd, 0x3ED) +local _, _, timeline_h = reaper.JS_Window_GetClientSize( timeline ) +local timeline_max = math.floor(timeline_h*timeline_guide_height_max) +if timeline_max > timeline_guide_height then + timeline_guide_height = timeline_max +end +local snap = reaper.GetToggleCommandState( 1157 ) == 1 +local zoom +local left_button_down, direction_right = false +local midiview_time = 2 +local bigLine, prev_x, prev_y, prev_item, prev_track, track_y, item_h +local bm_size = 0 +local cur_view = set_window == 0 and midiview or trackview +local _, scrollposv = reaper.JS_Window_GetScrollInfo( cur_view, "v" ) +local _, scrollposh = reaper.JS_Window_GetScrollInfo( cur_view, "h" ) +local checkscroll = false +local prev_scrollposv, prev_scrollposh = scrollposv, scrollposh +red = red and (red < 0 and 0 or (red > 255 and 255 or red)) or 0 +green = green and (green < 0 and 0 or (green > 255 and 255 or green)) or 0 +blue = blue and (blue < 0 and 0 or (blue > 255 and 255 or blue)) or 0 +red2 = red2 and (red2 < 0 and 0 or (red2 > 255 and 255 or red2)) or 0 +green2 = green2 and (green2 < 0 and 0 or (green2 > 255 and 255 or green2)) or 0 +blue2 = blue2 and (blue2 < 0 and 0 or (blue2 > 255 and 255 or blue2)) or 0 +local bm = reaper.JS_LICE_CreateBitmap(true, 1, 1) +reaper.JS_LICE_Clear(bm, RGB(red, green, blue)) +local bm2 +if timeline_guide then + bm2 = reaper.JS_LICE_CreateBitmap(true, 1, 1) + reaper.JS_LICE_Clear(bm2, RGB(red2, green2, blue2)) +end +local toggleCmd = reaper.NamedCommandLookup('_RS723f1ed6da61cd868278d4d78b1c1531edc946f4') -- Script: Toggle guide line size +local bigLine = reaper.GetToggleCommandState( toggleCmd ) == 1 +local prev_bigLine = reaper.GetToggleCommandState( toggleCmd ) == 1 +local start = reaper.time_precise() +local prev_scrollpos_time = start +local continue = true +local change = false +local start_item_pos, start_take_offs, start_x +local moving_item, moving_take +-- Refresh toolbar +local _, _, section, cmdID = reaper.get_action_context() +reaper.SetToggleCommandState( section, cmdID, 1 ) +reaper.RefreshToolbar2( section, cmdID ) + +------------------------------------------------------------------- + +local function Msg(string) + if debug then return reaper.ShowConsoleMsg(string) end +end + +local function round(num) + if num >= 0 then return floor(num + 0.5) + else return ceil(num - 0.5) + end +end + +local function exit() + if bm then reaper.JS_LICE_DestroyBitmap(bm) end + if bm2 then reaper.JS_LICE_DestroyBitmap(bm2) end + reaper.SetToggleCommandState( section, cmdID, 0 ) + reaper.RefreshToolbar2( section, cmdID ) + reaper.defer(function() end) +end + +local function visibletracksheight() + local tr_cnt = reaper.CountTracks( 0 ) + if tr_cnt < 1 then return 0 end + local last_track + for i = tr_cnt-1, 0, -1 do + local track = reaper.GetTrack( 0, i ) + if reaper.IsTrackVisible(track, false) then + last_track = track + break + end + end + return ( last_track and reaper.GetMediaTrackInfo_Value(last_track, "I_WNDH") + reaper.GetMediaTrackInfo_Value(last_track, "I_TCPY") or 0 ) +end + +local vis_tracks_h = visibletracksheight() +local prev_vis_tracks_h = vis_tracks_h + +local function GetMidiViewMousePositionAndHZoom(MidiEditor, width, x) + -- x, y must be to client + local midiview = reaper.JS_Window_FindChildByID( MidiEditor, 0x3E9 ) + local take = reaper.MIDIEditor_GetTake( MidiEditor ) + local guid = reaper.BR_GetMediaItemTakeGUID( take ) + local item = reaper.GetMediaItemTake_Item( take ) + local _, chunk = reaper.GetItemStateChunk( item, "", false ) + local guidfound, editviewfound = false, false + local leftmost_tick, hzoom, timebase + local function setvalue(a) + a = tonumber(a) + if not leftmost_tick then leftmost_tick = a + elseif not hzoom then hzoom = a + else timebase = a + end + end + for line in chunk:gmatch("[^\n]+") do + if line == "GUID " .. guid then + guidfound = true + end + if (not editviewfound) and guidfound then + if line:find("CFGEDITVIEW ") then + line:gsub("([%-%d%.]+)", setvalue, 2) + editviewfound = true + end + end + if editviewfound then + if line:find("CFGEDIT ") then + line:gsub("([%-%d%.]+)", setvalue, 19) + break + end + end + end + local start_time, end_time, HZoom = reaper.MIDI_GetProjTimeFromPPQPos( take, leftmost_tick ) + if timebase == 0 or timebase == 4 then + end_time = reaper.MIDI_GetProjTimeFromPPQPos( take, leftmost_tick + (width - 1 ) / hzoom ) + x = reaper.MIDI_GetProjTimeFromPPQPos( take, leftmost_tick + (x / hzoom) ) + else + end_time = start_time + (width-1)/hzoom + x = start_time + (x / hzoom) + end + HZoom = (width)/(end_time - start_time) + return HZoom, x +end + + +local function in_arrange(x) + return (0 <= x and x < trackview_w) +end +------------------------------------------------------------------- + +local function main() + local now = reaper.time_precise() + local x, y = reaper.GetMousePosition() -- screen + + CurrentWindow = reaper.JS_Window_FromPoint( x, y ) + MidiWindow = reaper.MIDIEditor_GetActive() + midiview = MidiWindow and reaper.JS_Window_FindChildByID(MidiWindow, 0x3E9) + if CurrentWindow == trackview then + + if now - start >= 0.3 then + snap = Arrange_snap_support and reaper.GetToggleCommandState( 1157 ) == 1 + bigLine = reaper.GetToggleCommandState( toggleCmd ) == 1 + if bigLine ~= prev_bigLine then + Msg("Changed guide line size\n") + prev_bigLine = bigLine + change = true + end + start = now + if timeline_guide then + _, _, timeline_h = reaper.JS_Window_GetClientSize( timeline ) + end + if bigLine then + _, trackview_w, trackview_h = reaper.JS_Window_GetClientSize( trackview ) + end + end + + if set_window ~= 1 then + checkscroll = false + if debug then reaper.ClearConsole() end + Msg("Current window is Main Window\n") + prev_set_window = set_window + set_window = 1 -- 1 is Main + bm_size = 0 + if midiview and prev_set_window == 0 then + reaper.JS_Composite(midiview, 0, 0, 0, 0, bm, 0, 0, 1, 1, true) + continue = true + elseif prev_set_window == 0 then + continue = true + end + else + checkscroll = true + end + end + + -- Main Window ----------------------------------------------------------- + if set_window == 1 then + + _, scrollposh = reaper.JS_Window_GetScrollInfo( trackview, "h" ) + _, scrollposv = reaper.JS_Window_GetScrollInfo( trackview, "v" ) + vis_tracks_h = visibletracksheight() + if checkscroll then + if scrollposv ~= prev_scrollposv or scrollposh ~= prev_scrollposh + or vis_tracks_h ~= prev_vis_tracks_h + then + prev_vis_tracks_h = vis_tracks_h + prev_scrollposv = scrollposv + prev_scrollposh = scrollposh + prev_scrollpos_time = now + continue = false + Msg("Changing arrange view...\n") + reaper.JS_Composite(trackview, 0, 0, 0, 0, bm, 0, 0, 1, 1, true) + bm_size = -1 + prev_item = nil + prev_track = nil + + elseif scrollposv == prev_scrollposv + and scrollposh == prev_scrollposh + and now - prev_scrollpos_time >= 0.5 + then + if bm_size == -1 then + Msg("Finished changing arrange view\n") + bm_size = 0 + continue = true + change = true + end + end + else + prev_scrollposv = scrollposv + prev_scrollposh = scrollposh + end + + if continue then + + local grabbing = reaper.JS_Mouse_GetState( 1 ) & 1 == 1 + if not grabbing then + moving_item, moving_take = reaper.GetItemFromPoint( x, y, true ) + end + if moving_item and grabbing then + if not start_item_pos then + start_item_pos = reaper.GetMediaItemInfo_Value( moving_item, "D_POSITION") + end + if moving_take and not start_take_offs then + start_take_offs = reaper.GetMediaItemTakeInfo_Value( moving_take, "D_STARTOFFS" ) + end + if not start_x then + if snap then + local mouse_pos = reaper.BR_PositionAtMouseCursor( false ) + local diff = floor((reaper.SnapToGrid( 0, mouse_pos ) - mouse_pos)*zoom + 0.5) + start_x = reaper.JS_Window_ScreenToClient(trackview, x, y) + diff + else + start_x = reaper.JS_Window_ScreenToClient(trackview, x, y) + end + end + else + if start_item_pos then start_item_pos,start_x = false,false end + if start_take_offs then start_take_offs,start_x = false,false end + end + + if change or (x ~= prev_x or y ~= prev_y) then + prev_x, prev_y = x, y + change = false + zoom = reaper.GetHZoomLevel() + local x_cl, y_cl = reaper.JS_Window_ScreenToClient(trackview, x, y) + + + if in_arrange(x_cl) and 0 <= y_cl and y_cl <= trackview_h then + if snap then + local mouse_pos = reaper.BR_PositionAtMouseCursor( false ) + local diff = floor((reaper.SnapToGrid( 0, mouse_pos ) - mouse_pos)*zoom + 0.5) + x_cl = x_cl + diff + end + + local edit, _, flag = reaper.GetItemEditingTime2() + if edit ~= -666 and start_item_pos then + if flag == 4 then + local new_pos = start_x + floor((reaper.GetMediaItemInfo_Value( moving_item, "D_POSITION") - + start_item_pos) * zoom + 0.5) + if in_arrange(new_pos) then + x_cl = new_pos + else + start_item_pos,start_x = false,false + end + elseif flag == 8 and moving_take then + local new_pos = start_x - floor((reaper.GetMediaItemTakeInfo_Value( moving_take, "D_STARTOFFS" ) - + start_take_offs) * zoom + 0.5) + if in_arrange(new_pos) then + x_cl = new_pos + else + start_take_offs,start_x = false, false + end + end + end + + if bigLine then + Msg("draw big line at " .. x_cl .. "\n") + reaper.JS_Composite(trackview, x_cl, 0, 1, (vis_tracks_h < trackview_h and vis_tracks_h or trackview_h), bm, 0, 0, 1, 1, true) + else + if moving_item then + local par_track = reaper.GetMediaItem_Track( moving_item ) + if moving_item ~= prev_item or par_track ~= prev_track then + prev_item = moving_item + prev_track = par_track + track_y = reaper.GetMediaTrackInfo_Value( par_track, "I_TCPY" ) + + reaper.GetMediaItemInfo_Value( moving_item, "I_LASTY" ) -- client + item_h = reaper.GetMediaItemInfo_Value( moving_item, "I_LASTH" ) + end + Msg("draw line at " .. x_cl .. "\n") + reaper.JS_Composite(trackview, x_cl, track_y, 1, item_h, bm, 0, 0, 1, 1, true) + else + Msg("make line disappear\n") + reaper.JS_Composite(trackview, 0, 0, 0, 0, bm, 0, 0, 1, 1, true) + bm_size = 0 + end + end + + if timeline_guide then + reaper.JS_Composite(timeline, x_cl, timeline_h-timeline_guide_height, 1, timeline_guide_height, bm2, 0, 0, 1, 1, true) + end + + bm_size = 1 + + elseif bm_size == 1 then + Msg("make line disappear\n") + reaper.JS_Composite(trackview, 0, 0, 0, 0, bm, 0, 0, 1, 1, true) + if timeline_guide then + reaper.JS_Composite(timeline, 0, 0, 0, 0, bm2, 0, 0, 1, 1, true) + end + bm_size = 0 + end + + end + end + + -- MIDI Editor ----------------------------------------------------------------- + elseif set_window == 0 then + + _, scrollposh = reaper.JS_Window_GetScrollInfo( midiview, "h" ) + if snap and checkscroll then + if prev_scrollposh and scrollposh ~= prev_scrollposh then + prev_scrollposh = scrollposh + prev_scrollpos_time = now + continue = false + Msg("Changing midi view...\n") + reaper.JS_Composite(midiview, 0, 0, 0, 0, bm, 0, 0, 1, 1, true) + bm_size = -1 + elseif scrollposh == prev_scrollposh + and now - prev_scrollpos_time >= 0.35 + then + if bm_size == -1 then + Msg("Finished changing midi view\n") + bm_size = 0 + continue = true + end + end + else + prev_scrollposv = scrollposv + prev_scrollposh = scrollposh + end + + local _, mwidth, mheight = reaper.JS_Window_GetClientSize( midiview ) + local xcl, ycl = reaper.JS_Window_ScreenToClient(midiview, x, y) + if ycl >= 64 and ycl <= mheight then --and xcl >= 0 and xcl < mwidth then + if x ~= prev_x or continue then + + continue = false + local prev_mouse_pos = prev_x + local current_mouse_pos = x + prev_x = x + + if snap then + local closest_division, diff = 0, 0 + local nosnap, _, activetempo = false + local zoom, mouse_pos = GetMidiViewMousePositionAndHZoom(MidiWindow, mwidth, xcl) + local mgrid, swing, notelen = reaper.MIDI_GetGrid( reaper.MIDIEditor_GetTake( MidiWindow ) ) + notelen = notelen == 0 and mgrid or notelen + _, _, _, _, activetempo = reaper.GetTempoTimeSigMarker( 0, reaper.FindTempoTimeSigMarker( 0, mouse_pos ) ) + activetempo = activetempo == 0 and reaper.GetProjectTimeSignature2( 0 ) or activetempo + local note_duration = notelen *( 60 / activetempo ) + + local mouse_state = reaper.JS_Mouse_GetState( 255 ) + if mouse_state == 9 then + nosnap = true + elseif mouse_state == 1 then -- only left-click is held down + if prev_mouse_pos and prev_mouse_pos < current_mouse_pos and (not left_button_down) then + Msg("drawing towards the right\n") + left_button_down = true + direction_right = true + elseif prev_mouse_pos and prev_mouse_pos > current_mouse_pos and (not left_button_down) then + Msg("drawing towards the left\n") + left_button_down = true + end + else + left_button_down = false + direction_right = nil + end + + if swing == 0 then + + local _, pgrid = reaper.GetSetProjectGrid( 0, false, 0, 0, 0 ) + mgrid = mgrid/4 + if mgrid ~= pgrid then + reaper.SetProjectGrid( 0, mgrid ) + end + closest_division = reaper.BR_GetClosestGridDivision(mouse_pos) + diff = direction_right and + ( closest_division - mouse_pos + note_duration ) * zoom + or ( closest_division - mouse_pos ) * zoom + else + + local QN = reaper.TimeMap_timeToQN_abs( 0, mouse_pos ) + QN = direction_right and QN + mgrid or QN + local QN_grid = floor( QN / mgrid ) + if QN_grid % 2 ~= 0 then QN_grid = QN_grid - 1 end + local swing_pos = QN_grid * mgrid + mgrid * ( 0.5 * swing + 1) + if abs( round( QN ) - QN ) > abs( QN - swing_pos ) then + closest_division = reaper.TimeMap_QNToTime_abs(0, swing_pos) + else + closest_division = reaper.TimeMap_QNToTime_abs(0, round(QN)) + end + diff = ( closest_division - mouse_pos ) * zoom + end + + x = nosnap and x or floor(x + diff + 0.5) + end + + x, y = reaper.JS_Window_ScreenToClient(midiview, x, 0) + Msg("draw line in Midi Editor at " ..x .. "\n") + reaper.JS_Composite(midiview, x, 64, 1, mheight-64, bm, 0, 0, 1, 1, true) + bm_size = 1 + end + + else + if bm_size == 1 then + Msg("make line in Midi Editor disappear\n") + reaper.JS_Composite(midiview, 0, 0, 0, 0, bm, 0, 0, 1, 1, true) + bm_size = 0 + end + + end + end + reaper.defer(main) +end + +------------------------------------------------------------------- + +reaper.atexit(exit) +main() \ No newline at end of file diff --git a/Core/ek_Triming silence edges functions.lua b/Core/ek_Triming silence edges functions.lua new file mode 100644 index 0000000..b9be94a --- /dev/null +++ b/Core/ek_Triming silence edges functions.lua @@ -0,0 +1,298 @@ +-- @noindex + +local debug = false + +tsParams = { + leading = { + threshold = { + key = 'triming_silence_leading_threshold', + default = -22.0 -- db + }, + pad = { + key = 'triming_silence_leading_pad', + default = 0.12 -- s + }, + fade = { + key = 'triming_silence_leading_fade', + default = 0.08 -- s + }, + }, + trailing = { + threshold = { + key = 'triming_silence_trailing_threshold', + default = -55.0 -- db + }, + pad = { + key = 'triming_silence_trailing_pad', + default = 0.22 -- s + }, + fade = { + key = 'triming_silence_trailing_fade', + default = 0.25 -- s + }, + }, + preview_result = { + key = 'triming_silence_preview_result', + default = true + } +} + +local r = reaper +local base_key = "ek_stuff" + +function log10(x) + return math.log(x, 10) +end + +function sample_to_db(sample) + --returns -150 for any 0.0 sample point (since you can't take the log of 0) + if sample == 0 then + return -150.0 + else + local db = 20 * log10(math.abs(sample)) + + if db > 0 then return 0 else return db end + end +end + +function round(number, decimals) + local power = 10 ^ decimals + return math.floor(number * power) / power +end + +function Debug(string) + if debug then + reaper.ShowConsoleMsg(string .. "\n") + end +end + +function getDataForAccessor(take) + -- Get media source of media item take + local take_pcm_source = r.GetMediaItemTake_Source(take) + if take_pcm_source == nil then return end + + -- Create take audio accessor + local aa = r.CreateTakeAudioAccessor(take) + + if aa == nil then return end + + -- Get the start time of the audio that can be returned from this accessor + local aa_start = r.GetAudioAccessorStartTime(aa) + -- Get the end time of the audio that can be returned from this accessor + local aa_end = r.GetAudioAccessorEndTime(aa) + local a_length = (aa_end - aa_start) / 25 + + if a_length <= 1 then a_length = 1 elseif a_length > 20 then a_length = 20 end + + -- Get the number of channels in the source media. + local take_source_num_channels = r.GetMediaSourceNumChannels(take_pcm_source) + if take_source_num_channels > 2 then take_source_num_channels = 2 end + + -- Get the sample rate. MIDI source media will return zero. + local take_source_sample_rate = r.GetMediaSourceSampleRate(take_pcm_source) + + -- How many samples are taken from audio accessor and put in the buffer + local samples_per_channel = take_source_sample_rate / 2 + + return aa, a_length, aa_start, aa_end, take_source_sample_rate, take_source_num_channels, samples_per_channel +end + +function getStartPositionLouderThenThreshold(take, threshold) + if take == nil then return end + + local aa, a_length, aa_start, aa_end, take_source_sample_rate, take_source_num_channels, samples_per_channel = getDataForAccessor(take) + + local peak = 0 + local peakTime = 0 + + -- Samples are collected to this buffer + local buffer = r.new_array(samples_per_channel * take_source_num_channels) + local sample_count = 0 + local offs = aa_start + local total_samples = (aa_end - aa_start) * (take_source_sample_rate/a_length) + + if total_samples < 1 then return end + + -- Loop through samples + while sample_count < total_samples do + -- Get a block of samples from the audio accessor. + -- Samples are extracted immediately pre-FX, + -- and returned interleaved (first sample of first channel, + -- first sample of second channel...). Returns 0 if no audio, 1 if audio, -1 on error. + local aa_ret = r.GetAudioAccessorSamples( + aa, -- AudioAccessor accessor + take_source_sample_rate, -- integer samplerate + take_source_num_channels, -- integer numchannels + offs, -- number starttime_sec + samples_per_channel, -- integer numsamplesperchannel + buffer -- r.array samplebuffer + ) + + if aa_ret == 1 then + for i = 1, #buffer, take_source_num_channels do + if sample_count == total_samples then + audio_end_reached = true + break + end + + for j = 1, take_source_num_channels do + local buf_pos = i + j - 1 + local spl = buffer[buf_pos] + + if spl > -1 and spl < 1 then + local db = sample_to_db(spl) + + if db >= threshold then + peak = db + peakTime = offs + (buf_pos / (take_source_sample_rate * take_source_num_channels)) + + goto done_start + end + end + end + + sample_count = sample_count + 1 + end + elseif aa_ret == 0 then -- no audio in current buffer + sample_count = sample_count + samples_per_channel + else + return + end + + offs = offs + samples_per_channel / take_source_sample_rate -- new offset in take source (seconds) + end -- end of while loop + + ::done_start:: + + r.DestroyAudioAccessor(aa) + + Debug("Start point detected: " .. round(peak, 2) .. "db " .. round(peakTime, 3) .. "s ".. "\n") + + return peakTime +end + +function getEndPositionLouderThenThreshold(take, threshold) + if take == nil then return end + + local aa, a_length, aa_start, aa_end, take_source_sample_rate, take_source_num_channels, samples_per_channel = getDataForAccessor(take) + + local peak = 0 + local peakTime = 0 + + -- Samples are collected to this buffer + local buffer = r.new_array(samples_per_channel * take_source_num_channels) + local offs = aa_end - samples_per_channel / take_source_sample_rate + local total_samples = (aa_end - aa_start) * (take_source_sample_rate/a_length) + local sample_count = total_samples + + if total_samples < 1 then return end + + -- Loop through samples + while sample_count > 0 do + -- Get a block of samples from the audio accessor. + -- Samples are extracted immediately pre-FX, + -- and returned interleaved (first sample of first channel, + -- first sample of second channel...). Returns 0 if no audio, 1 if audio, -1 on error. + local aa_ret = r.GetAudioAccessorSamples( + aa, -- AudioAccessor accessor + take_source_sample_rate, -- integer samplerate + take_source_num_channels, -- integer numchannels + offs, -- number starttime_sec + samples_per_channel, -- integer numsamplesperchannel + buffer -- r.array samplebuffer + ) + + if aa_ret == 1 then + local curPeak = nil + local curPeakTime = nil + + for i = 1, #buffer, take_source_num_channels do + if sample_count == 0 then + audio_end_reached = true + break + end + + for j = 1, take_source_num_channels do + local buf_pos = i + j - 1 + local spl = buffer[buf_pos] + + if spl > -1 and spl < 1 then + local db = sample_to_db(spl) + + if db >= threshold then + curPeak = db + curPeakTime = offs + (buf_pos / (take_source_sample_rate * take_source_num_channels)) + end + end + end + + sample_count = sample_count - 1 + end + + if curPeakTime ~= nil then + peak = curPeak + peakTime = curPeakTime + + goto done_end + end + + elseif aa_ret == 0 then -- no audio in current buffer + sample_count = sample_count - samples_per_channel + else + return + end + + offs = offs - samples_per_channel / take_source_sample_rate -- new offset in take source (seconds) + end -- end of while loop + + ::done_end:: + + r.DestroyAudioAccessor(aa) + + Debug("End point detected: " .. round(peak, 2) .. "db " .. round(peakTime, 3) .. "s ".. "\n") + + return peakTime +end + +function getTsParamValue(param) + local value = r.GetExtState(base_key, param.key) + if value ~= '' then return tonumber(value) else return param.default end +end + +function setTsParamValue(param, value) + r.SetExtState(base_key, param.key, value, true) +end + +function trimLeadingPosition(take, startOffset) + startOffset = startOffset - getTsParamValue(tsParams.leading.pad) + + if startOffset < 0 then return end + + local item = r.GetMediaItemTake_Item(take) + + local offset = r.GetMediaItemTakeInfo_Value(take, "D_STARTOFFS") + + r.SetMediaItemTakeInfo_Value(take, "D_STARTOFFS", offset + startOffset) + + local position = r.GetMediaItemInfo_Value(item, "D_POSITION") + reaper.SetMediaItemInfo_Value(item, "D_POSITION", position + startOffset) + + local length = r.GetMediaItemInfo_Value(item, "D_LENGTH") + reaper.SetMediaItemInfo_Value(item, "D_LENGTH", length - startOffset) + + reaper.SetMediaItemInfo_Value(item, "D_FADEINLEN", getTsParamValue(tsParams.leading.fade)) +end + +function trimTrailingPosition(take, startOffset) + startOffset = startOffset + getTsParamValue(tsParams.trailing.pad) + + local item = r.GetMediaItemTake_Item(take) + local length = r.GetMediaItemInfo_Value(item, "D_LENGTH") + + if startOffset > length then return end + + endOffset = length - startOffset + + reaper.SetMediaItemInfo_Value(item, "D_LENGTH", length - endOffset) + reaper.SetMediaItemInfo_Value(item, "D_FADEOUTLEN", getTsParamValue(tsParams.trailing.fade)) +end \ No newline at end of file diff --git a/Items Editing/ek_Add 1 sec gap between selected items.lua b/Items Editing/ek_Add 1 sec gap between selected items.lua new file mode 100644 index 0000000..bc08f33 --- /dev/null +++ b/Items Editing/ek_Add 1 sec gap between selected items.lua @@ -0,0 +1,59 @@ +-- @description ek_Add 1 sec gap between selected items +-- @version 1.0.0 +-- @author Ed Kashinsky +-- @about +-- Script just adds 1 second gap between selected items without any GUI +-- @changelog +-- - Fixed for toolbar on Windows + +reaper.Undo_BeginBlock() + +local proj = 0 +local gap = 1 +local count = reaper.CountSelectedMediaItems(proj) + +local function add_gap() + local tracks = {} + + -- group items by tracks + for i = 0, count - 1 do + local item = reaper.GetSelectedMediaItem(proj, i) + local i_id = reaper.GetMediaItemInfo_Value(item, "IP_ITEMNUMBER") + + local track = reaper.GetMediaItemTrack(item) + local t_id = reaper.GetMediaTrackInfo_Value(track, "IP_TRACKNUMBER") + + if tracks[t_id] == nil then + tracks[t_id] = {} + end + + table.insert(tracks[t_id], i_id) + end + + for t_id, i_ids in pairs(tracks) do + local track = reaper.GetTrack(proj, t_id - 1) + + for i = #i_ids, 2, -1 do + local item = reaper.GetTrackMediaItem(track, i_ids[i]) + + local position = reaper.GetMediaItemInfo_Value(item, "D_POSITION") + reaper.SetMediaItemPosition(item, position + (gap * (i - 1)), i == 0) + end + end +end + +if count > 1 then + add_gap() + reaper.UpdateArrange() +else + local x, y = reaper.GetMousePosition() + + if reaper.GetOS() == "Win64" or reaper.GetOS() == "Win32" then + x = x - 30 + y = y + 50 + end + + reaper.TrackCtl_SetToolTip("Select 2 items at least", x, y, true) +end + +reaper.Undo_EndBlock("Add 1 sec gap between selected items", -1) \ No newline at end of file diff --git a/Items Editing/ek_Change pitch mode for selected items.lua b/Items Editing/ek_Change pitch mode for selected items.lua new file mode 100644 index 0000000..472d596 --- /dev/null +++ b/Items Editing/ek_Change pitch mode for selected items.lua @@ -0,0 +1,97 @@ +-- @description ek_Change pitch mode for selected items +-- @version 1.0.0 +-- @author Ed Kashinsky +-- @about +-- ![Preview](/Assets/images/change_pitch_mode_preview.gif) +-- +-- This script shows nested menu of all pitch modes for selected items right on the toolbar without "Item properties" window +-- @changelog +-- - Added core functions + +function CoreFunctionsLoaded() + local sep = (reaper.GetOS() == "Win64" or reaper.GetOS() == "Win32") and "\\" or "/" + local root_path = debug.getinfo(1, 'S').source:sub(2, -5):match("(.*" .. sep .. ")") + local script_path = root_path .. ".." .. sep .. "Core" .. sep .. "ek_Core functions.lua" + local file = io.open(script_path, 'r') + + if file then file:close() dofile(script_path) return true else return false end +end + +if not CoreFunctionsLoaded() then + reaper.MB('Core functions is missing. Please install "ek_Core functions" it via ReaPack (Action: Browse packages)', '', 0) + return +end + +reaper.Undo_BeginBlock() + +function showMenu() + if reaper.CountSelectedMediaItems(proj) > 0 then + local menuString = "" + local selectedPitchModes = EK_GetPitchModesForSelectedItems() + local pitchModes = EK_GetPitchModes() + + for i = 1, #pitchModes do + local currentLine = pitchModes[i].title + + if selectedPitchModes[pitchModes[i].id] ~= nil and pitchModes[i].is_submode == true then + currentLine = "!" .. currentLine + elseif pitchModes[i].is_submode == false then + for key in pairs(selectedPitchModes) do + if math.floor(key / 2 ^ 16) == pitchModes[i].id then + currentLine = "!" .. currentLine + break + end + end + end + + if pitchModes[i].is_submode == false and pitchModes[i + 1] ~= nil and pitchModes[i + 1].is_submode == true then + currentLine = ">" .. currentLine + elseif pitchModes[i].is_submode == true and (pitchModes[i + 1] == nil or pitchModes[i + 1].is_submode == false) then + currentLine = "<" .. currentLine + end + + if i < #pitchModes then + currentLine = currentLine .. "|" + end + + menuString = menuString .. currentLine + end + + -- On Windows reaper must create new window + if reaper.GetOS() == "Win64" then + gfx.init("", 0, 0, 0) + + gfx.x = gfx.mouse_x + gfx.y = gfx.mouse_y + end + + -- Debug(menuString) + + -- >1|2|3|<4|>5|6|7|<8 + local retval = gfx.showmenu(menuString) + + Log(retval, ek_log_levels.Notice) + + if retval > 0 then + local j = 1 + for i = 1, #pitchModes do + if pitchModes[i].is_submode == true then + if retval == j then + EK_SetPitchModeForSelectionItems(pitchModes[i].id) + break + end + + j = j + 1 + end + end + end + + if reaper.GetOS() == "Win64" then + gfx.quit() + end + end +end + +showMenu() + +reaper.Undo_EndBlock("Change pitch mode for selected items", -1) \ No newline at end of file diff --git a/Items Editing/ek_Clear pitch or rate for selected items.lua b/Items Editing/ek_Clear pitch or rate for selected items.lua new file mode 100644 index 0000000..48aaeaf --- /dev/null +++ b/Items Editing/ek_Clear pitch or rate for selected items.lua @@ -0,0 +1,50 @@ +-- @description ek_Clear pitch or rate for selected items +-- @version 1.0.0 +-- @author Ed Kashinsky +-- @about +-- This script resets any pitch, rate and length info for selected items and makes as default + +reaper.Undo_BeginBlock() + +proj = 0 +semiFactor = 2 ^ (1/12) -- Rate: 2.0 = Pitch * 12 + +for i = 0, reaper.CountSelectedMediaItems(proj) - 1 do + local item = reaper.GetSelectedMediaItem(proj, i) + local takeInd = reaper.GetMediaItemInfo_Value(item, "I_CURTAKE") + + local itemTake = reaper.GetMediaItemTake(item, takeInd) + + if reaper.TakeIsMIDI(itemTake) then + -- do nothing + else + local mode = reaper.GetMediaItemTakeInfo_Value(itemTake, "B_PPITCH") + + if mode == 1 then + -- clear pitch + reaper.SetMediaItemTakeInfo_Value(itemTake, "D_PITCH", 0) + reaper.SetMediaItemTakeInfo_Value(itemTake, "D_PLAYRATE", 1) + else + -- clear rate + local rate = reaper.GetMediaItemTakeInfo_Value(itemTake, "D_PLAYRATE") + + reaper.SetMediaItemTakeInfo_Value(itemTake, "D_PITCH", 0) + reaper.SetMediaItemTakeInfo_Value(itemTake, "D_PLAYRATE", 1) + + local length = reaper.GetMediaItemInfo_Value(item, "D_LENGTH") + local semitones = math.log(rate, semiFactor) + + if semitones >= 0 then + length = length * (semiFactor ^ semitones) + else + length = length / (semiFactor ^ math.abs(semitones)) + end + + reaper.SetMediaItemInfo_Value(item, "D_LENGTH", length) + end + end + + reaper.UpdateArrange() +end + +reaper.Undo_EndBlock("Clear pitch or rate", -1) \ No newline at end of file diff --git a/Items Editing/ek_Create crossfade on edges of items.lua b/Items Editing/ek_Create crossfade on edges of items.lua new file mode 100644 index 0000000..1625d2d --- /dev/null +++ b/Items Editing/ek_Create crossfade on edges of items.lua @@ -0,0 +1,73 @@ +-- @description ek_Create crossfade on edges of items +-- @version 1.0.0 +-- @author Ed Kashinsky +-- @about +-- This script creates crossfade on edges of tracks. It useful when you don't use overlap on crossfades for better precise but anyway want to create crossfades +-- +-- Installation for better experience: +-- 1. Open **Preferences** -> **Editing Behavior** -> **Mouse Modifiers** +-- 2. In **Context** field choose **Media item edge** and **double click** in right one +-- 3. Choose this script in field **Default action** +-- 4. Done! It means that when you double click on edge between media items, you create crossfade between them +-- @changelog +-- - Added script + +reaper.Undo_BeginBlock() + +local proj = 0 +local retval, div = reaper.GetSetProjectGrid(proj, false) +local crossfade_length = 2 * div +local can_crossfade = false +local selected_track = reaper.GetSelectedTrack(proj, 0) + +if crossfade_length < 0.0001 then + crossfade_length = 0.0001 +end + +function prepareCrossfadeItems(left_item, right_item) + if left_item == nil then return false end + + local cursor_position = reaper.GetCursorPosition() + local half_length = crossfade_length / 2 + local left_position = reaper.GetMediaItemInfo_Value(left_item, "D_POSITION") + local left_length = reaper.GetMediaItemInfo_Value(left_item, "D_LENGTH") + local right_take = reaper.GetActiveTake(right_item) + local right_offset = reaper.GetMediaItemTakeInfo_Value(right_take, "D_STARTOFFS") + local right_position = reaper.GetMediaItemInfo_Value(right_item, "D_POSITION") + + if left_position + left_length ~= cursor_position then return false end + if right_position ~= cursor_position then return false end + + -- left item + reaper.SetMediaItemInfo_Value(left_item, "D_LENGTH", left_length + half_length) + + -- right item + reaper.SetMediaItemInfo_Value(right_item, "D_POSITION", right_position - half_length) + reaper.SetMediaItemTakeInfo_Value(right_take, "D_STARTOFFS", right_offset - half_length) + + return true +end + +for i = 0, reaper.CountTrackMediaItems(selected_track) - 1 do + local item = reaper.GetTrackMediaItem(selected_track, i) + local prev_item = reaper.GetTrackMediaItem(selected_track, i - 1) + + if prepareCrossfadeItems(prev_item, item) then + reaper.Main_OnCommand(reaper.NamedCommandLookup("_SWS_SAVESELITEMS1"), 0) -- SWS: Save selected track(s) selected item(s), slot 1 + + reaper.SetMediaItemSelected(item, true) + reaper.SetMediaItemSelected(prev_item, true) + + can_crossfade = true + goto done + end +end + +::done:: + +if can_crossfade then + reaper.Main_OnCommand(reaper.NamedCommandLookup(41059), 0) -- Item: Crossfade any overlapping items + reaper.Main_OnCommand(reaper.NamedCommandLookup("_SWS_RESTSELITEMS1"), 0) -- SWS: Restore selected track(s) selected item(s), slot 1 +end + +reaper.Undo_EndBlock("Create crossfade on edges of items", -1) \ No newline at end of file diff --git a/Items Editing/ek_Decrease pitch or rate for selected items.lua b/Items Editing/ek_Decrease pitch or rate for selected items.lua new file mode 100644 index 0000000..3bf280d --- /dev/null +++ b/Items Editing/ek_Decrease pitch or rate for selected items.lua @@ -0,0 +1,95 @@ +-- @description ek_Decrease pitch or rate for selected items +-- @version 1.0.0 +-- @author Ed Kashinsky +-- @about +-- This script decreases pitch or rate of selected items depending on "Preserve Pitch" option. +-- +-- If option is on, script decreases pitch and change rate in other case. Also when rate is changing, length is changing too (like in Ableton) +-- +-- This script normally subtracts 1 semitone, but if you hold ctrl/cmd it subtracts 0.1 semitone +-- +-- Works with 'ek_Increase pitch or rate for selected items' +-- @changelog +-- - Added core functions + +function CoreFunctionsLoaded() + local sep = (reaper.GetOS() == "Win64" or reaper.GetOS() == "Win32") and "\\" or "/" + local root_path = debug.getinfo(1, 'S').source:sub(2, -5):match("(.*" .. sep .. ")") + local script_path = root_path .. ".." .. sep .. "Core" .. sep .. "ek_Core functions.lua" + local file = io.open(script_path, 'r') + + if file then file:close() dofile(script_path) return true else return false end +end + +if not CoreFunctionsLoaded() then + reaper.MB('Core functions is missing. Please install "ek_Core functions" it via ReaPack (Action: Browse packages)', '', 0) + return +end + +reaper.Undo_BeginBlock() + +local proj = 0 +local adding = 1 + +-- ctrl/cmd is pressed (smoother changes) +if reaper.JS_Mouse_GetState(4) > 0 then + adding = 0.1 +end + +local semiFactor = 2 ^ (1 / 12) -- Rate: 2.0 = Pitch * 12 +local curSemiFactor = 2 ^ ((1 / 12) * adding) + +for i = 0, reaper.CountSelectedMediaItems(proj) - 1 do + local item = reaper.GetSelectedMediaItem(proj, i) + local takeInd = reaper.GetMediaItemInfo_Value(item, "I_CURTAKE") + + local itemTake = reaper.GetMediaItemTake(item, takeInd) + + if reaper.TakeIsMIDI(itemTake) then + local retval, notes = reaper.MIDI_CountEvts(itemTake) + + -- decrease pitch for every note + if retval then + for j = 0, notes - 1 do + local retval, sel, muted, startppqpos, endppqpos, chan, pitch = reaper.MIDI_GetNote(itemTake, j) + + pitch = pitch - 1 + reaper.MIDI_SetNote(itemTake, j, sel, muted, startppqpos, endppqpos, chan, pitch) + + ShowPitchTooltip(pitch) + end + end + else + local mode = reaper.GetMediaItemTakeInfo_Value(itemTake, "B_PPITCH") + + if mode == 1 then + -- decrease pitch + local pitch = reaper.GetMediaItemTakeInfo_Value(itemTake, "D_PITCH") + pitch = pitch - adding + + reaper.SetMediaItemTakeInfo_Value(itemTake, "D_PITCH", pitch) + + if i == 0 then + ShowPitchTooltip(pitch) + end + else + -- decrease rate + local rate = reaper.GetMediaItemTakeInfo_Value(itemTake, "D_PLAYRATE") + rate = rate / curSemiFactor + + reaper.SetMediaItemTakeInfo_Value(itemTake, "D_PLAYRATE", rate) + + local length = reaper.GetMediaItemInfo_Value(item, "D_LENGTH") + reaper.SetMediaItemInfo_Value(item, "D_LENGTH", length * curSemiFactor) + + if i == 0 then + local semitones = round(math.log(rate, semiFactor), 1) + ShowPitchTooltip(semitones) + end + end + end + + reaper.UpdateArrange() +end + +reaper.Undo_EndBlock("Decrease Pitch or Rate", -1) \ No newline at end of file diff --git a/Items Editing/ek_Increase pitch or rate for selected items.lua b/Items Editing/ek_Increase pitch or rate for selected items.lua new file mode 100644 index 0000000..8221683 --- /dev/null +++ b/Items Editing/ek_Increase pitch or rate for selected items.lua @@ -0,0 +1,93 @@ +-- @description ek_Increase pitch or rate for selected items +-- @version 1.0.0 +-- @author Ed Kashinsky +-- @about +-- This script increases pitch or rate of selected items depending on "Preserve Pitch" option. +-- +-- If option is on, script increases pitch and change rate in other case. Also when rate is changing, length is changing too (like in Ableton) +-- +-- This script normally adds 1 semitone, but if you hold ctrl/cmd it adds 0.1 semitone +-- @changelog +-- - Added core functions + +function CoreFunctionsLoaded() + local sep = (reaper.GetOS() == "Win64" or reaper.GetOS() == "Win32") and "\\" or "/" + local root_path = debug.getinfo(1, 'S').source:sub(2, -5):match("(.*" .. sep .. ")") + local script_path = root_path .. ".." .. sep .. "Core" .. sep .. "ek_Core functions.lua" + local file = io.open(script_path, 'r') + + if file then file:close() dofile(script_path) return true else return false end +end + +if not CoreFunctionsLoaded() then + reaper.MB('Core functions is missing. Please install "ek_Core functions" it via ReaPack (Action: Browse packages)', '', 0) + return +end + +reaper.Undo_BeginBlock() + +local proj = 0 +local adding = 1 + +-- ctrl/cmd is pressed (smoother changes) +if reaper.JS_Mouse_GetState(4) > 0 then + adding = 0.1 +end + +local semiFactor = 2 ^ (1 / 12) -- Rate: 2.0 = Pitch * 12 +local curSemiFactor = 2 ^ ((1 / 12) * adding) + +for i = 0, reaper.CountSelectedMediaItems(proj) - 1 do + local item = reaper.GetSelectedMediaItem(proj, i) + local takeInd = reaper.GetMediaItemInfo_Value(item, "I_CURTAKE") + + local itemTake = reaper.GetMediaItemTake(item, takeInd) + + if reaper.TakeIsMIDI(itemTake) then + local retval, notes = reaper.MIDI_CountEvts(itemTake) + + -- increase pitch for every note + if retval then + for j = 0, notes - 1 do + local retval, sel, muted, startppqpos, endppqpos, chan, pitch = reaper.MIDI_GetNote(itemTake, j) + + pitch = pitch + 1 + reaper.MIDI_SetNote(itemTake, j, sel, muted, startppqpos, endppqpos, chan, pitch) + ShowPitchTooltip(pitch) + end + end + else + local mode = reaper.GetMediaItemTakeInfo_Value(itemTake, "B_PPITCH") + + if mode == 1 then + -- increase pitch + local pitch = reaper.GetMediaItemTakeInfo_Value(itemTake, "D_PITCH") + + pitch = pitch + adding + reaper.SetMediaItemTakeInfo_Value(itemTake, "D_PITCH", pitch) + + if i == 0 then + ShowPitchTooltip(pitch) + end + else + -- increase rate + local rate = reaper.GetMediaItemTakeInfo_Value(itemTake, "D_PLAYRATE") + + rate = rate * curSemiFactor + + reaper.SetMediaItemTakeInfo_Value(itemTake, "D_PLAYRATE", rate) + + local length = reaper.GetMediaItemInfo_Value(item, "D_LENGTH") + reaper.SetMediaItemInfo_Value(item, "D_LENGTH", length / curSemiFactor) + + if i == 0 then + local semitones = round(math.log(rate, semiFactor), 1) + ShowPitchTooltip(semitones) + end + end + end + + reaper.UpdateArrange() +end + +reaper.Undo_EndBlock("Increase pitch or rate", -1) \ No newline at end of file diff --git a/Items Editing/ek_Pin selected items at markers started from.lua b/Items Editing/ek_Pin selected items at markers started from.lua new file mode 100644 index 0000000..f10bb8f --- /dev/null +++ b/Items Editing/ek_Pin selected items at markers started from.lua @@ -0,0 +1,178 @@ +-- @description ek_Pin selected items at markers started from +-- @version 1.0.0 +-- @author Ed Kashinsky +-- @about +-- ![Preview](/Assets/images/pin_items_to_markers_preview.gif) +-- This script pins selected items to markers started from specified number. It requires [Lokasenna_GUI](https://github.com/jalovatt/Lokasenna_GUI) +-- @changelog +-- - GUI updated to ReaImGui + +function CoreFunctionsLoaded() + local sep = (reaper.GetOS() == "Win64" or reaper.GetOS() == "Win32") and "\\" or "/" + local root_path = debug.getinfo(1, 'S').source:sub(2, -5):match("(.*" .. sep .. ")") + local script_path = root_path .. ".." .. sep .. "Core" .. sep .. "ek_Core functions.lua" + local file = io.open(script_path, 'r') + + if file then file:close() dofile(script_path) return true else return false end +end + +if not CoreFunctionsLoaded() then + reaper.MB('Core functions is missing. Please install "ek_Core functions" it via ReaPack (Action: Browse packages)', '', 0) + return +end + +local closest_marker = 0 +local start_marker = 0 +local combo_selected_id = nil +local count_selected_items = reaper.CountSelectedMediaItems(proj) + +local function getOnlyMarkers() + local markers = {} + local retval, num_markers, num_regions = reaper.CountProjectMarkers(proj) + + -- collect only markers + for i = 0, num_markers + num_regions - 1 do + local retval, isrgn, pos, rgnend, name, markrgnindexnumber = reaper.EnumProjectMarkers(i) + + if isrgn == false then + table.insert(markers, { + num = markrgnindexnumber, + position = pos + }) + end + end + + return markers +end + +local function findIndexByMarkerNumber(markers, number) + if number == nil then + return nil + end + + for i = 1, #markers do + if markers[i].num == number then + return i + end + end + + return nil +end + +local function findNearestMarkerNum(position) + local retval, num_markers, num_regions = reaper.CountProjectMarkers(proj) + local prevMarkerNum + local prevMarkerPos + + for i = 0, num_markers + num_regions - 1 do + local retval, isrgn, pos, rgnend, name, markrgnindexnumber = reaper.EnumProjectMarkers(i) + + if isrgn == false then + if pos > position then + local prevDist = position - prevMarkerPos + local curDist = pos - position + return curDist < prevDist and markrgnindexnumber or prevMarkerNum + end + + if i == num_markers + num_regions - 1 then + return markrgnindexnumber + end + + prevMarkerNum = markrgnindexnumber + prevMarkerPos = pos + end + end +end + + +local function setPositionForItem(i, start, markers) + local item = reaper.GetSelectedMediaItem(proj, i) + local cur = reaper.GetMediaItemInfo_Value(item, "D_POSITION") + + -- reaper.ShowConsoleMsg((start + i) .. " " .. cur .. " => " .. markers[start + i].position .. "\n") + reaper.SetMediaItemInfo_Value(item, "D_POSITION", markers[start + i].position) +end + + +local function pin_items() + reaper.Undo_BeginBlock() + + local count = reaper.CountSelectedMediaItems(proj) + local markers = getOnlyMarkers() + local startIndex = findIndexByMarkerNumber(markers, start_marker) + + if startIndex == nil then + EK_ShowTooltip("Please enter correct number of marker.") + return + end + + if count > #markers - startIndex + 1 then + EK_ShowTooltip("You have no available markers for pinning.") + return + end + + -- count direction + local item = reaper.GetSelectedMediaItem(proj, 0) + local position = reaper.GetMediaItemInfo_Value(item, "D_POSITION") + if markers[startIndex].position <= position then + for i = 0, count - 1 do + setPositionForItem(i, startIndex, markers) + end + else + for i = count - 1, 0, -1 do + setPositionForItem(i, startIndex, markers) + end + end + + GUI_CloseMainWindow() + reaper.UpdateArrange() + reaper.Undo_EndBlock("Move selected items at markers started from", -1) +end + +function frame() + local markers = getOnlyMarkers() + local combo_list = '' + + for i = 1, #markers do + combo_list = combo_list .. markers[i].num .. '\31' + + if combo_selected_id == nil and markers[i].num == closest_marker then + start_marker = markers[i].num + combo_selected_id = i - 1 + end + end + + reaper.ImGui_PushItemWidth(GUI_GetCtx(), 110) + + local r, value = reaper.ImGui_Combo(GUI_GetCtx(), "Start marker number", combo_selected_id, combo_list) + + if value ~= combo_selected_id then + start_marker = markers[value + 1].num + combo_selected_id = value + end + + GUI_DrawGap() + + reaper.ImGui_Indent(GUI_GetCtx(), 35) + + GUI_DrawButton('Pin to marker', function() + pin_items() + end, gui_buttons_types.Action, true) + + reaper.ImGui_SameLine(GUI_GetCtx()) + + GUI_DrawButton('Cancel', nil, gui_buttons_types.Cancel) +end + +if count_selected_items == 0 then + EK_ShowTooltip("Select any item.") +elseif #getOnlyMarkers() == 0 then + EK_ShowTooltip("There is no markers for pinning") +else + local item = reaper.GetSelectedMediaItem(proj, 0) + local position = reaper.GetMediaItemInfo_Value(item, "D_POSITION") + + closest_marker = findNearestMarkerNum(position) + + GUI_ShowMainWindow(270, 120) +end diff --git a/Items Editing/ek_Switch to next pitch mode for selected items.lua b/Items Editing/ek_Switch to next pitch mode for selected items.lua new file mode 100644 index 0000000..f37fa97 --- /dev/null +++ b/Items Editing/ek_Switch to next pitch mode for selected items.lua @@ -0,0 +1,66 @@ +-- @description ek_Switch to next pitch mode for selected items +-- @version 1.0.0 +-- @author Ed Kashinsky +-- @about +-- This script helps to switch between pitch modes quicker just in one click. +-- +-- Work with script ek_Switch to prev pitch mode for selected items.lua +-- @changelog +-- - Added core functions + +function CoreFunctionsLoaded() + local sep = (reaper.GetOS() == "Win64" or reaper.GetOS() == "Win32") and "\\" or "/" + local root_path = debug.getinfo(1, 'S').source:sub(2, -5):match("(.*" .. sep .. ")") + local script_path = root_path .. ".." .. sep .. "Core" .. sep .. "ek_Core functions.lua" + local file = io.open(script_path, 'r') + + if file then file:close() dofile(script_path) return true else return false end +end + +if not CoreFunctionsLoaded() then + reaper.MB('Core functions is missing. Please install "ek_Core functions" it via ReaPack (Action: Browse packages)', '', 0) + return +end + +reaper.Undo_BeginBlock() + +local function getNextPitchMode(ind) + local pitchModes = EK_GetPitchModes() + + for i = 1, #pitchModes do + if pitchModes[i].is_submode == true and pitchModes[i].id == ind then + local j = i + + while pitchModes[j] ~= nil do + j = j + 1 + + if pitchModes[j] ~= nil and pitchModes[j].is_submode == true then + return pitchModes[j] + end + end + + return pitchModes[i] + end + end + + return pitchModes[0] +end + +local item = reaper.GetSelectedMediaItem(proj, 0) +if item ~= nil then + local takeInd = reaper.GetMediaItemInfo_Value(item, "I_CURTAKE") + local itemTake = reaper.GetMediaItemTake(item, takeInd) + local mode = reaper.GetMediaItemTakeInfo_Value(itemTake, "I_PITCHMODE") + + if mode == defProjPitchMode then + mode = reaper.SNM_GetIntConfigVar("defpitchcfg", defProjPitchMode) + end + + local newMode = getNextPitchMode(mode) + local base_mode = EK_GetPitchModeBySubMode(newMode.id) + + EK_SetPitchModeForSelectionItems(newMode.id) + EK_ShowTooltip(base_mode .. " (" .. newMode.title .. ")") +end + +reaper.Undo_EndBlock("Switch to next pitch mode for selected items", -1) \ No newline at end of file diff --git a/Items Editing/ek_Switch to prev pitch mode for selected items.lua b/Items Editing/ek_Switch to prev pitch mode for selected items.lua new file mode 100644 index 0000000..147a875 --- /dev/null +++ b/Items Editing/ek_Switch to prev pitch mode for selected items.lua @@ -0,0 +1,66 @@ +-- @description ek_Switch to prev pitch mode for selected items +-- @version 1.0.0 +-- @author Ed Kashinsky +-- @about +-- This script helps to switch between pitch modes quicker just in one click. +-- +-- Work with script ek_Switch to next pitch mode for selected items.lua +-- @changelog +-- - Added core functions + +function CoreFunctionsLoaded() + local sep = (reaper.GetOS() == "Win64" or reaper.GetOS() == "Win32") and "\\" or "/" + local root_path = debug.getinfo(1, 'S').source:sub(2, -5):match("(.*" .. sep .. ")") + local script_path = root_path .. ".." .. sep .. "Core" .. sep .. "ek_Core functions.lua" + local file = io.open(script_path, 'r') + + if file then file:close() dofile(script_path) return true else return false end +end + +if not CoreFunctionsLoaded() then + reaper.MB('Core functions is missing. Please install "ek_Core functions" it via ReaPack (Action: Browse packages)', '', 0) + return +end + +reaper.Undo_BeginBlock() + +local function getPrevPitchMode(ind) + local pitchModes = EK_GetPitchModes() + + for i = 1, #pitchModes do + if pitchModes[i].is_submode == true and pitchModes[i].id == ind then + local j = i + + while pitchModes[j] ~= nil do + j = j - 1 + + if pitchModes[j] ~= nil and pitchModes[j].is_submode == true then + return pitchModes[j] + end + end + + return pitchModes[i] + end + end + + return pitchModes[0] +end + +local item = reaper.GetSelectedMediaItem(proj, 0) +if item ~= nil then + local takeInd = reaper.GetMediaItemInfo_Value(item, "I_CURTAKE") + local itemTake = reaper.GetMediaItemTake(item, takeInd) + local mode = reaper.GetMediaItemTakeInfo_Value(itemTake, "I_PITCHMODE") + + if mode == defProjPitchMode then + mode = reaper.SNM_GetIntConfigVar("defpitchcfg", defProjPitchMode) + end + + local newMode = getPrevPitchMode(mode) + local base_mode = EK_GetPitchModeBySubMode(newMode.id) + + EK_SetPitchModeForSelectionItems(newMode.id) + EK_ShowTooltip(base_mode .. " (" .. newMode.title .. ")") +end + +reaper.Undo_EndBlock("Switch to prev pitch mode for selected items", -1) \ No newline at end of file diff --git a/Items Editing/ek_Toggle overlaping items vertically option.lua b/Items Editing/ek_Toggle overlaping items vertically option.lua new file mode 100644 index 0000000..6b74a4f --- /dev/null +++ b/Items Editing/ek_Toggle overlaping items vertically option.lua @@ -0,0 +1,42 @@ +-- @description ek_Toggle overlaping items vertically option +-- @version 1.0.0 +-- @author Ed Kashinsky +-- @about +-- This script toggles option of editing multiple items on one track at the same time + +function CoreFunctionsLoaded(script) + local sep = (reaper.GetOS() == "Win64" or reaper.GetOS() == "Win32") and "\\" or "/" + local root_path = debug.getinfo(1, 'S').source:sub(2, -5):match("(.*" .. sep .. ")") + local script_path = root_path .. ".." .. sep .. "Core" .. sep .. script + local file = io.open(script_path, 'r') + + if file then file:close() dofile(script_path) return true else return false end +end + +if not CoreFunctionsLoaded("ek_Core functions.lua") then + reaper.MB('Core functions is missing. Please install "ek_Core functions" it via ReaPack (Action: Browse packages)', '', 0) + return +end + +if not CoreFunctionsLoaded("ek_Core functions startup.lua") then + reaper.MB('Global startup action is missing. Please install "ek_Global startup action" it via ReaPack (Action: Browse packages)', '', 0) + return +end + +local commandId = 40507 -- Options: Offset overlapping media items vertically + +reaper.Main_OnCommand(commandId, 0) + +local state = reaper.GetToggleCommandState(commandId) +local s_new_value, filename, sectionID, cmdID = reaper.get_action_context() + +if state == 1 then + reaper.Main_OnCommand(reaper.NamedCommandLookup(41121), 0) -- Options: Disable trim content behind media items when editing + reaper.Main_OnCommand(reaper.NamedCommandLookup("_SWS_XFDOFF"), 0) -- SWS: Set auto crossfade off +else + reaper.Main_OnCommand(reaper.NamedCommandLookup(41120), 0) -- Options: Enable trim content behind media items when editing + reaper.Main_OnCommand(reaper.NamedCommandLookup("_SWS_XFDON"), 0) -- SWS: Set auto crossfade on +end + +reaper.SetToggleCommandState(sectionID, cmdID, state) +GA_SetButtonForHighlight(ga_highlight_buttons.overlaping_items_vertically, sectionID, cmdID) diff --git a/Items Editing/ek_Toggle preserve pitch for selected items.lua b/Items Editing/ek_Toggle preserve pitch for selected items.lua new file mode 100644 index 0000000..f09f9cd --- /dev/null +++ b/Items Editing/ek_Toggle preserve pitch for selected items.lua @@ -0,0 +1,63 @@ +-- @description ek_Toggle preserve pitch for selected items +-- @version 1.0.0 +-- @author Ed Kashinsky +-- @about +-- ![Preview](/Assets/images/prevent_pitch_preview.gif) +-- +-- This script just toggle "Preserve Pitch" for selected items but it saves state for button. For example, if you select item and it has preserve option, button starts highlight. +-- +-- For installation just add this script on toolbar and set "ek_Global Startup Functions" as global startup action via SWS. +-- @changelog +-- - Added core functions + +function CoreFunctionsLoaded(script) + local sep = (reaper.GetOS() == "Win64" or reaper.GetOS() == "Win32") and "\\" or "/" + local root_path = debug.getinfo(1, 'S').source:sub(2, -5):match("(.*" .. sep .. ")") + local script_path = root_path .. ".." .. sep .. "Core" .. sep .. script + local file = io.open(script_path, 'r') + + if file then file:close() dofile(script_path) return true else return false end +end + +if not CoreFunctionsLoaded("ek_Core functions.lua") then + reaper.MB('Core functions is missing. Please install "ek_Core functions" it via ReaPack (Action: Browse packages)', '', 0) + return +end + +if not CoreFunctionsLoaded("ek_Core functions startup.lua") then + reaper.MB('Global startup action is missing. Please install "ek_Global startup action" it via ReaPack (Action: Browse packages)', '', 0) + return +end + +if not EK_IsGlobalActionEnabled() then + reaper.MB('Please add "ek_Global startup action" as Global startup action (Extenstions -> Startup Actions -> Set global startup action) for realtime highlighting of this button', '', 0) +end + +reaper.Undo_BeginBlock() + +local s_new_value, filename, sectionID, cmdID = reaper.get_action_context() + +function togglePreservePitch() + local countSelectedItems = reaper.CountSelectedMediaItems(proj) + + if countSelectedItems > 0 then + local state = reaper.GetToggleCommandStateEx(sectionID, cmdID); + + for i = 0, countSelectedItems - 1 do + local item = reaper.GetSelectedMediaItem(proj, i) + local takeInd = reaper.GetMediaItemInfo_Value(item, "I_CURTAKE") + + local itemTake = reaper.GetMediaItemTake(item, takeInd) + local newValue = state == 1 and 0 or 1 + + reaper.SetMediaItemTakeInfo_Value(itemTake, "B_PPITCH", newValue) + reaper.SetToggleCommandState(sectionID, cmdID, newValue) + reaper.RefreshToolbar2(sectionID, cmdID) + end + end +end + +togglePreservePitch() +GA_SetButtonForHighlight(ga_highlight_buttons.preserve_pitch, sectionID, cmdID) + +reaper.Undo_EndBlock("Toggle preserve pitch for selected items", -1) \ No newline at end of file diff --git a/Items Editing/ek_Trim silence at the edges of selected items (no prompt).lua b/Items Editing/ek_Trim silence at the edges of selected items (no prompt).lua new file mode 100644 index 0000000..3ecb5b3 --- /dev/null +++ b/Items Editing/ek_Trim silence at the edges of selected items (no prompt).lua @@ -0,0 +1,69 @@ +-- @description ek_Trim silence at the edges of selected items (no prompt) +-- @version 1.0.0 +-- @author Ed Kashinsky +-- @about +-- ![Preview](/Assets/images/trim_silence_edges_preview.gif) +-- +-- It removes silence at the start at the end of item without prompt. Using together with "ek_Trim silence at the edges of selected items" + +function CoreFunctionsLoaded(script) + local sep = (reaper.GetOS() == "Win64" or reaper.GetOS() == "Win32") and "\\" or "/" + local root_path = debug.getinfo(1, 'S').source:sub(2, -5):match("(.*" .. sep .. ")") + local script_path = root_path .. ".." .. sep .. "Core" .. sep .. script + local file = io.open(script_path, 'r') + + if file then file:close() dofile(script_path) return true else return false end +end + +if not CoreFunctionsLoaded("ek_Core functions.lua") then + reaper.MB('Core functions is missing. Please install "ek_Core functions" it via ReaPack (Action: Browse packages)', '', 0) + return +end + +CoreFunctionsLoaded("ek_Triming silence edges functions.lua") + +reaper.Undo_BeginBlock() + +local countSelectedItems = reaper.CountSelectedMediaItems(proj) + +if countSelectedItems > 0 then + local leadingThreshold = getTsParamValue(tsParams.leading.threshold) + local leadingPad = getTsParamValue(tsParams.leading.pad) + local leadingFade = getTsParamValue(tsParams.leading.fade) + local trailingThreshold = getTsParamValue(tsParams.trailing.threshold) + local trailingPad = getTsParamValue(tsParams.trailing.pad) + local trailingFade = getTsParamValue(tsParams.trailing.fade) + + Debug("== Leading edge ==\n") + Debug("Threshold: " .. leadingThreshold .. "db\n") + Debug("Pad: " .. leadingPad .. "s\n") + Debug("Fade: " .. leadingFade .. "s\n") + Debug("== Trailing edge ==\n") + Debug("Threshold: " .. trailingThreshold .. "db\n") + Debug("Pad: " .. trailingPad .. "s\n") + Debug("Fade: " .. trailingFade .. "s\n") + + for i = 0, countSelectedItems - 1 do + local item = reaper.GetSelectedMediaItem(proj, i) + + local take = reaper.GetActiveTake(item) + + if take ~= nil then + local startTime = getStartPositionLouderThenThreshold(take, leadingThreshold) + + if startTime > 0 then + trimLeadingPosition(take, startTime) + end + + local endTime = getEndPositionLouderThenThreshold(take, trailingThreshold) + + if endTime > 0 then + trimTrailingPosition(take, endTime) + end + end + end + + reaper.UpdateArrange() +end + +reaper.Undo_EndBlock("Trim silence at the edges of selected items (no prompt)", -1) \ No newline at end of file diff --git a/Items Editing/ek_Trim silence at the edges of selected items.lua b/Items Editing/ek_Trim silence at the edges of selected items.lua new file mode 100644 index 0000000..8d50383 --- /dev/null +++ b/Items Editing/ek_Trim silence at the edges of selected items.lua @@ -0,0 +1,201 @@ +-- @description ek_Trim silence edges for selected items +-- @version 1.0.0 +-- @author Ed Kashinsky +-- @about +-- This script helps to remove silence at the start and at the end of selected items by individual thresholds, pads and fades. +-- +-- Also it provides UI for configuration +-- @provides +-- ../Core/ek_Triming silence edges functions.lua + +function CoreFunctionsLoaded(script) + local sep = (reaper.GetOS() == "Win64" or reaper.GetOS() == "Win32") and "\\" or "/" + local root_path = debug.getinfo(1, 'S').source:sub(2, -5):match("(.*" .. sep .. ")") + local script_path = root_path .. ".." .. sep .. "Core" .. sep .. script + local file = io.open(script_path, 'r') + + if file then file:close() dofile(script_path) return true else return false end +end + +if not CoreFunctionsLoaded("ek_Core functions.lua") then + reaper.MB('Core functions is missing. Please install "ek_Core functions" it via ReaPack (Action: Browse packages)', '', 0) + return +end + +CoreFunctionsLoaded("ek_Triming silence edges functions.lua") + +local countSelectedItems = reaper.CountSelectedMediaItems(proj) +local original_values = {} +local save_changes = false + +function frame() + local r, curVal, newVal + + -- + -- Leading part + -- + GUI_DrawText('Leading edge:', gui_fonts.Bold) + curVal = getTsParamValue(tsParams.leading.threshold) + r, newVal = reaper.ImGui_SliderDouble(GUI_GetCtx(), 'Threshold In', curVal, -70, 0, '%.1fdb', slider_flags) + if curVal ~= newVal then + preview_result() + setTsParamValue(tsParams.leading.threshold, newVal) + end + + curVal = getTsParamValue(tsParams.leading.pad) + r, newVal = reaper.ImGui_DragDouble(GUI_GetCtx(), 'Pad In', curVal, 0.01, 0, nil, '%.2fs') + if curVal ~= newVal then + preview_result() + setTsParamValue(tsParams.leading.pad, newVal) + end + + curVal = getTsParamValue(tsParams.leading.fade) + r, newVal = reaper.ImGui_DragDouble(GUI_GetCtx(), 'Fade In', curVal, 0.01, 0, nil, '%.2fs') + if curVal ~= newVal then + preview_result() + setTsParamValue(tsParams.leading.fade, newVal) + end + + -- + -- Trailing part + -- + GUI_DrawGap() + GUI_DrawText('Trailing edge:', gui_fonts.Bold) + + curVal = getTsParamValue(tsParams.trailing.threshold) + r, newVal = reaper.ImGui_SliderDouble(GUI_GetCtx(), 'Threshold Out', curVal, -70, 0, '%.1fdb', slider_flags) + if curVal ~= newVal then + preview_result() + setTsParamValue(tsParams.trailing.threshold, newVal) + end + + curVal = getTsParamValue(tsParams.trailing.pad) + r, newVal = reaper.ImGui_DragDouble(GUI_GetCtx(), 'Pad Out', curVal, 0.01, 0, nil, '%.2fs') + if curVal ~= newVal then + preview_result() + setTsParamValue(tsParams.trailing.pad, newVal) + end + + curVal = getTsParamValue(tsParams.trailing.fade) + r, newVal = reaper.ImGui_DragDouble(GUI_GetCtx(), 'Fade Out', curVal, 0.01, 0, nil, '%.2fs') + if curVal ~= newVal then + preview_result() + setTsParamValue(tsParams.trailing.fade, newVal) + end + + curVal = getTsParamValue(tsParams.preview_result) + r, newVal = reaper.ImGui_Checkbox(GUI_GetCtx(), 'Preview Result', curVal == 1) + newVal = newVal and 1 or 0 + + if curVal ~= newVal then + setTsParamValue(tsParams.preview_result, newVal) + + if newVal == 1 then + preview_result() + else + reset_preview() + end + end + + GUI_DrawGap() + reaper.ImGui_Indent(GUI_GetCtx(), 60) + + GUI_DrawButton('Trim silence', function() + save_changes = true + end) + + reaper.ImGui_SameLine(GUI_GetCtx()) + + GUI_DrawButton('Cancel', nil, gui_buttons_types.Cancel) +end + +function preview_result() + if getTsParamValue(tsParams.preview_result) ~= 1 then return end + + -- reaper.ShowConsoleMsg("show preview\n") +end + +function reset_preview() + -- reaper.ShowConsoleMsg("reset preview\n") +end + +function detect_original_values() + for i = 0, countSelectedItems - 1 do + local item = reaper.GetSelectedMediaItem(proj, i) + local take = reaper.GetActiveTake(item) + + if take ~= nil then + table.insert(original_values, { + reaper.GetMediaItemInfo_Value(item, "D_POSITION"), + reaper.GetMediaItemInfo_Value(item, "D_LENGTH"), + reaper.GetMediaItemTakeInfo_Value(take, "D_STARTOFFS"), + reaper.GetMediaItemInfo_Value(item, "D_FADEINLEN"), + reaper.GetMediaItemInfo_Value(item, "D_FADEOUTLEN") + }) + end + end +end + +function trimSilenceResult() + reaper.Undo_BeginBlock() + + local leadingThreshold = getTsParamValue(tsParams.leading.threshold) + local leadingPad = getTsParamValue(tsParams.leading.pad) + local leadingFade = getTsParamValue(tsParams.leading.fade) + local trailingThreshold = getTsParamValue(tsParams.trailing.threshold) + local trailingPad = getTsParamValue(tsParams.trailing.pad) + local trailingFade = getTsParamValue(tsParams.trailing.fade) + + Debug("== Leading edge ==\n") + Debug("Threshold: " .. leadingThreshold .. "db\n") + Debug("Pad: " .. leadingPad .. "s\n") + Debug("Fade: " .. leadingFade .. "s\n") + Debug("== Trailing edge ==\n") + Debug("Threshold: " .. trailingThreshold .. "db\n") + Debug("Pad: " .. trailingPad .. "s\n") + Debug("Fade: " .. trailingFade .. "s\n") + + for i = 0, countSelectedItems - 1 do + local item = reaper.GetSelectedMediaItem(proj, i) + + local take = reaper.GetActiveTake(item) + + if take ~= nil then + local startTime = getStartPositionLouderThenThreshold(take, leadingThreshold) + + if startTime > 0 then + trimLeadingPosition(take, startTime) + end + + local endTime = getEndPositionLouderThenThreshold(take, trailingThreshold) + if endTime > 0 then + trimTrailingPosition(take, endTime) + end + end + end + + reaper.UpdateArrange() + + reaper.Undo_EndBlock("Trim silence edges for selected items (no prompt)", -1) +end + +if countSelectedItems > 0 then + detect_original_values() + showMainWindow() + preview_result() +end + +function GUI_OnWindowClose() + if save_changes == false then + reset_preview() + end +end + +function toboolean(str) + local bool = false + if str == "1" then + bool = true + end + return bool +end + diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..70566f2 --- /dev/null +++ b/LICENSE @@ -0,0 +1,674 @@ +GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + {one line to give the program's name and a brief idea of what it does.} + Copyright (C) {year} {name of author} + + This program 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 + (at your option) any later version. + + This program 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 this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + {project} Copyright (C) {year} {fullname} + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. \ No newline at end of file diff --git a/Navigation/ek_Auto grid for MIDI Editor.lua b/Navigation/ek_Auto grid for MIDI Editor.lua new file mode 100644 index 0000000..d2df0f3 --- /dev/null +++ b/Navigation/ek_Auto grid for MIDI Editor.lua @@ -0,0 +1,136 @@ +-- @description ek_Auto grid for MIDI Editor +-- @version 1.0.0 +-- @author Ed Kashinsky +-- @about +-- It changes grid depending on zoom level in MIDI Editor. +-- For installation: +-- 1. Create custom action +-- 2. Add to it: +-- - View: Zoom horizontally (MIDI relative/mousewheel) +-- - This script (ek_Auto grid for MIDI Editor) +-- 3. Add to this custom script MultiZoom shortcut hotkey +-- 4. Have fun! +-- @changelog +-- - Small fixes +-- @provides [main=midi_editor] . + +local MidiEditor = reaper.MIDIEditor_GetActive() + +function GetHZoomLevelForMidiEditor() + if not MidiEditor then return end + + local midiview = reaper.JS_Window_FindChildByID( MidiEditor, 0x3E9 ) + local _, width = reaper.JS_Window_GetClientSize( midiview ) + local take = reaper.MIDIEditor_GetTake( MidiEditor ) + local guid = reaper.BR_GetMediaItemTakeGUID( take ) + local item = reaper.GetMediaItemTake_Item( take ) + local _, chunk = reaper.GetItemStateChunk( item, "", false ) + local guidfound, editviewfound = false, false + local leftmost_tick, hzoom, timebase + + local function setvalue(a) + a = tonumber(a) + if not leftmost_tick then leftmost_tick = a + elseif not hzoom then hzoom = a + else timebase = a + end + end + + for line in chunk:gmatch("[^\n]+") do + if line == "GUID " .. guid then + guidfound = true + end + + if (not editviewfound) and guidfound then + if line:find("CFGEDITVIEW ") then + --reaper.ShowConsoleMsg(line .. "\n") + line:gsub("([%-%d%.]+)", setvalue, 2) + editviewfound = true + end + end + + if editviewfound then + if line:find("CFGEDIT ") then + --reaper.ShowConsoleMsg(line .. "\n") + line:gsub("([%-%d%.]+)", setvalue, 19) + break + end + end + end + + local start_time, end_time, HZoom = reaper.MIDI_GetProjTimeFromPPQPos( take, leftmost_tick) + + if timebase == 0 or timebase == 4 then + end_time = reaper.MIDI_GetProjTimeFromPPQPos( take, leftmost_tick + (width-1)/hzoom) + else + end_time = start_time + (width-1)/hzoom + end + + return (width)/(end_time - start_time) +end + +local function updateGrid() + local zoom_level = math.floor(GetHZoomLevelForMidiEditor(MidiEditor)) + local order + + function getNoteDivision(ord) + if ord < 0 then + return 2 * math.abs(ord) + else + return 1 / (2 ^ ord) + end + end + + if zoom_level <= 1 then + order = -3 + elseif zoom_level < 3 then + order = -2 + elseif zoom_level < 5 then + order = -1 + elseif zoom_level < 15 then + order = 0 + elseif zoom_level < 25 then + order = 1 + elseif zoom_level < 55 then + order = 2 + elseif zoom_level < 110 then + order = 3 + elseif zoom_level < 220 then + order = 4 + elseif zoom_level < 450 then + order = 5 + elseif zoom_level < 850 then + order = 6 + elseif zoom_level < 1600 then + order = 7 + elseif zoom_level < 3500 then + order = 8 + elseif zoom_level < 6700 then + order = 9 + elseif zoom_level < 12000 then + order = 10 + elseif zoom_level < 30000 then + order = 11 + elseif zoom_level < 45200 then + order = 12 + elseif zoom_level < 55100 then + order = 13 + elseif zoom_level < 80000 then + order = 14 + elseif zoom_level < 110000 then + order = 15 + elseif zoom_level < 150000 then + order = 16 + else + order = 17 + end + + -- reaper.ShowConsoleMsg(zoom_level .. " " .. order .. " " .. getNoteDivision(order) .. "\n") + + -- reaper.SetProjectGrid(0, getNoteDivision(order)) + reaper.SetMIDIEditorGrid(0, getNoteDivision(order)) +end + +if MidiEditor then + updateGrid() +end \ No newline at end of file diff --git a/Navigation/ek_Move cursor or selected MIDI notes left by grid.lua b/Navigation/ek_Move cursor or selected MIDI notes left by grid.lua new file mode 100644 index 0000000..9b6133d --- /dev/null +++ b/Navigation/ek_Move cursor or selected MIDI notes left by grid.lua @@ -0,0 +1,50 @@ +-- @description ek_Move cursor or selected MIDI notes left by grid +-- @version 1.0.0 +-- @author Ed Kashinsky +-- @about +-- If any note is selected, this script moves it to left by grid size. And move cursor by grid in other case +-- @changelog +-- - Small fixes +-- @provides [main=midi_editor] . + +reaper.Undo_BeginBlock() + +local proj = 0 + +local function hasSelectedMidiNote() + local item = reaper.GetSelectedMediaItem(proj, 0) + + if item == nil then + return false + end + + local takeInd = reaper.GetMediaItemInfo_Value(item, "I_CURTAKE") + + local itemTake = reaper.GetMediaItemTake(item, takeInd) + + local retval, notes = reaper.MIDI_CountEvts(itemTake) + + if not retval then + return false + end + + for i = 0, notes - 1 do + local retval, sel = reaper.MIDI_GetNote(itemTake, i) + + if sel == true then + return true + end + end + + return false +end + +if hasSelectedMidiNote() then + -- Edit: Move notes left one grid unit + reaper.MIDIEditor_OnCommand(reaper.MIDIEditor_GetActive(), 40183) +else + -- Navigate: Move edit cursor left by grid + reaper.MIDIEditor_OnCommand(reaper.MIDIEditor_GetActive(), 40047) +end + +reaper.Undo_EndBlock("Move cursor or selected MIDI notes left by grid", -1) \ No newline at end of file diff --git a/Navigation/ek_Move cursor or selected MIDI notes right by grid.lua b/Navigation/ek_Move cursor or selected MIDI notes right by grid.lua new file mode 100644 index 0000000..ca48aa3 --- /dev/null +++ b/Navigation/ek_Move cursor or selected MIDI notes right by grid.lua @@ -0,0 +1,50 @@ +-- @description ek_Move cursor or selected MIDI notes right by grid +-- @version 1.0.0 +-- @author Ed Kashinsky +-- @about +-- If any note is selected, this script moves it to right by grid size. And move cursor by grid in other case +-- @changelog +-- - Small fixes +-- @provides [main=midi_editor] . + +reaper.Undo_BeginBlock() + +local proj = 0 + +local function hasSelectedMidiNote() + local item = reaper.GetSelectedMediaItem(proj, 0) + + if item == nil then + return false + end + + local takeInd = reaper.GetMediaItemInfo_Value(item, "I_CURTAKE") + + local itemTake = reaper.GetMediaItemTake(item, takeInd) + + local retval, notes = reaper.MIDI_CountEvts(itemTake) + + if not retval then + return false + end + + for i = 0, notes - 1 do + local retval, sel = reaper.MIDI_GetNote(itemTake, i) + + if sel == true then + return true + end + end + + return false +end + +if hasSelectedMidiNote() then + -- Edit: Move notes right one grid unit + reaper.MIDIEditor_OnCommand(reaper.MIDIEditor_GetActive(), 40184) +else + -- Navigate: Move edit cursor right by grid + reaper.MIDIEditor_OnCommand(reaper.MIDIEditor_GetActive(), 40048) +end + +reaper.Undo_EndBlock("Move cursor or selected MIDI notes right by grid", -1) \ No newline at end of file diff --git a/Navigation/ek_Move cursor or selected items left by grid.lua b/Navigation/ek_Move cursor or selected items left by grid.lua new file mode 100644 index 0000000..268b7f9 --- /dev/null +++ b/Navigation/ek_Move cursor or selected items left by grid.lua @@ -0,0 +1,21 @@ +-- @description ek_Move cursor or selected items left by grid +-- @version 1.0.0 +-- @author Ed Kashinsky +-- @about +-- If any item is selected, this script moves it to left by grid size. And moves cursor by grid in other case + +reaper.Undo_BeginBlock() + +local proj = 0 + +local countSelectedItems = reaper.CountSelectedMediaItems(proj) + +if countSelectedItems > 0 then + -- Item edit: Move items/envelope points left by grid size + reaper.Main_OnCommand(40793, 0) +else + -- View: Move cursor left to grid division + reaper.Main_OnCommand(40646, 0) +end + +reaper.Undo_EndBlock("Move cursor or selected items left by grid", -1) \ No newline at end of file diff --git a/Navigation/ek_Move cursor or selected items left by pixel.lua b/Navigation/ek_Move cursor or selected items left by pixel.lua new file mode 100644 index 0000000..8d1f375 --- /dev/null +++ b/Navigation/ek_Move cursor or selected items left by pixel.lua @@ -0,0 +1,21 @@ +-- @description ek_Move cursor or selected items left by pixel +-- @version 1.0.0 +-- @author Ed Kashinsky +-- @about +-- If any item is selected, this script moves to left it by pixel. And moves cursor by pixel in other case + +reaper.Undo_BeginBlock() + +local proj = 0 + +local countSelectedItems = reaper.CountSelectedMediaItems(proj) + +if countSelectedItems > 0 then + -- Item edit: Move items/envelope points left + reaper.Main_OnCommand(40120, 0) +else + -- View: Move cursor left one pixel + reaper.Main_OnCommand(40104, 0) +end + +reaper.Undo_EndBlock("Move cursor or selected items left by pixel", -1) \ No newline at end of file diff --git a/Navigation/ek_Move cursor or selected items right by grid.lua b/Navigation/ek_Move cursor or selected items right by grid.lua new file mode 100644 index 0000000..7422f3c --- /dev/null +++ b/Navigation/ek_Move cursor or selected items right by grid.lua @@ -0,0 +1,21 @@ +-- @description ek_Move cursor or selected items right by grid +-- @version 1.0.0 +-- @author Ed Kashinsky +-- @about +-- If any item is selected, this script moves it to right by grid size. And moves cursor by grid in other case + +reaper.Undo_BeginBlock() + +local proj = 0 + +local countSelectedItems = reaper.CountSelectedMediaItems(proj) + +if countSelectedItems > 0 then + -- Item edit: Move items/envelope points right by grid size + reaper.Main_OnCommand(40794, 0) +else + -- View: Move cursor right to grid division + reaper.Main_OnCommand(40647, 0) +end + +reaper.Undo_EndBlock("Move cursor or selected items right by grid", -1) \ No newline at end of file diff --git a/Navigation/ek_Move cursor or selected items right by pixel.lua b/Navigation/ek_Move cursor or selected items right by pixel.lua new file mode 100644 index 0000000..a955748 --- /dev/null +++ b/Navigation/ek_Move cursor or selected items right by pixel.lua @@ -0,0 +1,21 @@ +-- @description ek_Move cursor or selected items right by pixel +-- @version 1.0.0 +-- @author Ed Kashinsky +-- @about +-- If any item is selected, this script moves it to right by pixel. And moves cursor by pixel in other case + +reaper.Undo_BeginBlock() + +local proj = 0 + +local countSelectedItems = reaper.CountSelectedMediaItems(proj) + +if countSelectedItems > 0 then + -- Item edit: Move items/envelope points right + reaper.Main_OnCommand(40119, 0) +else + -- View: Move cursor right one pixel + reaper.Main_OnCommand(40105, 0) +end + +reaper.Undo_EndBlock("Move cursor or selected items right by pixel", -1) \ No newline at end of file diff --git a/Navigation/ek_Select next non-tiny track.lua b/Navigation/ek_Select next non-tiny track.lua new file mode 100644 index 0000000..69c2a93 --- /dev/null +++ b/Navigation/ek_Select next non-tiny track.lua @@ -0,0 +1,180 @@ +-- @description ek_Select next non-tiny track +-- @version 1.0.0 +-- @author Ed Kashinsky +-- @about +-- This script helps to navigate by tracks and shown envelopes by hotkeys. +-- +-- I usually attach this script to down arrow and it goes down throw project and select next track/envelope lane if it visible +-- @changelog +-- - Small fixes + +local proj = 0 +local tinyChildrenState = 2 + +-- MASTER is a track also +local countSelectedTracks = reaper.CountSelectedTracks2(proj, true) +local lastSelectedTrack = reaper.GetSelectedTrack2(proj, countSelectedTracks - 1, true) + +-- IF take is selected, navigated by it +local showAllTakesOption = reaper.SNM_GetIntConfigVar("projtakelane", 0) & 1 == 1 -- Show all takes in lane (when room) +local firstSelectedItem = reaper.GetSelectedMediaItem(proj, 0) +local numTakesFirstSelectedItems = 0 +if firstSelectedItem ~= nil then + numTakesFirstSelectedItems = reaper.CountTakes(firstSelectedItem) +end + +local function isAnyParentTiny(track) + local parentTrack = track + + -- local retval, buf = reaper.GetTrackName(track) + -- reaper.ShowConsoleMsg("Looking parent for: " .. buf .. "\n") + + while parentTrack ~= nil do + parentTrack = reaper.GetParentTrack(parentTrack) + + if parentTrack ~= nil then + local isFolder = reaper.GetMediaTrackInfo_Value(parentTrack, "I_FOLDERCOMPACT") + + -- local retval, buf = reaper.GetTrackName(parentTrack) + -- reaper.ShowConsoleMsg("\t" .. buf .. ": " .. isFolder .. "\n") + + if isFolder == tinyChildrenState then + -- reaper.ShowConsoleMsg("TRUE\n") + return true + end + end + end + + return false +end + +local function GetNextTrack() + local countTracks = reaper.CountTracks(proj) + local sIndex + + for i = 0, countTracks - 1 do + local track = reaper.GetTrack(proj, i) + + if track == lastSelectedTrack then + sIndex = i + break + end + end + + if sIndex ~= nil and countTracks - 1 >= sIndex + 1 then + for i = sIndex + 1, countTracks - 1 do + local track = reaper.GetTrack(proj, i) + + if isAnyParentTiny(track) == false then + return track + end + end + end + + return reaper.GetTrack(proj, sIndex or 0) +end + +-- Automation lane +local function isEnvelopeVisible(env) + return env ~= nil and reaper.GetEnvelopeInfo_Value(env, "I_TCPH_USED") > 0 +end + +local function getFirstVisibleEnvelope(track, startedFrom) + local countEnvs = reaper.CountTrackEnvelopes(track) + + if countEnvs == 0 then + return nil + end + + for i = startedFrom, countEnvs do + local env = reaper.GetTrackEnvelope(track, i) + + if isEnvelopeVisible(env) then + return env + end + end + + return nil +end + +local function getEnvelopeIdx(env) + local track = reaper.GetEnvelopeInfo_Value(env, "P_TRACK") + local countEnvs = reaper.CountTrackEnvelopes(track) + + if countEnvs == 0 then + return -1 + end + + for i = 0, countEnvs do + local e = reaper.GetTrackEnvelope(track, i) + + if e == env then + return i + end + end + + return -1 +end + +local nextEnvelope +local firstSelectedEnvelope = reaper.GetSelectedEnvelope(proj) + +if firstSelectedEnvelope == nil and lastSelectedTrack ~= nil then + firstSelectedEnvelope = getFirstVisibleEnvelope(lastSelectedTrack, 0) + + nextEnvelope = firstSelectedEnvelope +elseif isEnvelopeVisible(firstSelectedEnvelope) then + local idx = getEnvelopeIdx(firstSelectedEnvelope) + 1 + local track = reaper.GetEnvelopeInfo_Value(firstSelectedEnvelope, "P_TRACK") + + nextEnvelope = getFirstVisibleEnvelope(track, idx) + + if nextEnvelope == nil then + if reaper.GetMediaTrackInfo_Value(track, "IP_TRACKNUMBER") == reaper.CountTracks(proj) then + nextEnvelope = firstSelectedEnvelope + else + lastSelectedTrack = track + countSelectedTracks = 1 + end + end +end + +--- + +if showAllTakesOption and numTakesFirstSelectedItems > 1 then + reaper.Main_OnCommand(40125, 0) -- Take: Switch items to next take +else + reaper.Main_OnCommand(40297, 0) -- Track: Unselect (clear selection of) all tracks + reaper.Main_OnCommand(reaper.NamedCommandLookup("_SWS_UNSELMASTER"), 0) -- SWS: Unselect master track + reaper.Main_OnCommand(reaper.NamedCommandLookup("_BR_UNSEL_ENV"), 0) -- SWS/BR: Unselect envelope + + if countSelectedTracks > 1 then + reaper.SetTrackSelected(lastSelectedTrack, true) + elseif isEnvelopeVisible(nextEnvelope) then + reaper.SetCursorContext(2, nextEnvelope) + else + -- switch to next track + local track = GetNextTrack() + + -- local retval, buf = reaper.GetTrackName(track) + -- local num = reaper.GetMediaTrackInfo_Value(track, "IP_TRACKNUMBER") + -- reaper.ShowConsoleMsg("Next track is: " .. buf .. " (" .. num .. ")\n") + + if track ~= nil then + reaper.SetTrackSelected(track, true) + + -- need for update move cursor focus + local num = reaper.GetMediaTrackInfo_Value(track, "IP_TRACKNUMBER") + + if num <= 1 then + reaper.Main_OnCommand(reaper.NamedCommandLookup("_XENAKIOS_SELNEXTTRACK"), 0) -- Xenakios/SWS: Select next tracks + reaper.Main_OnCommand(reaper.NamedCommandLookup("_XENAKIOS_SELPREVTRACK"), 0) -- Xenakios/SWS: Select previous tracks + else + reaper.Main_OnCommand(reaper.NamedCommandLookup("_XENAKIOS_SELPREVTRACK"), 0) -- Xenakios/SWS: Select previous tracks + reaper.Main_OnCommand(reaper.NamedCommandLookup("_XENAKIOS_SELNEXTTRACK"), 0) -- Xenakios/SWS: Select next tracks + end + end + end + + reaper.Main_OnCommand(reaper.NamedCommandLookup(40913), 0) -- Track: Vertical scroll selected tracks into view +end \ No newline at end of file diff --git a/Navigation/ek_Select prev non-tiny track.lua b/Navigation/ek_Select prev non-tiny track.lua new file mode 100644 index 0000000..d3905d1 --- /dev/null +++ b/Navigation/ek_Select prev non-tiny track.lua @@ -0,0 +1,177 @@ +-- @description ek_Select prev non-tiny track +-- @version 1.0.0 +-- @author Ed Kashinsky +-- @about +-- This script helps to navigate by tracks and shown envelopes by hotkeys. +-- +-- I usually attach this script to up arrow and it goes up throw project and select previous track/envelope lane if it visible +-- @changelog +-- - Small fixes + +local proj = 0 +local tinyChildrenState = 2 + +-- MASTER is a track also +local countSelectedTracks = reaper.CountSelectedTracks2(proj, true) +local firstSelectedTrack = reaper.GetSelectedTrack2(proj, 0, true) + +-- IF take is selected, navigated by it +local showAllTakesOption = reaper.SNM_GetIntConfigVar("projtakelane", 0) & 1 == 1 -- Show all takes in lane (when room) +local firstSelectedItem = reaper.GetSelectedMediaItem(proj, 0) +local numTakesFirstSelectedItems = 0 +if firstSelectedItem ~= nil then + numTakesFirstSelectedItems = reaper.CountTakes(firstSelectedItem) +end + +local function isAnyParentTiny(track) + local parentTrack = track + + while parentTrack ~= nil do + parentTrack = reaper.GetParentTrack(parentTrack) + + if parentTrack ~= nil then + local isFolder = reaper.GetMediaTrackInfo_Value(parentTrack, "I_FOLDERCOMPACT") + + if isFolder == tinyChildrenState then + return true + end + end + end + + return false +end + +local function GetPrevTrack() + local countTracks = reaper.CountTracks(proj) + local sIndex + + for i = 0, countTracks - 1 do + local track = reaper.GetTrack(proj, i) + + if track == firstSelectedTrack then + sIndex = i + break + end + end + + if (sIndex == nil or sIndex == 0) then + return reaper.GetMasterTrack(proj) + end + + if sIndex - 1 >= 0 then + for i = sIndex - 1, 0, -1 do + local track = reaper.GetTrack(proj, i) + + if isAnyParentTiny(track) == false then + return track + end + end + end + + return reaper.GetTrack(proj, sIndex or countTracks - 1) +end + +-- Automation lane +local function isEnvelopeVisible(env) + return env ~= nil and reaper.GetEnvelopeInfo_Value(env, "I_TCPH_USED") > 0 +end + +local function getFirstVisibleEnvelopeReverse(track, startedFrom) + local countEnvs = reaper.CountTrackEnvelopes(track) + + if countEnvs == 0 or countEnvs - startedFrom < 0 then + return nil + end + + for i = startedFrom, 0, -1 do + local env = reaper.GetTrackEnvelope(track, i) + + if isEnvelopeVisible(env) then + return env + end + end + + return nil +end + +local function getEnvelopeIdx(env) + local track = reaper.GetEnvelopeInfo_Value(env, "P_TRACK") + local countEnvs = reaper.CountTrackEnvelopes(track) + + if countEnvs == 0 then + return -1 + end + + for i = 0, countEnvs do + local e = reaper.GetTrackEnvelope(track, i) + + if e == env then + return i + end + end + + return -1 +end + +local prevEnvelope +local selectedEnvelope = reaper.GetSelectedEnvelope(proj) +local useFirstSelectedTrack = false + +if selectedEnvelope == nil and firstSelectedTrack ~= nil and reaper.GetMediaTrackInfo_Value(firstSelectedTrack, "IP_TRACKNUMBER") ~= -1 then + local track = GetPrevTrack() + + prevEnvelope = getFirstVisibleEnvelopeReverse(track, reaper.CountTrackEnvelopes(track)) +elseif isEnvelopeVisible(selectedEnvelope) then + local idx = getEnvelopeIdx(selectedEnvelope) - 1 + local track = reaper.GetEnvelopeInfo_Value(selectedEnvelope, "P_TRACK") + + prevEnvelope = getFirstVisibleEnvelopeReverse(track, idx) + + if prevEnvelope == nil then + firstSelectedTrack = track + countSelectedTracks = 1 + useFirstSelectedTrack = true + end +end + +--- + +if showAllTakesOption and numTakesFirstSelectedItems > 1 then + reaper.Main_OnCommand(40126, 0) -- Take: Switch items to previous take +else + reaper.Main_OnCommand(40297, 0) -- Track: Unselect (clear selection of) all tracks + reaper.Main_OnCommand(reaper.NamedCommandLookup("_SWS_UNSELMASTER"), 0) -- SWS: Unselect master track + reaper.Main_OnCommand(reaper.NamedCommandLookup("_BR_UNSEL_ENV"), 0) -- SWS/BR: Unselect envelope + + if countSelectedTracks > 1 then + reaper.SetTrackSelected(firstSelectedTrack, true) + elseif isEnvelopeVisible(prevEnvelope) then + reaper.SetCursorContext(2, prevEnvelope) + else + local track + + if useFirstSelectedTrack == true then + track = firstSelectedTrack + else + track = GetPrevTrack() + end + + if track ~= nil then + reaper.SetTrackSelected(track, true) + + -- need for update move cursor focus + local num = reaper.GetMediaTrackInfo_Value(track, "IP_TRACKNUMBER") + + if num <= 1 then + reaper.Main_OnCommand(reaper.NamedCommandLookup("_XENAKIOS_SELNEXTTRACK"), 0) -- Xenakios/SWS: Select next tracks + reaper.Main_OnCommand(reaper.NamedCommandLookup("_XENAKIOS_SELPREVTRACK"), 0) -- Xenakios/SWS: Select previous tracks + else + reaper.Main_OnCommand(reaper.NamedCommandLookup("_XENAKIOS_SELPREVTRACK"), 0) -- Xenakios/SWS: Select previous tracks + reaper.Main_OnCommand(reaper.NamedCommandLookup("_XENAKIOS_SELNEXTTRACK"), 0) -- Xenakios/SWS: Select next tracks + end + end + end + + reaper.Main_OnCommand(reaper.NamedCommandLookup(40913), 0) -- Track: Vertical scroll selected tracks into view +end + diff --git a/Navigation/ek_Smart horizontal zoom in.lua b/Navigation/ek_Smart horizontal zoom in.lua new file mode 100644 index 0000000..8565c87 --- /dev/null +++ b/Navigation/ek_Smart horizontal zoom in.lua @@ -0,0 +1,31 @@ +-- @description ek_Smart horizontal zoom in +-- @version 1.0.0 +-- @author Ed Kashinsky +-- @about +-- This script helps live with Project Limit option is on. It makes zoom available to places behind limits + +reaper.Undo_BeginBlock() + +-- +-- 1. Set zoom mode "Center of view" +-- +local center_view_option = 2 +local zoommode = reaper.SNM_GetIntConfigVar("zoommode", 3) -- The horizontal zoom center +local project_length = reaper.SNM_GetIntConfigVar("projmaxlenuse", 1) -- Limit projectlength, stop playback/recording at: +reaper.SNM_SetIntConfigVar("zoommode", center_view_option) +reaper.SNM_SetIntConfigVar("projmaxlenuse", 0) + + +-- +-- 2. Zoom in action +-- +reaper.Main_OnCommand(reaper.NamedCommandLookup(1012), 0) -- View: Zoom in horizontal + + +-- +-- 3. Return default zoom mode +-- +reaper.SNM_SetIntConfigVar("zoommode", zoommode) +reaper.SNM_SetIntConfigVar("projmaxlenuse", project_length) + +reaper.Undo_EndBlock("Smart horizontal zoom in", -1) \ No newline at end of file diff --git a/Navigation/ek_Smart horizontal zoom out.lua b/Navigation/ek_Smart horizontal zoom out.lua new file mode 100644 index 0000000..fab0f82 --- /dev/null +++ b/Navigation/ek_Smart horizontal zoom out.lua @@ -0,0 +1,30 @@ +-- @description ek_Smart horizontal zoom out +-- @version 1.0.0 +-- @author Ed Kashinsky +-- @about +-- This script helps live with Project Limit option is on. It makes zoom available to places behind limits + +reaper.Undo_BeginBlock() + +-- +-- 1. Set zoom mode "Center of view" +-- +local center_view_option = 2 +local zoommode = reaper.SNM_GetIntConfigVar("zoommode", 3) -- The horizontal zoom center +local project_length = reaper.SNM_GetIntConfigVar("projmaxlenuse", 1) -- Limit projectlength, stop playback/recording at: +reaper.SNM_SetIntConfigVar("zoommode", center_view_option) +-- reaper.SNM_SetIntConfigVar("projmaxlenuse", 0) + + +-- +-- 2. Zoom in action +-- +reaper.Main_OnCommand(reaper.NamedCommandLookup(1011), 0) -- View: Zoom in horizontal + +-- +-- 3. Return default zoom mode +-- +reaper.SNM_SetIntConfigVar("zoommode", zoommode) +-- reaper.SNM_SetIntConfigVar("projmaxlenuse", project_length) + +reaper.Undo_EndBlock("Smart horizontal zoom in", -1) \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..660bf7a --- /dev/null +++ b/README.md @@ -0,0 +1,293 @@ +# 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: + + + +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" + + +## List of scripts + +#### ek_Increase pitch or rate for selected items + +This script increases pitch or rate of selected items depending on "Preserve Pitch" option. + +If option is on, script increases pitch and change rate in other case. Also when rate is changing, length is changing too (like in Ableton) + +This script normally adds 1 semitone, but if you hold ctrl/cmd it adds 0.1 semitone + +#### ek_Trim silence at the edges of selected items (no prompt) + +![Preview](/Assets/images/trim_silence_edges_preview.gif) + +It removes silence at the start at the end of item without prompt. Using together with "ek_Trim silence at the edges of selected items" + +#### ek_Toggle preserve pitch for selected items + +![Preview](/Assets/images/prevent_pitch_preview.gif) + +This script just toggle "Preserve Pitch" for selected items but it saves state for button. For example, if you select item and it has preserve option, button starts highlight. + +For installation just add this script on toolbar and set "ek_Global Startup Functions" as global startup action via SWS. + +#### ek_Switch to prev pitch mode for selected items + +This script helps to switch between pitch modes quicker just in one click. + +Work with script ek_Switch to next pitch mode for selected items.lua + +#### ek_Add 1 sec gap between selected items + +Script just adds 1 second gap between selected items without any GUI + +#### ek_Pin selected items at markers started from + +![Preview](/Assets/images/pin_items_to_markers_preview.gif) +This script pins selected items to markers started from specified number. It requires [Lokasenna_GUI](https://github.com/jalovatt/Lokasenna_GUI) + +#### ek_Decrease pitch or rate for selected items + +This script decreases pitch or rate of selected items depending on "Preserve Pitch" option. + +If option is on, script decreases pitch and change rate in other case. Also when rate is changing, length is changing too (like in Ableton) + +This script normally subtracts 1 semitone, but if you hold ctrl/cmd it subtracts 0.1 semitone + +Works with 'ek_Increase pitch or rate for selected items' + +#### ek_Switch to next pitch mode for selected items + +This script helps to switch between pitch modes quicker just in one click. + +Work with script ek_Switch to prev pitch mode for selected items.lua + +#### ek_Clear pitch or rate for selected items + +This script resets any pitch, rate and length info for selected items and makes as default + +#### ek_Toggle overlaping items vertically option + +This script toggles option of editing multiple items on one track at the same time + +#### ek_Create crossfade on edges of items + +This script creates crossfade on edges of tracks. It useful when you don't use overlap on crossfades for better precise but anyway want to create crossfades + +Installation for better experience: +1. Open **Preferences** -> **Editing Behavior** -> **Mouse Modifiers** +2. In **Context** field choose **Media item edge** and **double click** in right one +3. Choose this script in field **Default action** +4. Done! It means that when you double click on edge between media items, you create crossfade between them + +#### ek_Trim silence edges for selected items + +This script helps to remove silence at the start and at the end of selected items by individual thresholds, pads and fades. + +Also it provides UI for configuration + +#### ek_Change pitch mode for selected items + +![Preview](/Assets/images/change_pitch_mode_preview.gif) + +This script shows nested menu of all pitch modes for selected items right on the toolbar without "Item properties" window + +#### ek_Move cursor or selected MIDI notes left by grid + +If any note is selected, this script moves it to left by grid size. And move cursor by grid in other case + +#### ek_Smart horizontal zoom in + +This script helps live with Project Limit option is on. It makes zoom available to places behind limits + +#### ek_Select next non-tiny track + +This script helps to navigate by tracks and shown envelopes by hotkeys. + +I usually attach this script to down arrow and it goes down throw project and select next track/envelope lane if it visible + +#### ek_Smart horizontal zoom out + +This script helps live with Project Limit option is on. It makes zoom available to places behind limits + +#### ek_Move cursor or selected items right by pixel + +If any item is selected, this script moves it to right by pixel. And moves cursor by pixel in other case + +#### ek_Move cursor or selected items left by pixel + +If any item is selected, this script moves to left it by pixel. And moves cursor by pixel in other case + +#### ek_Move cursor or selected items right by grid + +If any item is selected, this script moves it to right by grid size. And moves cursor by grid in other case + +#### ek_Move cursor or selected MIDI notes right by grid + +If any note is selected, this script moves it to right by grid size. And move cursor by grid in other case + +#### ek_Select prev non-tiny track + +This script helps to navigate by tracks and shown envelopes by hotkeys. + +I usually attach this script to up arrow and it goes up throw project and select previous track/envelope lane if it visible + +#### ek_Auto grid for MIDI Editor + +It changes grid depending on zoom level in MIDI Editor. +For installation: +1. Create custom action +2. Add to it: +- View: Zoom horizontally (MIDI relative/mousewheel) +- This script (ek_Auto grid for MIDI Editor) +3. Add to this custom script MultiZoom shortcut hotkey +4. Have fun! + +#### ek_Move cursor or selected items left by grid + +If any item is selected, this script moves it to left by grid size. And moves cursor by grid in other case + +#### ek_Toggle monitoring fx plugin + +This script helps to watching for monitoring plugins (Realphones, Reference 4 and etc). You can see state of enabling plugin by state of button on your toolbar. + +For installation just add this script on toolbar and set "ek_Global Startup Functions" as global startup action via SWS. + +If you want to change Realphones for another plugin, please put in "ek_Headphones monitoring functions" + +#### ek_Toggle random color for selected items or tracks + +It changes color for items or tracks depending on focus + +#### ek_Toggle last under docker window + +This script helps to join several windows (on one docker region as usual) to one shortcut for toggling view. It remembers last opened window and toggle it. + +#### ek_Toggle MIDI Editor window + +It remember MIDI Editor button for toggling docker window in MIDI Editor section + +For correct work please install ek_Toggle last under docker window + +#### ek_Toggle MIDI Editor window in arrange + +It remember MIDI Editor button for toggling docker window in arrange view + +For correct work please install ek_Toggle last under docker window + +#### ek_Toggle Media Browser window + +It remember Media Browser button for toggling docker window + +For correct work please install ek_Toggle last under docker window + +#### ek_Toggle render matrix window + +It remember Render Matrix button for toggling docker window + +For work please install ek_Toggle last under docker window + +#### ek_Collapse selected tracks + +It collapses selected tracks/envelope lanes between 3 states: small, medium, large + +#### ek_Toggle single solo for selected tracks + +Toggles selected track soloed + +#### ek_Expand selected tracks + +It expands selected tracks/envelope lanes between 3 states: small, medium, large + +#### ek_Toggle trim mode for selected trackes + +Toggles trim mode for selected tracks and shows current state as button highlight + +#### ek_Nudge volume for selected tracks up + +It increase volume for selected track a bit and shows tooltip with set volume + +#### ek_Rename selected tracks or takes + +Renaming stuff for takes, items and tracks depending on focus + +#### ek_Insert new track + +It just inserts track or inserts it in the end of list depending on situation + +#### ek_Delete selected tracks + +If item has several takes and option "Show all takes in lane (when room)" is on, we gonna delete active take. And in other case it deletes track and select previous available track + +#### ek_Duplicate selected tracks or items + +If any item is selected, it duplicate item. In other case is duplicate track + +#### ek_Nudge volume for selected tracks down + +It decrease volume for selected track a bit and shows tooltip with set volume + diff --git a/Toolbars/ek_Toggle MIDI Editor window in arrange.lua b/Toolbars/ek_Toggle MIDI Editor window in arrange.lua new file mode 100644 index 0000000..82e254a --- /dev/null +++ b/Toolbars/ek_Toggle MIDI Editor window in arrange.lua @@ -0,0 +1,42 @@ +-- @description ek_Toggle MIDI Editor window in arrange +-- @version 1.0.0 +-- @author Ed Kashinsky +-- @about +-- It remember MIDI Editor button for toggling docker window in arrange view +-- +-- For correct work please install ek_Toggle last under docker window +-- @changelog +-- - Added core functions +-- @provides [main] . + +function CoreFunctionsLoaded(script) + local sep = (reaper.GetOS() == "Win64" or reaper.GetOS() == "Win32") and "\\" or "/" + local root_path = debug.getinfo(1, 'S').source:sub(2, -5):match("(.*" .. sep .. ")") + local script_path = root_path .. ".." .. sep .. "Core" .. sep .. script + local file = io.open(script_path, 'r') + + if file then file:close() dofile(script_path) return true else return false end +end + +if not CoreFunctionsLoaded("ek_Core functions.lua") then + reaper.MB('Core functions is missing. Please install "ek_Core functions" it via ReaPack (Action: Browse packages)', '', 0) + return +end + +CoreFunctionsLoaded("ek_Core functions startup.lua") + +-- View: Toggle show MIDI editor windows +local actionId = 40716 +local s_new_value, filename, sectionID, cmdID = reaper.get_action_context() + +GA_SetButtonForHighlight(ga_highlight_buttons.midi_editor, sectionID, cmdID) +EK_StoreLastGroupedDockerWindow(sectionID, cmdID, actionId) +EK_ToggleLastGroupedDockerWindow() + +local midieditor = reaper.MIDIEditor_GetActive() +local state = reaper.MIDIEditor_GetMode(midieditor) +local newState = state ~= -1 and 1 or 0 + +reaper.SetToggleCommandState(sectionID, cmdID, newState) +reaper.RefreshToolbar2(sectionID, cmdID) + diff --git a/Toolbars/ek_Toggle MIDI Editor window.lua b/Toolbars/ek_Toggle MIDI Editor window.lua new file mode 100644 index 0000000..1937c4e --- /dev/null +++ b/Toolbars/ek_Toggle MIDI Editor window.lua @@ -0,0 +1,41 @@ +-- @description ek_Toggle MIDI Editor window +-- @version 1.0.0 +-- @author Ed Kashinsky +-- @about +-- It remember MIDI Editor button for toggling docker window in MIDI Editor section +-- +-- For correct work please install ek_Toggle last under docker window +-- @changelog +-- - Added core functions +-- @provides [main=midi_editor] . + +function CoreFunctionsLoaded() + local sep = (reaper.GetOS() == "Win64" or reaper.GetOS() == "Win32") and "\\" or "/" + local root_path = debug.getinfo(1, 'S').source:sub(2, -5):match("(.*" .. sep .. ")") + local script_path = root_path .. ".." .. sep .. "Core" .. sep .. "ek_Core functions.lua" + local file = io.open(script_path, 'r') + + if file then file:close() dofile(script_path) return true else return false end +end + +if not CoreFunctionsLoaded() then + reaper.MB('Core functions is missing. Please install "ek_Core functions" it via ReaPack (Action: Browse packages)', '', 0) + return +end + +local function setStateForButton(prefixKey, state) + local sectionID = reaper.GetExtState("ed_stuff", prefixKey .. "_section_id") + local cmdID = reaper.GetExtState("ed_stuff", prefixKey .. "_command_id") + + if cmdID ~= '' and cmdID ~= nil then + reaper.SetToggleCommandState(sectionID, cmdID, state) + reaper.RefreshToolbar2(sectionID, cmdID) + end +end + +EK_ToggleLastGroupedDockerWindow() + +local midieditor = reaper.MIDIEditor_GetActive() +local state = reaper.MIDIEditor_GetMode(midieditor) +setStateForButton("midi_editor", state ~= -1 and 1 or 0) + diff --git a/Toolbars/ek_Toggle Media Browser window.lua b/Toolbars/ek_Toggle Media Browser window.lua new file mode 100644 index 0000000..cfe0911 --- /dev/null +++ b/Toolbars/ek_Toggle Media Browser window.lua @@ -0,0 +1,31 @@ +-- @description ek_Toggle Media Browser window +-- @version 1.0.0 +-- @author Ed Kashinsky +-- @about +-- It remember Media Browser button for toggling docker window +-- +-- For correct work please install ek_Toggle last under docker window +-- @changelog +-- - Added core functions +-- @provides [main=main,mediaexplorer] . + +function CoreFunctionsLoaded() + local sep = (reaper.GetOS() == "Win64" or reaper.GetOS() == "Win32") and "\\" or "/" + local root_path = debug.getinfo(1, 'S').source:sub(2, -5):match("(.*" .. sep .. ")") + local script_path = root_path .. ".." .. sep .. "Core" .. sep .. "ek_Core functions.lua" + local file = io.open(script_path, 'r') + + if file then file:close() dofile(script_path) return true else return false end +end + +if not CoreFunctionsLoaded() then + reaper.MB('Core functions is missing. Please install "ek_Core functions" it via ReaPack (Action: Browse packages)', '', 0) + return +end + +-- Media explorer: Show/hide media explorer +local actionId = 50124 +local s_new_value, filename, sectionID, cmdID = reaper.get_action_context() + +EK_StoreLastGroupedDockerWindow(sectionID, cmdID, actionId) +EK_ToggleLastGroupedDockerWindow() \ No newline at end of file diff --git a/Toolbars/ek_Toggle last under docker window.lua b/Toolbars/ek_Toggle last under docker window.lua new file mode 100644 index 0000000..957c898 --- /dev/null +++ b/Toolbars/ek_Toggle last under docker window.lua @@ -0,0 +1,23 @@ +-- @description ek_Toggle last under docker window +-- @version 1.0.0 +-- @author Ed Kashinsky +-- @about +-- This script helps to join several windows (on one docker region as usual) to one shortcut for toggling view. It remembers last opened window and toggle it. +-- @changelog +-- - Added core functions + +function CoreFunctionsLoaded() + local sep = (reaper.GetOS() == "Win64" or reaper.GetOS() == "Win32") and "\\" or "/" + local root_path = debug.getinfo(1, 'S').source:sub(2, -5):match("(.*" .. sep .. ")") + local script_path = root_path .. ".." .. sep .. "Core" .. sep .. "ek_Core functions.lua" + local file = io.open(script_path, 'r') + + if file then file:close() dofile(script_path) return true else return false end +end + +if not CoreFunctionsLoaded() then + reaper.MB('Core functions is missing. Please install "ek_Core functions" it via ReaPack (Action: Browse packages)', '', 0) + return +end + +EK_ToggleLastGroupedDockerWindow() \ No newline at end of file diff --git a/Toolbars/ek_Toggle monitoring fx plugin.lua b/Toolbars/ek_Toggle monitoring fx plugin.lua new file mode 100644 index 0000000..c3b1568 --- /dev/null +++ b/Toolbars/ek_Toggle monitoring fx plugin.lua @@ -0,0 +1,66 @@ +-- @description ek_Toggle monitoring fx plugin +-- @version 1.0.0 +-- @author Ed Kashinsky +-- @about +-- This script helps to watching for monitoring plugins (Realphones, Reference 4 and etc). You can see state of enabling plugin by state of button on your toolbar. +-- +-- For installation just add this script on toolbar and set "ek_Global Startup Functions" as global startup action via SWS. +-- +-- If you want to change Realphones for another plugin, please put in "ek_Headphones monitoring functions" +-- @changelog +-- - Added core functions + +function CoreFunctionsLoaded(script) + local sep = (reaper.GetOS() == "Win64" or reaper.GetOS() == "Win32") and "\\" or "/" + local root_path = debug.getinfo(1, 'S').source:sub(2, -5):match("(.*" .. sep .. ")") + local script_path = root_path .. ".." .. sep .. "Core" .. sep .. script + local file = io.open(script_path, 'r') + + if file then file:close() dofile(script_path) return true else return false end +end + +if not CoreFunctionsLoaded("ek_Core functions.lua") then + reaper.MB('Core functions is missing. Please install "ek_Core functions" it via ReaPack (Action: Browse packages)', '', 0) + return +end + +if not CoreFunctionsLoaded("ek_Core functions startup.lua") then + reaper.MB('Global startup action is missing. Please install "ek_Global startup action" it via ReaPack (Action: Browse packages)', '', 0) + return +end + +if not EK_IsGlobalActionEnabled() then + reaper.MB('Please add "ek_Global startup action" as Global startup action (Extenstions -> Startup Actions -> Set global startup action) for realtime highlighting of this button', '', 0) +end + +reaper.Undo_BeginBlock() + +local s_new_value, filename, sectionID, cmdID = reaper.get_action_context() + +function toggleMonitoringFxOnMasterTrack() + local masterTrack = reaper.GetMasterTrack(proj) + local fxInd = EK_GetMonitoringFxIndexOnMasterTrack() + local isEnabled = EK_GetMonitoringFxEnabledOnMasterTrack() + local MonitoringFx = GA_GetSettingValue(ga_settings.monitoring_fx_plugin) + local state + + if isEnabled == nil or fxInd == -1 then + EK_ShowTooltip("Please add " .. MonitoringFx .. " on Monitoring FX tab") + state = 0 + else + reaper.TrackFX_SetEnabled(masterTrack, fxInd, not isEnabled) + state = isEnabled and 0 or 1 + end + + reaper.SetToggleCommandState(sectionID, cmdID, state) + reaper.RefreshToolbar2(sectionID, cmdID) + + -- update audio connection just in case + reaper.Audio_Quit() + reaper.Audio_Init() +end + +toggleMonitoringFxOnMasterTrack() +GA_SetButtonForHighlight(ga_highlight_buttons.monitoring_fx, sectionID, cmdID) + +reaper.Undo_EndBlock("Toggle Headphones monitoring on master track", -1) \ No newline at end of file diff --git a/Toolbars/ek_Toggle random color for selected items or tracks.lua b/Toolbars/ek_Toggle random color for selected items or tracks.lua new file mode 100644 index 0000000..43fa903 --- /dev/null +++ b/Toolbars/ek_Toggle random color for selected items or tracks.lua @@ -0,0 +1,19 @@ +-- @description ek_Toggle random color for selected items or tracks +-- @version 1.0.0 +-- @author Ed Kashinsky +-- @about +-- It changes color for items or tracks depending on focus + +reaper.Undo_BeginBlock() + +local proj = 0 + +local countSelectedItems = reaper.CountSelectedMediaItems(proj) + +if countSelectedItems > 0 then + reaper.Main_OnCommand(reaper.NamedCommandLookup(41332), 0) -- Take: Set active take to one random color +else + reaper.Main_OnCommand(reaper.NamedCommandLookup("_e2dfbf52ef604fcab3836124c001c5aa"), 0) -- Custom: SWS: Set tracks/items to one random color with children +end + +reaper.Undo_EndBlock("Toggle random color for selected items or tracks", -1) \ No newline at end of file diff --git a/Toolbars/ek_Toggle render matrix window.lua b/Toolbars/ek_Toggle render matrix window.lua new file mode 100644 index 0000000..038095c --- /dev/null +++ b/Toolbars/ek_Toggle render matrix window.lua @@ -0,0 +1,30 @@ +-- @description ek_Toggle render matrix window +-- @version 1.0.0 +-- @author Ed Kashinsky +-- @about +-- It remember Render Matrix button for toggling docker window +-- +-- For work please install ek_Toggle last under docker window +-- @changelog +-- - Added core functions + +function CoreFunctionsLoaded() + local sep = (reaper.GetOS() == "Win64" or reaper.GetOS() == "Win32") and "\\" or "/" + local root_path = debug.getinfo(1, 'S').source:sub(2, -5):match("(.*" .. sep .. ")") + local script_path = root_path .. ".." .. sep .. "Core" .. sep .. "ek_Core functions.lua" + local file = io.open(script_path, 'r') + + if file then file:close() dofile(script_path) return true else return false end +end + +if not CoreFunctionsLoaded() then + reaper.MB('Core functions is missing. Please install "ek_Core functions" it via ReaPack (Action: Browse packages)', '', 0) + return +end + +-- View: Show region render matrix window +local actionId = 41888 +local s_new_value, filename, sectionID, cmdID = reaper.get_action_context() + +EK_StoreLastGroupedDockerWindow(sectionID, cmdID, actionId) +EK_ToggleLastGroupedDockerWindow() \ No newline at end of file diff --git a/Tracks Properties/ek_Collapse selected tracks.lua b/Tracks Properties/ek_Collapse selected tracks.lua new file mode 100644 index 0000000..968ebcf --- /dev/null +++ b/Tracks Properties/ek_Collapse selected tracks.lua @@ -0,0 +1,51 @@ +-- @description ek_Collapse selected tracks +-- @version 1.0.0 +-- @author Ed Kashinsky +-- @about +-- It collapses selected tracks/envelope lanes between 3 states: small, medium, large +-- @changelog +-- - Small fixes + +reaper.Undo_BeginBlock() + +local proj = 0 +local minHeight = 30 +local tinyChildrenState = 2 +local envelope = reaper.GetSelectedTrackEnvelope(proj) + +if envelope ~= nil then + local height = reaper.GetEnvelopeInfo_Value(envelope, "I_TCPH_USED") + + if height > 80 then + reaper.Main_OnCommand(reaper.NamedCommandLookup("_WOL_APPHSELENVSLOT2"), 0) -- SWS/wol: Apply height to selected envelope, slot 2 + else + reaper.Main_OnCommand(reaper.NamedCommandLookup("_WOL_APPHSELENVSLOT1"), 0) -- SWS/wol: Apply height to selected envelope, slot 3 + end +else + for i = 0, reaper.CountSelectedTracks2(proj, true) - 1 do + local track = reaper.GetSelectedTrack2(proj, i, true) + + local height = reaper.GetMediaTrackInfo_Value(track, "I_TCPH") + local state = reaper.GetMediaTrackInfo_Value(track, "I_FOLDERCOMPACT") + local isFolder = reaper.GetMediaTrackInfo_Value(track, "I_FOLDERDEPTH") + local isMaster = reaper.GetMediaTrackInfo_Value(track, "IP_TRACKNUMBER") == -1 + + if isMaster then + reaper.SetMediaTrackInfo_Value(track, "I_HEIGHTOVERRIDE", 1) + reaper.TrackList_AdjustWindows(false) + elseif height > minHeight then + reaper.Main_OnCommand(reaper.NamedCommandLookup("_XENAKIOS_SELTRAXHEIGHTA"), 0) -- Xenakios/SWS: Set selected tracks heights to A + --reaper.Main_OnCommand(reaper.NamedCommandLookup("_SWS_MINTRACKS"), 0) -- SWS: Minimize selected track(s) + elseif isFolder == 1 and state ~= tinyChildrenState then + reaper.SetMediaTrackInfo_Value(track, "I_FOLDERCOMPACT", tinyChildrenState) + + -- reaper.Main_OnCommand(reaper.NamedCommandLookup("_SWS_SAVESEL"), 0) + -- reaper.Main_OnCommand(reaper.NamedCommandLookup("_SWS_SELCHILDREN"), 0) + -- reaper.Main_OnCommand(reaper.NamedCommandLookup(41593), 0) + -- reaper.Main_OnCommand(reaper.NamedCommandLookup("_SWS_RESTORESEL"), 0) + end + end + +end + +reaper.Undo_EndBlock("Collapse selected tracks", -1) \ No newline at end of file diff --git a/Tracks Properties/ek_Delete selected tracks.lua b/Tracks Properties/ek_Delete selected tracks.lua new file mode 100644 index 0000000..cdf41e3 --- /dev/null +++ b/Tracks Properties/ek_Delete selected tracks.lua @@ -0,0 +1,94 @@ +-- @description ek_Delete selected tracks +-- @version 1.0.0 +-- @author Ed Kashinsky +-- @about +-- If item has several takes and option "Show all takes in lane (when room)" is on, we gonna delete active take. And in other case it deletes track and select previous available track +-- @changelog +-- - Small fixes + +reaper.Undo_BeginBlock() + +local proj = 0 +local tinyChildrenState = 2 + +local sIndex +local firstSelectedTrack +local firstSelectedItemCountTakes +local showAllTakesOption = reaper.SNM_GetIntConfigVar("projtakelane", 0) & 1 == 1 -- Show all takes in lane (when room) + +local function fetchFirstSelectedTrack() + firstSelectedTrack = reaper.GetSelectedTrack(proj, 0) + + if showAllTakesOption then + local firstSelectedItem = reaper.GetSelectedMediaItem(proj, 0) + if firstSelectedItem ~= nil then + firstSelectedItemCountTakes = reaper.CountTakes(firstSelectedItem) + end + end + + for i = 0, reaper.CountTracks(proj) - 1 do + local track = reaper.GetTrack(proj, i) + + if track == firstSelectedTrack then + sIndex = i + break + end + end +end + +local function isAnyParentTiny(track) + local parentTrack = track + + while parentTrack ~= nil do + parentTrack = reaper.GetParentTrack(parentTrack) + + if parentTrack ~= nil then + local isFolder = reaper.GetMediaTrackInfo_Value(parentTrack, "I_FOLDERCOMPACT") + + if isFolder == tinyChildrenState then + return true + end + end + end + + return false +end + +local function GetPrevTrack() + if sIndex == nil or sIndex == 0 then + return reaper.GetMasterTrack(proj) + end + + if sIndex - 1 >= 0 then + for i = sIndex - 1, 0, -1 do + local track = reaper.GetTrack(proj, i) + + if isAnyParentTiny(track) == false then + return track + end + end + end + + return reaper.GetTrack(proj, sIndex or 0) +end + +fetchFirstSelectedTrack() + +-- IF item has several takes and option "Show all takes in lane (when room)" is on, we gonna delete active take +if showAllTakesOption and firstSelectedItemCountTakes > 1 then + reaper.Main_OnCommand(reaper.NamedCommandLookup(40129), 0) -- Take: Delete active take from items +else + reaper.Main_OnCommand(reaper.NamedCommandLookup(40184), 0) -- Remove items/tracks/envelope points (depending on focus) - no prompting + + local new_selected_track = reaper.GetSelectedTrack(proj, 0) + + if new_selected_track == nil then + local track = GetPrevTrack() + + if track ~= nil then + reaper.SetTrackSelected(track, true) + end + end +end + +reaper.Undo_EndBlock("Delete selected tracks", -1) \ No newline at end of file diff --git a/Tracks Properties/ek_Duplicate selected tracks or items.lua b/Tracks Properties/ek_Duplicate selected tracks or items.lua new file mode 100644 index 0000000..ed2519c --- /dev/null +++ b/Tracks Properties/ek_Duplicate selected tracks or items.lua @@ -0,0 +1,18 @@ +-- @description ek_Duplicate selected tracks or items +-- @version 1.0.0 +-- @author Ed Kashinsky +-- @about +-- If any item is selected, it duplicate item. In other case is duplicate track + +reaper.Undo_BeginBlock() + +local proj = 0 +local countSelectedItems = reaper.CountSelectedMediaItems(proj) + +if countSelectedItems > 0 then + reaper.Main_OnCommand(reaper.NamedCommandLookup(41295), 0) +else + reaper.Main_OnCommand(reaper.NamedCommandLookup(40062), 0) +end + +reaper.Undo_EndBlock("Duplicate selected tracks or items", -1) \ No newline at end of file diff --git a/Tracks Properties/ek_Expand selected tracks.lua b/Tracks Properties/ek_Expand selected tracks.lua new file mode 100644 index 0000000..397cbaa --- /dev/null +++ b/Tracks Properties/ek_Expand selected tracks.lua @@ -0,0 +1,59 @@ +-- @description ek_Expand selected tracks +-- @version 1.0.0 +-- @author Ed Kashinsky +-- @about +-- It expands selected tracks/envelope lanes between 3 states: small, medium, large +-- @changelog +-- - Small fixes + +reaper.Undo_BeginBlock() + +local proj = 0 +local minHeight = 30 +local tinyChildrenState = 2 + +function Debug(string) + if true then + reaper.ShowConsoleMsg(string .. "\n") + end +end + +local envelope = reaper.GetSelectedTrackEnvelope(proj) + +if envelope ~= nil then + local height = reaper.GetEnvelopeInfo_Value(envelope, "I_TCPH_USED") + + if height < 80 then + reaper.Main_OnCommand(reaper.NamedCommandLookup("_WOL_APPHSELENVSLOT2"), 0) -- SWS/wol: Apply height to selected envelope, slot 2 + else + reaper.Main_OnCommand(reaper.NamedCommandLookup("_WOL_APPHSELENVSLOT3"), 0) -- SWS/wol: Apply height to selected envelope, slot 3 + end +else + for i = 0, reaper.CountSelectedTracks2(proj, true) - 1 do + local track = reaper.GetSelectedTrack2(proj, i, true) + + local height = reaper.GetMediaTrackInfo_Value(track, "I_TCPH") + local state = reaper.GetMediaTrackInfo_Value(track, "I_FOLDERCOMPACT") + local isFolder = reaper.GetMediaTrackInfo_Value(track, "I_FOLDERDEPTH") + local isMaster = reaper.GetMediaTrackInfo_Value(track, "IP_TRACKNUMBER") == -1 + local env = reaper.GetSelectedTrackEnvelope(proj) + + if isMaster then + reaper.SetMediaTrackInfo_Value(track, "I_HEIGHTOVERRIDE", 80) + reaper.TrackList_AdjustWindows(false) + elseif env ~= nil then + reaper.Main_OnCommand(reaper.NamedCommandLookup("_WOL_APPHSELENVSLOT2"), 0) -- SWS/wol: Apply height to selected envelope, slot 2 + elseif isFolder == 1 and state == tinyChildrenState then + reaper.SetMediaTrackInfo_Value(track, "I_FOLDERCOMPACT", 0) + + -- reaper.Main_OnCommand(reaper.NamedCommandLookup("_SWS_SAVESEL"), 0) -- SWS: Save current track selection + -- reaper.Main_OnCommand(reaper.NamedCommandLookup("_SWS_SELCHILDREN"), 0) -- SWS: Select only children of selected folders + -- reaper.Main_OnCommand(reaper.NamedCommandLookup("_SWSTL_BOTH"), 0) -- SWS: Show selected track(s) in TCP and MCP + -- reaper.Main_OnCommand(reaper.NamedCommandLookup("_SWS_RESTORESEL"), 0) -- SWS: Restore saved track selection + elseif height <= minHeight then + reaper.Main_OnCommand(reaper.NamedCommandLookup("_XENAKIOS_SELTRAXHEIGHTB"), 0) -- Xenakios/SWS: Set selected tracks heights to B + end + end +end + +reaper.Undo_EndBlock("Expand selected tracks", -1) \ No newline at end of file diff --git a/Tracks Properties/ek_Insert new track.lua b/Tracks Properties/ek_Insert new track.lua new file mode 100644 index 0000000..f26a1dc --- /dev/null +++ b/Tracks Properties/ek_Insert new track.lua @@ -0,0 +1,61 @@ +-- @description ek_Insert new track +-- @version 1.0.0 +-- @author Ed Kashinsky +-- @about +-- It just inserts track or inserts it in the end of list depending on situation +-- @changelog +-- - Small fixes + +local proj = 0 +local tinyChildrenState = 2 + +-- MASTER is a track also +local countSelectedTracks = reaper.CountSelectedTracks2(proj, true) +local lastSelectedTrack = reaper.GetSelectedTrack2(proj, countSelectedTracks - 1, true) + +local function isAnyParentTiny(track) + local parentTrack = track + + -- local retval, buf = reaper.GetTrackName(track) + -- reaper.ShowConsoleMsg("Looking parent for: " .. buf .. "\n") + + while parentTrack ~= nil do + parentTrack = reaper.GetParentTrack(parentTrack) + + if parentTrack ~= nil then + local isFolder = reaper.GetMediaTrackInfo_Value(parentTrack, "I_FOLDERCOMPACT") + + -- local retval, buf = reaper.GetTrackName(parentTrack) + -- reaper.ShowConsoleMsg("\t" .. buf .. ": " .. isFolder .. "\n") + + if isFolder == tinyChildrenState then + -- reaper.ShowConsoleMsg("TRUE\n") + return true + end + end + end + + return false +end + +local function IsLastSelectedTrackTiny() + if not lastSelectedTrack then return false end + + local isFolder = reaper.GetMediaTrackInfo_Value(lastSelectedTrack, "I_FOLDERCOMPACT") + + if isFolder == tinyChildrenState then + return true + end + + if isAnyParentTiny(lastSelectedTrack) == true then + return true + end + + return false +end + +if IsLastSelectedTrackTiny() then + reaper.Main_OnCommand(reaper.NamedCommandLookup(40702), 0) -- Track: Insert new track at end of track list +else + reaper.Main_OnCommand(reaper.NamedCommandLookup(40001), 0) -- Track: Insert new track +end \ No newline at end of file diff --git a/Tracks Properties/ek_Nudge volume for selected tracks down.lua b/Tracks Properties/ek_Nudge volume for selected tracks down.lua new file mode 100644 index 0000000..f1c381d --- /dev/null +++ b/Tracks Properties/ek_Nudge volume for selected tracks down.lua @@ -0,0 +1,46 @@ +-- @description ek_Nudge volume for selected tracks down +-- @version 1.0.0 +-- @author Ed Kashinsky +-- @about +-- It decrease volume for selected track a bit and shows tooltip with set volume +-- @provides [main=main,midi_editor] . +-- @changelog +-- - Small fixes + +reaper.Undo_BeginBlock() + +local proj = 0 + +local function getVolumeLine(track, isMultiplyMode) + local retval, volume, pan = reaper.GetTrackUIVolPan(track) + local volInDb = 20 * math.log(volume, 10) + + if isMultiplyMode == true then + local retval, name = reaper.GetTrackName(track) + + return name .. ": " .. string.format("%.2f", volInDb) .. "db" + else + return "Volume: " .. string.format("%.2f", volInDb) .. "db" + end +end + +local function showToolbar() + local message = "" + local countSelectedTracks = reaper.CountSelectedTracks(proj) + + if countSelectedTracks > 0 then + for i = 0, countSelectedTracks - 1 do + local track = reaper.GetSelectedTrack(proj, i) + + message = message .. getVolumeLine(track, countSelectedTracks > 1) .. "\n" + end + + local x, y = reaper.GetMousePosition() + reaper.TrackCtl_SetToolTip(message, x, y, true) + end +end + +reaper.Main_OnCommand(reaper.NamedCommandLookup("_XENAKIOS_NUDGSELTKVOLDOWN"), 0) -- Xenakios/SWS: Nudge volume of selected tracks down +showToolbar() + +reaper.Undo_EndBlock("Nudge volume for selected tracks down", -1) \ No newline at end of file diff --git a/Tracks Properties/ek_Nudge volume for selected tracks up.lua b/Tracks Properties/ek_Nudge volume for selected tracks up.lua new file mode 100644 index 0000000..e75b25b --- /dev/null +++ b/Tracks Properties/ek_Nudge volume for selected tracks up.lua @@ -0,0 +1,46 @@ +-- @description ek_Nudge volume for selected tracks up +-- @version 1.0.0 +-- @author Ed Kashinsky +-- @about +-- It increase volume for selected track a bit and shows tooltip with set volume +-- @provides [main=main,midi_editor] . +-- @changelog +-- - Small fixes + +reaper.Undo_BeginBlock() + +local proj = 0 + +local function getVolumeLine(track, isMultiplyMode) + local retval, volume, pan = reaper.GetTrackUIVolPan(track) + local volInDb = 20 * math.log(volume, 10) + + if isMultiplyMode == true then + local retval, name = reaper.GetTrackName(track) + + return name .. ": " .. string.format("%.2f", volInDb) .. "db" + else + return "Volume: " .. string.format("%.2f", volInDb) .. "db" + end +end + +local function showToolbar() + local message = "" + local countSelectedTracks = reaper.CountSelectedTracks(proj) + + if countSelectedTracks > 0 then + for i = 0, countSelectedTracks - 1 do + local track = reaper.GetSelectedTrack(proj, i) + + message = message .. getVolumeLine(track, countSelectedTracks > 1) .. "\n" + end + + local x, y = reaper.GetMousePosition() + reaper.TrackCtl_SetToolTip(message, x, y, true) + end +end + +reaper.Main_OnCommand(reaper.NamedCommandLookup("_XENAKIOS_NUDGSELTKVOLUP"), 0) -- Xenakios/SWS: Nudge volume of selected tracks up +showToolbar() + +reaper.Undo_EndBlock("Nudge volume for selected tracks up", -1) \ No newline at end of file diff --git a/Tracks Properties/ek_Rename selected tracks or takes.lua b/Tracks Properties/ek_Rename selected tracks or takes.lua new file mode 100644 index 0000000..6004de3 --- /dev/null +++ b/Tracks Properties/ek_Rename selected tracks or takes.lua @@ -0,0 +1,24 @@ +-- @description ek_Rename selected tracks or takes +-- @version 1.0.0 +-- @author Ed Kashinsky +-- @about +-- Renaming stuff for takes, items and tracks depending on focus + +reaper.Undo_BeginBlock() + +local proj = 0 + +local countSelectedItems = reaper.CountSelectedMediaItems(proj) + +if countSelectedItems == 1 then + -- Xenakios/SWS: Rename takes... + reaper.Main_OnCommand(reaper.NamedCommandLookup("_XENAKIOS_RENMTAKE"), 0) +elseif countSelectedItems > 1 then + -- Xenakios/SWS: Rename takes with same name... + reaper.Main_OnCommand(reaper.NamedCommandLookup("_XENAKIOS_RENMTAKEALL"), 0) +else + -- Xenakios/SWS: Rename selected tracks... + reaper.Main_OnCommand(reaper.NamedCommandLookup("_XENAKIOS_RENAMETRAXDLG"), 0) +end + +reaper.Undo_EndBlock("Rename selected tracks or takes", -1) \ No newline at end of file diff --git a/Tracks Properties/ek_Toggle single solo for selected tracks.lua b/Tracks Properties/ek_Toggle single solo for selected tracks.lua new file mode 100644 index 0000000..b7557f8 --- /dev/null +++ b/Tracks Properties/ek_Toggle single solo for selected tracks.lua @@ -0,0 +1,39 @@ +-- @description ek_Toggle single solo for selected tracks +-- @version 1.0.0 +-- @author Ed Kashinsky +-- @about +-- Toggles selected track soloed +-- @provides [main=main,midi_editor] . +-- @changelog +-- - Small fixes + +reaper.Undo_BeginBlock() + +proj = 0 + +local function isAllTrackSoloed() + local isAllTracksSoloed = true + + for i = 0, reaper.CountSelectedTracks(proj) - 1 do + local track = reaper.GetSelectedTrack(proj, i) + + local isSolo = reaper.GetMediaTrackInfo_Value(track, "I_SOLO") + if isSolo == 0 then + isAllTracksSoloed = false + break + end + end + + return isAllTracksSoloed +end + +if isAllTrackSoloed() then + reaper.Main_OnCommand(reaper.NamedCommandLookup(40340), 0) -- Track: Unsolo all tracks + reaper.Main_OnCommand(reaper.NamedCommandLookup(7), 0) -- Track: Toggle solo for selected tracks + reaper.Main_OnCommand(reaper.NamedCommandLookup(7), 0) -- Track: Toggle solo for selected tracks +else + reaper.Main_OnCommand(reaper.NamedCommandLookup(40340), 0) -- Track: Unsolo all tracks + reaper.Main_OnCommand(reaper.NamedCommandLookup(7), 0) -- Track: Toggle solo for selected tracks +end + +reaper.Undo_EndBlock("Toggle single solo for selected tracks", -1) \ No newline at end of file diff --git a/Tracks Properties/ek_Toggle trim mode for selected trackes.lua b/Tracks Properties/ek_Toggle trim mode for selected trackes.lua new file mode 100644 index 0000000..8e6f01c --- /dev/null +++ b/Tracks Properties/ek_Toggle trim mode for selected trackes.lua @@ -0,0 +1,57 @@ +-- @description ek_Toggle trim mode for selected trackes +-- @version 1.0.0 +-- @author Ed Kashinsky +-- @about +-- Toggles trim mode for selected tracks and shows current state as button highlight +-- @changelog +-- - Added core functions + +function CoreFunctionsLoaded() + local sep = (reaper.GetOS() == "Win64" or reaper.GetOS() == "Win32") and "\\" or "/" + local root_path = debug.getinfo(1, 'S').source:sub(2, -5):match("(.*" .. sep .. ")") + local script_path = root_path .. ".." .. sep .. "Core" .. sep .. "ek_Core functions.lua" + local file = io.open(script_path, 'r') + + if file then file:close() dofile(script_path) return true else return false end +end + +if not CoreFunctionsLoaded() then + reaper.MB('Core functions is missing. Please install "ek_Core functions" it via ReaPack (Action: Browse packages)', '', 0) + return +end + +if not EK_IsGlobalActionEnabled() then + reaper.MB('Please add "ek_Global startup action" as Global startup action (Extenstions -> Startup Actions -> Set global startup action) for realtime highlighting of this button', '', 0) +end + +reaper.Undo_BeginBlock() + +local s_new_value, filename, sectionID, cmdID = reaper.get_action_context() + +local function toggleAutomationMode() + local countSelectedTracks = reaper.CountSelectedTracks(proj) + + if countSelectedTracks > 0 then + local state = reaper.GetToggleCommandStateEx(sectionID, cmdID); + + for i = 0, countSelectedTracks - 1 do + local newValue + local track = reaper.GetSelectedTrack(proj, i) + + if state == 2 then + newValue = 0 + else + newValue = 2 + end + + reaper.SetMediaTrackInfo_Value(track, "I_AUTOMODE", newValue) + reaper.SetToggleCommandState(sectionID, cmdID, newValue) + reaper.RefreshToolbar2(sectionID, cmdID) + end + end +end + +toggleAutomationMode() +GA_SetButtonForHighlight(ga_highlight_buttons.trim_mode, sectionID, cmdID) + +reaper.Undo_EndBlock("Toggle automation mode for selected trackes", -1) \ No newline at end of file