|
|
|
09-26-2016, 08:02 AM
|
#1
|
Pixel Pusher
Join Date: Mar 2007
Location: Blighty
Posts: 4,951
|
3. Making a REAPER theme
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
As REAPER has grown, its theming capabilities have grown with it. Broadly speaking it has maintained compatibility with themes made all the way back near the beginning. Old themes still work, and new themes still use the same theming facilities that old themes relied on. Additional layers of increasingly powerful theming functionality have been added onto the top as time has gone by, each relying on the existence of (and your understanding of) the preceding functionality.
Layer 1 : ReaperTheme
REAPER's initial theming was based on themable code colours, font assignments and tweakable elements. These are still in use, and their settings are saved in a theme's .ReaperTheme file.
The initial theming also used .ico images, thankfully we effectively don't need to worry about them any more.
Layer 2 : Advanced Theming
In 2007 REAPER added 'Advanced Theming'. This gave support for .png images and additional tweakable elements that had their values stored in an 'rtconfig.txt' file. All of these are still in use.
Advanced Theming SDK.
Theme Images SDK
Tutorial - Reaper Theming with Pink Bits
Layer 3 : WALTER
With the addition of WALTER (Window Arrangement Logic Template Engine for REAPER), some of the themable elements can be resized, repositioned, recoloured and some of the dynamic logic controlling their appearance can be scripted. User selectable layouts are scriptable. WALTER is also within a theme's 'rtconfig.txt' file.
WALTER SDK
WALTER : A themer's guide
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Deprecated Sticky : Basics of Theme Editing
|
|
|
08-14-2017, 09:54 AM
|
#2
|
Pixel Pusher
Join Date: Mar 2007
Location: Blighty
Posts: 4,951
|
An explanation of custom colouring for themers is HERE.
More on tinttcp in the Reaper.ini and rtconfig.txt files, and the associated preferences grey out, HERE.
An explanation of how folder indenting in the TCP works is HERE.
Using layout_dpi_translate to change layouts for HiDPI : HERE
Adjusting themes using scripting : HERE.
Adding theme adjuster functionality to a theme without doing any scripting : HERE.
Last edited by White Tie; 04-30-2023 at 01:07 AM.
|
|
|
12-05-2019, 04:34 AM
|
#4
|
Human being with feelings
Join Date: Oct 2011
Posts: 442
|
Hi White Tie,
Is there / will be an updated walter SDK/Themer guide for v6?
Thanks
|
|
|
12-05-2019, 05:06 AM
|
#5
|
Pixel Pusher
Join Date: Mar 2007
Location: Blighty
Posts: 4,951
|
The SDK should always be up to date based on how it is auto-generated, I believe, though of course its helpfulness is limited to the dry facts. I might update the themers guide at some point if I have time.
|
|
|
12-07-2019, 01:36 PM
|
#6
|
Human being with feelings
Join Date: Oct 2011
Posts: 442
|
Thank you!
|
|
|
12-08-2019, 03:36 PM
|
#7
|
Banned
Join Date: Jul 2017
Posts: 192
|
How to make invisible this one's?
|
|
|
01-17-2021, 02:14 PM
|
#8
|
Human being with feelings
Join Date: Sep 2009
Location: Vienna
Posts: 109
|
Stacked knob images
Hi to all of you
Hi White Tie,
Sorry if this is a noob question...
I never figured out how to integrate stacked knobs in Reaper.
Is there anywhere a kind of tutorial what to do, given I already designed a stacked knob image?
I'm used to do that in Reaktor, no problems there, but what has to be done in Walter or the png-folders for Reaper to accept those images?
Any help appreciated!!!
I'd look forward to share my themes with the community but this issue always kept me from realizing my visions.
|
|
|
01-18-2021, 03:30 AM
|
#9
|
Human being with feelings
Join Date: Jun 2007
Location: Terra incognita
Posts: 7,670
|
Check the OP and study the WALTER : A themer's guide. There is a section about knob stacks in there, starting from the page 28. Theme Images SDK, also linked to in OP, gives you a list of possible knob stack images.
|
|
|
02-25-2021, 05:53 PM
|
#10
|
Human being with feelings
Join Date: Dec 2019
Location: sthlm, swe
Posts: 147
|
Hi,
Is the walter theme guide available somewhere in html or similar on the web where the text would be easier to browse? I understand ofc if it isn't.
Thanks,
|
|
|
04-05-2021, 07:57 PM
|
#11
|
Human being with feelings
Join Date: May 2009
Location: GUADALAJARA, MEXICO
Posts: 557
|
SVG ON Reaper
And how about the Reaper 7 theme in svg? I mean, the whole program would be even lighter. Is it possible, many guys here can do it. Even for SWS. Isn´t it?
__________________
Links caidos? ve a 1joesasa desde tu navegador favorito y ve los videos hospedados en youtube y desde ahora solo en Daylymotion.
JOE SA SA
|
|
|
07-22-2021, 05:29 PM
|
#12
|
Human being with feelings
Join Date: Jun 2010
Posts: 17
|
yeah is SVG even a possibility in next reaper versions?
Inter face will be scaleable and the whole theming will become easier. Is it wishful thinking?
|
|
|
07-23-2021, 02:21 AM
|
#13
|
Pixel Pusher
Join Date: Mar 2007
Location: Blighty
Posts: 4,951
|
This is the thread for the details on how to make a Reaper theme. For that reason it makes no sense to post feature requests here.
The developers are unlikely to read this thread. I do read this thread, but I am unable to action feature requests. For that reason it makes no sense to post feature requests here.
Regarding SVGs : that would be a feature request. MORE HERE TL/DR : You don't mean SVG you mean vector (not the same thing) and almost certainly no, for the forseeable future. If you wish to respond, please do so there not here.
|
|
|
08-28-2021, 07:22 AM
|
#14
|
Human being with feelings
Join Date: Feb 2019
Location: Austin, TX
Posts: 413
|
HiDPI/Retina Theming Info
Reposting WT's response to my inquiry here to hopefully make it easier for others to find.
Quote:
Originally Posted by White Tie
I haven't written any documentation on the HiDPI functionality because I don't have a definitive understanding of exactly what it is doing in detail and I don't want to publish wrong information; during pre-release things were done in numerous different ways, and at least one important implementation method has even changed since Reaper V6 was released. The HiDPI functionality is not currently described in the theming SDK.
I gladly offer assistance here in the forum, I have briefly explained how to enact a HiDPI theme HERE [pasted below], and in the V6 theme I kept the HiDPI sections of the code separate so they could be used as exemplars, though I acknowledge that might be of limited use because they are wrapped up in lots of complex macros. So ..er.. ask away, and I'll tell you what I'm pretty sure is happening, just don't ask me to sign any paperwork
The image based approach that is used it burdensome on the themer, but it and the simple WALTER layout code method means that no experienced themer should find it technically challenging. If you, or anyone else, is interested in making a HiDPI theme then please let me know, because there's unlikely to be effort expended on documentation if there's no demand - all I've seen so far is modders removing HiDPI functionality There also appears to be an understanding gap between theme modders and the way HiDPI works at a hardware/OS level (see this thread), the state of HiDPI implementations in OSs is still changing, and the hardware landscape is also changing in time as we gradually see less of the really silly annoying things like 1080 @ 133% laptops. So its, y'know, complicated.
The only other thing the V6 default theme has that is new is the theme adjuster script control functionality, see: Adjusting themes using scripting : HERE. Adding theme adjuster functionality to a theme without doing any scripting : HERE. Though I've retro-fitted that to the Default 5 theme now, so I'm not sure it counts as V6 new any more!
|
Quote:
Originally Posted by White Tie
Its going to take a while to document this properly, so I'll try to provide some information here and if you have any questions that will help me in understanding how most clearly to communicate it.
For WALTERable areas (MCP/TCP/EnvCP/Transport)
...its all just layouts, same as they ever were from V5 and earlier. Make a layout with images in a folder that are the correct size for your chosen dpi scale, and make the WALTER sized appropriately.
In def6 I made base layout macros at 100%, with a scale mutiplier that could be applied when I ran the macro for each layout, but this was just my choice. You could hard-code your WALTER for each size if you like doing lots of typing
All that remains is to tell Reaper to automatically use your resized layouts when its drawing at what you have decided is the appropriate dpi scale, which you do using layout_dpi_translate.
Code:
; requested scale > use
layout_dpi_translate '50%_A' 1.0 'A'
each line of this maps one layout (that the user has chosen) to another layout, and then uses that layout instead (without bothering the user) should the dpi scale be higher than the defined scale value.
-------------------------------------------------
For non-WALTERable areas
...misc_dpi_translate is used, which takes the form:
Code:
misc_dpi_translate dpi_scale folder
If Reaper finds itself drawing a misc element at a dpi_scale higher than the dpi_scale value, it uses the images in the folder of that name and (though I have yet to test whether it always does this correctly) draws at that scale. So. in the Def6:
Code:
misc_dpi_translate 134 150
misc_dpi_translate 174 200
It starts out drawing using the root images. If it is drawing at a dpi scale higher than 134, it jumps to 150% scale and uses the 150 folder for its images. If the dpi scale is higher than 174, it jumps to 200% scale and uses the 200 folder for its images.
|
|
|
|
Thread Tools |
|
Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -7. The time now is 10:36 PM.
|