Old 04-05-2021, 09:55 AM   #1
OakleyRdStudios
Human being with feelings
 
Join Date: Jun 2017
Posts: 226
Default How Can I Learn More About WALTER?

Where can I go on the internet to learn WALTER?
How do you guys learn this stuff? It looks like Chinese to me, LOL!

I am an artist and very good with Photoshop. I want to make beautiful themes, but I can't understand what all that code means.

I found the themer's guide by White Tie but it doesn't mention half of the stuff I see in the RTConfig file. Where can I find videos and tutorials so I can get really good at Reaper Theming? I have loads of really good ideas to contribute.
OakleyRdStudios is offline   Reply With Quote
Old 04-05-2021, 10:06 AM   #2
White Tie
Pixel Pusher
 
White Tie's Avatar
 
Join Date: Mar 2007
Location: Blighty
Posts: 4,951
Default

See the stickies at the top of this forum.

There are no videos or tutorials for Reaper theming because there is no one way to do it. WALTER is not Reaper theming, its an optional part of some of Reaper's theming for some of Reaper's parts. If you are already looking at existing themes and then looking for a way to understand them, my advice is that you are already going wrong, because each theme is, to a greater or lesser degree, its own complicated construction built with layers of very simple stuff. You should start with a blank theme, see Reaper naked, and experiment to learn the simple stuff. Takes a couple of hours, tops.
__________________
The House of White Tie
White Tie is offline   Reply With Quote
Old 04-05-2021, 10:24 AM   #3
OakleyRdStudios
Human being with feelings
 
Join Date: Jun 2017
Posts: 226
Default

Quote:
Originally Posted by White Tie View Post
See the stickies at the top of this forum.

There are no videos or tutorials for Reaper theming because there is no one way to do it. WALTER is not Reaper theming, its an optional part of some of Reaper's theming for some of Reaper's parts. If you are already looking at existing themes and then looking for a way to understand them, my advice is that you are already going wrong, because each theme is, to a greater or lesser degree, its own complicated construction built with layers of very simple stuff. You should start with a blank theme, see Reaper naked, and experiment to learn the simple stuff. Takes a couple of hours, tops.
Thanks, WT. I saw your advice and totally get why you would say that. However, I couldn't possibly construct an RTConfig from out of thin air, so I had to start messing with other people's themes, to try and figure out what the lines meant and what they represented. I managed to replace some images and shift things about, a pixel here and there.

Then I tried commenting everything out with ; and started moving a few blocks around but quickly got into a mess with it.

So you're saying that themes aren't all WALTER? Okay. Well, that's just thrown me a curved ball and I don't know what to say. What else are people using in their code - and how do they get to learn that?

Last edited by OakleyRdStudios; 04-05-2021 at 10:43 AM.
OakleyRdStudios is offline   Reply With Quote
Old 04-05-2021, 11:20 AM   #4
White Tie
Pixel Pusher
 
White Tie's Avatar
 
Join Date: Mar 2007
Location: Blighty
Posts: 4,951
Default

Quote:
Originally Posted by OakleyRdStudios View Post
I couldn't possibly construct an RTConfig from out of thin air
Yes you could, and more closely to 'out of thin air' than you realise. A blank text file renamed rtconfig.txt will do it, that will be a 100% fully functional Reaper theme. Once you've seen Reaper naked, you can start deciding how you want to change it.

99% of the messes you will get into when changing an existing theme will be because of the way that theme works, not because of the way Reaper theming works.
__________________
The House of White Tie
White Tie is offline   Reply With Quote
Old 04-05-2021, 02:23 PM   #5
oneammonday
Human being with feelings
 
Join Date: Jun 2019
Posts: 171
Default

Hi there, White Tie. I know that this is all probably very easy to you, but there are those of us who just barely know enough about computers and programming to completely destroy our computers, lol. I think that for most of us who want to mod a few things in a Reaper theme, all that we really want to do is make a font larger here and there or change the color and/or size of an image or two and that's all. Then there are, of course, those who wish to create something artistically beautiful, but get bogged down in trying to figure out a rtconfig file. There's also the standard human learning tool, that you might be overlooking, of tearing something apart to figure out how to put it back together, lol. I've tried reading all the resources about themeing that you and others have provided, but it just seems to be lacking for me, or rather, I'm lacking the mental resources to comprehend the forest for the trees, I'll bet. I'm only speaking for myself and, of course am not intending any insult or slam to you. I'm just sayin' that some of us don't quite have it together and need it dumbed down a little more, please. Cheers to you and everyone reading this.
oneammonday is offline   Reply With Quote
Old 04-05-2021, 03:52 PM   #6
White Tie
Pixel Pusher
 
White Tie's Avatar
 
Join Date: Mar 2007
Location: Blighty
Posts: 4,951
Default

Quote:
Originally Posted by oneammonday View Post
I think that for most of us who want to mod a few things in a Reaper theme, all that we really want to do is make a font larger here and there or change the color and/or size of an image or two and that's all.
Absolutely, and I agree that is indeed most people, and that is why I have gone to great lengths to include easy-mod bits in my themes, and instructions on how to use them, and that is what led to the theme adjuster script in V6 and me making hot-swappable modder supplies for the v6 theme. I think we're in pretty good shape there, so its all about that next step, right?...

Quote:
Originally Posted by oneammonday View Post
Then there are, of course, those who wish to create something artistically beautiful, but get bogged down in trying to figure out a rtconfig file.
This is the madness, because themes are very very much more complicated than theming. I realised long ago that sometimes people weren't asking 'how does theming work?', they were asking 'how does the default theme work?' and that is a very very different question.

Particularly regarding V5 and V6, the default theme's WALTER is very complicated in order to do things that no theme other than the default would ever want to do. Most (made from scratch) themes use code that is profoundly more simple and no one cares.

You could learn the fundamentals of Reaper theming in a couple of hours of fiddling about, and then go on to make themes, for years, that users will love, and you'll have a lot of fun. Or you could stare at the default v6 theme's WALTER for a couple of hours and learn nothing and lose the will to carry on. And you don't need to. You simply do not need to know all that bollocks.

Quote:
Originally Posted by oneammonday View Post
There's also the standard human learning tool, that you might be overlooking, of tearing something apart to figure out how to put it back together, lol. I've tried reading all the resources about themeing that you and others
I totally get this, and I get that's how people often learn coding. And there's a lot you can learn from looking at how someone did something in a theme. But Reaper theming is different because we are YEARS into a process of brutally abusing the theming functionality into doing things it never wanted to. There are hacks and strategies aplenty, but you'll never spot them until you have taken a couple of hours to fiddle with naked Reaper, learn how simple theming is, and then you can look at some code and try to figure out "OK, why did this guy do all this complicated stuff?"

If you come on here with a simple theme and ask how to make it a bit more complicated, I and others will enjoy teaching you the tricks. But on a deeply sympathetic and practical level, my reaction to people saying "I broke this code, please tell me why" is that ...I don't know, it would take me ages to figure out, and you shouldn't have done that
__________________
The House of White Tie
White Tie is offline   Reply With Quote
Old 04-06-2021, 01:44 AM   #7
OakleyRdStudios
Human being with feelings
 
Join Date: Jun 2017
Posts: 226
Default

Thanks, White Tie. I'm glad we had this conversation.

All the while I thought if I deleted the WALTER in the RTConfig, it would break the GUI and Reaper would not work.

I only tried to work on top of the Default theme because I thought that was the base everyone used for making their themes.

Knowing that I can start with no theme and work it up from the ground changes everything. I assume that's what you're saying?

The above is why your famous advice did not make sense to me at first, but does now (I think). But I had to look at other themes to know the syntax.

I guess what I'm asking is - your comprehensive theming guide on the Reaper site is great but clearly people are going above and beyond this, with much more complex code. So my question is - where and how are they learning to do this?

Last edited by OakleyRdStudios; 04-06-2021 at 01:56 AM.
OakleyRdStudios is offline   Reply With Quote
Old 04-06-2021, 02:31 AM   #8
White Tie
Pixel Pusher
 
White Tie's Avatar
 
Join Date: Mar 2007
Location: Blighty
Posts: 4,951
Default

Quote:
Originally Posted by OakleyRdStudios View Post
Thanks, White Tie. I'm glad we had this conversation.

All the while I thought if I deleted the WALTER in the RTConfig, it would break the GUI and Reaper would not work.

I only tried to work on top of the Default theme because I thought that was the base everyone used for making their themes.

Knowing that I can start with no theme and work it up from the ground changes everything. I assume that's what you're saying?
Yes. Make a blank text file and rename it mytheme.reapertheme and that's now a theme, and you can open it in Reaper's theme tweaker. When you save it from there it will be auto-populated with all the fallback colours and fonts, and you can tweak from there.

Make a resource folder for that theme, link to it, and stick a blank text file in it called rtconfig.txt. You now have a place you can change more things and add some images. Repeat a few hundred times and that's it.

Quote:
Originally Posted by OakleyRdStudios View Post
clearly people are going above and beyond this, with much more complex code. So my question is - where and how are they learning to do this?
Clearly how? Who are these people and where is this more complex code? There is a sliding scale of complexity in themes:

Static themes are basic stuff, the elements never move or resize. There are lots of themes like this. There are people who make themes only like this. People like those themes.

From there people add in breakpoints, so at certain widths or heights elements move or disappear, using basic w>10, h<100 commands and some basic polish notation, which is probably the tricky bit at first. There are people who make themes only like this. People like those themes.

Once that is understood, its conceptually very easy to do the same thing but based on the other scalar variables like record arm, track selected or track colour. Making lots of layouts, perhaps then tidying that up with macros, if you like, macros don't actually do anything. Its all the same thing.

At the other end of the scale, after every new version, a lot of people reskin the new default theme, and I do everything I can to make that as easy for them as possible. For some reason a proportion of them always seem to want to obfuscate that what they have done is reskinned the default theme, because ...I don't know. People are weird. But they don't understand all that complicated WALTER any more than you do. And they don't need to. And neither do you.

You seem to have latched on to this idea that there will be a point where you can scan through a complicated theme and have amassed enough knowledge to understand everything you are seeing, and at that point you will be ready to start making themes. This is nonsense. I regularly look through my own code thinking "hang on, what the hell was I doing here?"
__________________
The House of White Tie
White Tie is offline   Reply With Quote
Old 04-06-2021, 03:11 AM   #9
OakleyRdStudios
Human being with feelings
 
Join Date: Jun 2017
Posts: 226
Default

Quote:
Originally Posted by White Tie View Post
You seem to have latched on to this idea that there will be a point where you can scan through a complicated theme and have amassed enough knowledge to understand everything you are seeing, and at that point you will be ready to start making themes. This is nonsense. I regularly look through my own code thinking "hang on, what the hell was I doing here?"
That's very encouraging. It's got me actually planning something do-able now, rather than feeling deflated. I came here feeling utterly hopeless about the whole thing. I've decided to start with a static theme, that works just for me and how I personally use Reaper. Then I can maybe add functionality and scaleability if the need arises.

I'd got off on the wrong foot with Reaper theming - totally. I've been meaning to contact you for some time but something stopped me. I'm glad I reached out now.

So thank you for that. And all your own theming work, that has inspired me to try my own hand at WALTER.
OakleyRdStudios is offline   Reply With Quote
Old 04-06-2021, 06:17 AM   #10
Gianfini
Human being with feelings
 
Join Date: Jan 2015
Posts: 794
Default real question

This seems the perfect thread for me to ask a long standing question

Where do I learn about how these expressions - normally found in best themes out there - work:

ex1: set hide_##element param##paramIdx##&4 !recarm 1 hide_##element
ex2: set element ?hide_##element{0} [. . 0 element_h]
ex3: set element ?mainCollapse{0} [. . 0 0]
ex4: set mcp_meterExp_s ?meterExpMode{0} . 1

just 4 examples, among the many other I could post

in no way these expressions are explained in the above Stikyies... the examples in the Walter explanation page dated back 2012 are pretty basic

thanks in advance for any support
g
Gianfini is offline   Reply With Quote
Old 04-06-2021, 07:06 AM   #11
White Tie
Pixel Pusher
 
White Tie's Avatar
 
Join Date: Mar 2007
Location: Blighty
Posts: 4,951
Default

Quote:
Originally Posted by Gianfini View Post
Where do I learn about how these expressions - normally found in best themes out there - work:

ex1: set hide_##element param##paramIdx##&4 !recarm 1 hide_##element
ex2: set element ?hide_##element{0} [. . 0 element_h]
ex3: set element ?mainCollapse{0} [. . 0 0]
ex4: set mcp_meterExp_s ?meterExpMode{0} . 1

just 4 examples, among the many other I could post

in no way these expressions are explained in the above Stikyies... the examples in the Walter explanation page dated back 2012 are pretty basic
That's not correct. Everything there is explained in the walter sdk or the guide I wrote. It is. The problem is that you can't tell which of those bits are WALTER, and which are bits invented by the person who wrote that theme, which looks like it might be me.

Code:
using ## in a macro allows the parameter to be concatenated with another named string.
Do you want to concatenate a parameter with another named string? Why?

Code:
set element  ?hide_##element{0} [. . 0 element_h]
That looks like a deeeep cut from the default theme. Element is an placeholder element I made up, hide_element and element_h are variables I made up. Other than that its sdk stuff:

Code:
?val1         --   if val1 is nonzero ...
!val1         --   if val1 is zero ...
or the '.' business in coordinate lists, which is a programmer thing I explain in the WALTER guide that is useful when wanting to overwrite individual coordinates of a coordinate list. What is it you want to do that you think you need to know that first before you try?

WALTER hasn't really changed since 2012, I've just got better at doing complicated things with it. But you don't need to do complicated things, or if you do you'll be at the point where you're ready to come on here and understand what you're asking for and ask how, which people have.

As I keep saying, to everyone, you shoudn't go into the complicated bits of the default theme until you're really, really on top of how theming works. And even then you probably shouldn't bother because none of that will help you do the things you want to. All of that complication is there to make it easier to do simple mods of the default theme, at the cost of making detailed mods extremely difficult. There's no need for you to do that with your theme, just ignore it. You're missing nothing.

I love it when someone gets to the point where they're ready to try to do crazy stuff with WALTER. Come on here and ask, but almost certainly it'll be just for the fun of it, because you don't need any of that to make great themes that people will love. You just don't.
__________________
The House of White Tie
White Tie is offline   Reply With Quote
Old 04-06-2021, 08:31 AM   #12
Gianfini
Human being with feelings
 
Join Date: Jan 2015
Posts: 794
Default Walter

I'll give you a bit of context. All i'm trying to do is modifying some theme I really like but there's one thing I dislike (or I would do better) and the maker is either not active anymore or has no priority on working on those topics.

So I have to inherit the existing theme complexity and try to understand it. I've been successfull in a limited number of cases, but sometimes I can't seem to find what an expression does based on Walter SDK page.

You gave me good hints in your answer. But I still have "holes".

For example I see they use define_parameter "xxx" "xxx" and I can't find what define_parameter does neither as a macro nor in the SDK doc

Anyway thank you very much for your support so far

g
Gianfini is offline   Reply With Quote
Old 04-06-2021, 02:05 PM   #13
White Tie
Pixel Pusher
 
White Tie's Avatar
 
Join Date: Mar 2007
Location: Blighty
Posts: 4,951
Default

What theme is that? define_parameter is the way WALTER connects to reaper scripts, and that's only been a thing since v6. It is indeed still missing from the SDK still, I'll mention it.

From the stickies : Adjusting themes using scripting : HERE

Adding theme adjuster functionality to a theme without doing any scripting : HERE.
__________________
The House of White Tie
White Tie is offline   Reply With Quote
Old 04-06-2021, 02:36 PM   #14
OLSHALOM
Human being with feelings
 
Join Date: Sep 2019
Location: Austria
Posts: 443
Default

Quote:
Originally Posted by OakleyRdStudios View Post
How do you guys learn this stuff? It looks like Chinese to me, LOL!
GO FOR IT!!

I'm kind of a newbie too and started 3 months ago.
But since I highly modified the v6-theme's mixer by repositioning nearly all elements but keep the "theme-adjuster-modes" like sidebar- and narrow-mode provided.
What a hack!!

So to learn all the basics of walter, the only way was for me (surely for every one) to check out the mentioned stickies. A Themer's guide is a must read.
Otherwise those statements are really like chinese.

The good part about it, it's doable also for a average-intelligent person like me and you don't have to know how much different signs to read the newspaper?
The math is basic.
"To be, or not to be, that's the question"!


v6-theme importance:

Macros, Macros, Macros!!! Really!!! It's mentioned in "Walter_a themer's guide". https://www.houseofwhitetie.com/reap...mers_guide.pdf

Most of its complexity is related to the Theme-Adjuster-Script, which is a new great way to have access to the rtconfig.
Modes/functions like sidebar, narrow-mode are baked into one layout instead of having different layouts for each.
As well to mention the 3 different sizes and 3 different layouts with all it's different variations multiplied makes how much different layouts?

It's simply brilliant and the credit goes to:

BABAHHHH, White Tie.
OLSHALOM is offline   Reply With Quote
Old 04-06-2021, 02:38 PM   #15
OLSHALOM
Human being with feelings
 
Join Date: Sep 2019
Location: Austria
Posts: 443
Default

Quote:
Originally Posted by White Tie View Post
What theme is that? define_parameter is the way WALTER connects to reaper scripts, and that's only been a thing since v6. It is indeed still missing from the SDK still, I'll mention it.

From the stickies : Adjusting themes using scripting : HERE

Adding theme adjuster functionality to a theme without doing any scripting : HERE.
OH shit, I did'nt read this, overlapping time, sorry....
OLSHALOM is offline   Reply With Quote
Old 04-06-2021, 08:45 PM   #16
OakleyRdStudios
Human being with feelings
 
Join Date: Jun 2017
Posts: 226
Default

I can't even work out how to open the basic theme adjuster.
OakleyRdStudios is offline   Reply With Quote
Old 04-06-2021, 10:59 PM   #17
OakleyRdStudios
Human being with feelings
 
Join Date: Jun 2017
Posts: 226
Default

I think where the big misunderstanding has come from is the fact that it's not explicity clear, from the outset, that Reaper theming involves much more than just WALTER. A complete newcomer looks at themes, sees the line "---Here Be Walter---" in the RTConfig of an especially complex theme, and thinks that everything he's looking upon is WALTER. And clearly, it's not, because there is all sorts of technical sorcery going on in there that he's never seen before, or that's included in the theming guide (which deals specifically with WALTER). And then he wonders why the WALTER theming guide seems incomplete. Despite White Tie himself doing a very, very good job in that department.

Well, correct me if I'm wrong - but appreciate that, to the uninitiated, just trying to work out what's WALTER and what's not WALTER is a puzzle in itself, before one even begins...

If I'm right - then the framework, or should I say the landscape of Reaper theming needs explaining from the outset. Just so people know what they're getting into.

I appreciate all that's been done to make Reaper theming accessible to the newb - but don't be surprised if, from the outside, people will view it as a 'dark art'.

I'm not having a go at anyone (please don't get that impression). I definitely appreciate all that's been done to make RT accessible. But when you understand something to the point it becomes second nature, it's natural to assume that what you can comprehend, is also comprehensible to others. I have this problem myself in construction, when I come across people who struggle to put up a shelf. I have to stop and try to imagine what it's like for someone who's never held a screwdriver in their hand before.

I hope this comes across okay, without causing any offence.

Last edited by OakleyRdStudios; 04-06-2021 at 11:11 PM.
OakleyRdStudios is offline   Reply With Quote
Old 04-06-2021, 11:43 PM   #18
OLSHALOM
Human being with feelings
 
Join Date: Sep 2019
Location: Austria
Posts: 443
Default

Quote:
Originally Posted by OakleyRdStudios View Post
I can't even work out how to open the basic theme adjuster.
https://youtu.be/3kG6-8U0wJ4
OLSHALOM is offline   Reply With Quote
Old 04-07-2021, 12:33 AM   #19
OakleyRdStudios
Human being with feelings
 
Join Date: Jun 2017
Posts: 226
Default

Quote:
Originally Posted by OLSHALOM View Post
In the basic adjusted theme, the theme adjuster is greyed out. I cannot open it.
OakleyRdStudios is offline   Reply With Quote
Old 04-07-2021, 03:20 AM   #20
White Tie
Pixel Pusher
 
White Tie's Avatar
 
Join Date: Mar 2007
Location: Blighty
Posts: 4,951
Default

In that example script and theme its all manual, it doesn't use the menu shortcut. You'll need to run the script like any other script : Actions > Show action list > New Action > Load ReaScript.

Are you sure you're ready to start messing with scripting? From 6.16 you can add them adjustability to any theme without needing to write a script.
__________________
The House of White Tie
White Tie is offline   Reply With Quote
Old 04-07-2021, 03:34 AM   #21
White Tie
Pixel Pusher
 
White Tie's Avatar
 
Join Date: Mar 2007
Location: Blighty
Posts: 4,951
Default

Quote:
Originally Posted by OakleyRdStudios View Post
If I'm right - then the framework, or should I say the landscape of Reaper theming needs explaining from the outset. Just so people know what they're getting into.
Read the three numbered stickies on this forum, in order, that is where the landscape of theming is explained. It explains there what is and isn't WALTER.

As I keep saying, to everyone, over and over, don't try to start theming my digging into existing themes. This is what always happens; people get overwhelmed by the complexity of something that isn't actually that complex. Reaper theming has not been developed to be easy, it has been developed bit by bit to add additional layers of optional functionality, and 100% of everything is made public and available to everyone. But if you're starting now there's no getting around the fact you need to catch up on over a decade of piecemeal development.
__________________
The House of White Tie
White Tie is offline   Reply With Quote
Old 04-07-2021, 07:39 AM   #22
OLSHALOM
Human being with feelings
 
Join Date: Sep 2019
Location: Austria
Posts: 443
Default

Quote:
Originally Posted by OakleyRdStudios View Post
In the basic adjusted theme, the theme adjuster is greyed out. I cannot open it.
Oh, i was thinking you mean the main regular "Theme Adjuster".
My posts are refering to the one Kenny talks in Video...

The "Basic Theme Adjuster" is an other DEMO-Beast.
A few guys are already implementing custom script-commands in their themes,
but not many.

As White Tie said, that comes later, for me too :/ ...
OLSHALOM is offline   Reply With Quote
Old 04-07-2021, 03:00 PM   #23
Gianfini
Human being with feelings
 
Join Date: Jan 2015
Posts: 794
Default

Quote:
Originally Posted by White Tie View Post
What theme is that? define_parameter is the way WALTER connects to reaper scripts, and that's only been a thing since v6. It is indeed still missing from the SDK still, I'll mention it.

From the stickies : Adjusting themes using scripting : HERE

Adding theme adjuster functionality to a theme without doing any scripting : HERE.
the theme is MyTaste (you find it around here). Anyway now it's clear. If I may suggest, a good way to tech newbies about Waltering would be to make examples, just take a "modern v6" theme and try to dissect it and explain the main parts.
A huge effort I know... I'm not really expecting it but it would make the difference

thanks again!
g
Gianfini is offline   Reply With Quote
Old 04-07-2021, 03:38 PM   #24
White Tie
Pixel Pusher
 
White Tie's Avatar
 
Join Date: Mar 2007
Location: Blighty
Posts: 4,951
Default

Quote:
Originally Posted by Gianfini View Post
the theme is MyTaste (you find it around here).
Isn't that a reskin of the Default 6 theme? If so, I would urge you to not go messing about with its more complicated bits like the way it interacts with the theme adjuster script. That's unlikely to be any fun at all.
__________________
The House of White Tie
White Tie is offline   Reply With Quote
Old 04-09-2021, 05:31 AM   #25
OakleyRdStudios
Human being with feelings
 
Join Date: Jun 2017
Posts: 226
Default

Quote:
Originally Posted by White Tie View Post
Read the three numbered stickies on this forum, in order, that is where the landscape of theming is explained. It explains there what is and isn't WALTER.

As I keep saying, to everyone, over and over, don't try to start theming my digging into existing themes. This is what always happens; people get overwhelmed by the complexity of something that isn't actually that complex. Reaper theming has not been developed to be easy, it has been developed bit by bit to add additional layers of optional functionality, and 100% of everything is made public and available to everyone. But if you're starting now there's no getting around the fact you need to catch up on over a decade of piecemeal development.
WALTER should carry a government health warning. It's addictive.
And you should get a Nobel prize - saved me banging my head against the brick wall.
OakleyRdStudios is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 07:18 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.