Getting Started with Modding Synthesia

Collaborate with other modders to make Synthesia the way you want it.
Always the latest versions: [ colors.xml | ui.xml ]
Read the Getting Started topic to learn how important it is to MERGE YOUR CHANGES every time you download a new dev preview.
Nicholas
Posts: 13170

Post by Nicholas »

Starting with the r1957 preview of the 8.4 release, official support has been added for color themes and unofficial support for manipulating the UI directly. The following is a quick guide on how to get started.

Synthesia contains two new files: ui.xml and colors.xml which contain all of the editable portions of the user interface and color themes, respectively. Though, to make it a little easier on you guys, Synthesia will check its data directory for a ui.xml and colors.xml file first before going to the built-in copies.

Navigating to the Synthesia Data Directory
Windows: Open a "Run..." dialog and type "shell:appdata\Synthesia".
Mac: Navigate to ~/Library/Application Support/Synthesia

Alternatively (for both), click the "Open Data Directory" button in the advanced section of the Synthesia Configuration tool.

Custom data files
Now that you're looking at the folder, download colors.xml and drop it in there. (If you're interested in riskier, unsupported UI modding, download ui.xml too.)

These files are updated automatically whenever a new preview is released. You must integrate the changes included with each preview in order to avoid errors (missing colors, renamed/new user interface). You may be interested in using a nice differencing tool to help merge changes.

Reloading in Real-Time
It would be inconvenient to have to fully restart Synthesia whenever you make a change to either file, so there are a pair of special entries near the bottom of the Shortcuts section of the Settings screen that are only show up in the list in development previews. Map the "Reload UI Description" and "UI Resize Test" entries to something.

Now, pressing the Reload button will re-read both files while Synthesia is running. (You'll be notified of any parsing/reading errors immediately.) But, the changes won't take effect until the next screen is loaded. Loads happen when entering a screen for the first time. (Returning to a screen after dismissing a popup or similar situation doesn't cause a reload.) Still, it's usually enough to back up one screen and re-enter it to see your changes.

The Resize shortcut can be used to test anchoring and alignment mods in ui.xml. You can hold the shortcut down to let your keyboard repeat rate do the work of appearing like a smooth resize. The minimum allowed resize is 1024x600.

Go Mod Something!
Maybe add some color themes? Or venture into the wild west of messing around with the UI.

And eventually, stop by the wishlist and tell me what you'd like to see.
kiwi
Synthesia Donor
Posts: 1180

Post by kiwi »

Good! i 'll submit skins when finished thx Nicholas for this long awaited feature!
kiwi
Synthesia Donor
Posts: 1180

Post by kiwi »

Hi,
ok i have finally found the time for to play with the colors .
The only prob is that i can't find how to change the color of buttons at the top of the playscreen when notes falling u know "back" etc.
for now i work on a simple grey with contrast beetween blue and dark one so not too dark not too light :)
If i can achieve a good result maybe u 'll incorporate because we have light and dark theme but no beetween them.

Another question i have already asked but can i have a flat style on the buttons or other stuff ?(need to deal with the ui.xml?)
Nicholas
Posts: 13170

Post by Nicholas »

Are you looking for the "buttonSunken" and "buttonSunkenHover" colors?

Otherwise flat buttons will have to wait until there is support for loading external images or modding (the unsupported) ui.xml. Really though, it might be as easy as including:

Code: Select all

 backgroundOverlay1="" backgroundOverlay2="" 
inside a few choice <ui> elements like the "button" element at the top. For elements that already have those two included, just erase the contents of those two attributes. The "backgroundOverlayX" attributes add extra images (to produce the effect of a 3D frame ;) ) on top of buttons and windows.
User avatar
PianoVideosJustForU
Posts: 52

Post by PianoVideosJustForU »

How do I download the colors.xml?
It shows me the "tree" it calls it.
PianoVideosJustForU
kiwi
Synthesia Donor
Posts: 1180

Post by kiwi »

PianoVideosJustForU wrote:How do I download the colors.xml?
It shows me the "tree" it calls it.
right click ==>download as...

or u can download mines here:
viewtopic.php?f=16&t=5224

or use the one provided with synthesia i think
Hatchet
Posts: 5

Post by Hatchet »

Hi everyone!
I've just downloaded Synthesia for my little niece. Game is amazing, but I have one big problem - she only speaks Russian and Synthesia doesn't support it.
That is why I'm here. I've taken quick look through the ui.xml and it seems that I can localize it by myself, replacing text in that file.
Am I right? Will it work?
Nicholas
Posts: 13170

Post by Nicholas »

ui.xml doesn't have all the text in the game, though it would be a good start. A quick guess makes me want to say it's only around 40% of the text.

Proper internationalization support is something that I've wanted to do since almost the beginning of the project and something that I've put a really high priority on to accomplish before the end of the year.

To start, I was hoping to target the typical "EFIGS" set of languages (English, French, Italian, German, Spanish), but once all the text has been pulled out into a single place, it will be easy to expand support to any number of languages. Russian and Chinese were the next two on my list after that.
User avatar
Laserbeak43
Posts: 102

Post by Laserbeak43 »

anyway to make the sheet music fullscreen and the keyboard/falling notes invisible? :mrgreen:
Nicholas
Posts: 13170

Post by Nicholas »

You can press F5 to make the falling notes invisible.

Otherwise, full-screen sheet is coming in Synthesia 11.
User avatar
birdbrain
Posts: 23

Post by birdbrain »

Did Sheet Music scrolling notes become unavailable in this latest version? I cannot find the toggle button or setting to switch it from page turning...
Thanks for the guidance and the awsome program.

Love Nick
since 11-10-10
Nicholas
Posts: 13170

Post by Nicholas »

Scrolling sheet was removed in Synthesia 0.8.2, back in November-2011.

There were already some "imaginary" time gaps that didn't work well with scrolling, like the pixels between each bar-line and the first beat of each measure. But when 0.8.2 added support for time signatures and key signatures, there were even more imaginary gaps that the scrolling had to "jump" past. Between that and the inconsistent scrolling speed that had to change each measure, it had become clear that scrolling the sheet itself was kind of a disservice to the user.

I never like removing features, but that one had to go. If you're looking for smooth-scrolling today, falling notes are the right answer. If you're looking for sheet music, the way it's presented today is how everyone is used to reading it. And it moves toward Synthesia 11 where sheet music is going to get another huge upgrade: full-screen, multi-line sheet music. Drawing that wouldn't make any sense with scrolling sheet, either.
User avatar
birdbrain
Posts: 23

Post by birdbrain »

Alright! Thanks. Looking forward to more sheet music upgrades.
My only preference with the scrolling, is I could pretty much look down (at my clumsy fingers) and up to the sheet again, and know to look right in the middle of the notation to find where I was.
I just realized, that where I need to look is highlighted fairly obviously. Ehem...
Thanks :oops:
monkel
Posts: 199

Post by monkel »

Nicholas - have you experimented with ways to display sheet music in a way that at least the next measure is always on screen? One points my teacher stresses is training to read ahead and while I can "read ahead" with the falling bars, there's no such option in the sheet music right now. Once I've reached the end I have to wait for the page turn to read on. Perhaps the page turn could start earlier at the left side?
Nicholas
Posts: 13170

Post by Nicholas »

The current page-flip animation (in the official 10.3 release; not in the 11 preview where it has been temporarily removed) should ensure that the next measure is always visible. Are you using the dev preview or the official release?
monkel
Posts: 199

Post by monkel »

I have 10.3, but I'm actively using prev. 11.0.4246 because with windows I finally can.

I will wait for the official 11 then ..
Last edited by monkel on 06-12-17 2:55 am, edited 1 time in total.
monkel
Posts: 199

Post by monkel »

I guess I only noticed what I needed when it was gone, not realising it was there before ...
Nicholas
Posts: 13170

Post by Nicholas »

The page flip effect is coming back in the very next preview. The changes in the most recent preview broke it... but the effect is about to undergo major work when multi-line sheet music is added in the next one. So, instead of spending effort fixing it just to replace it, I decided to leave it out for one preview.

Sorry for the inconvenience!
monkel
Posts: 199

Post by monkel »

Ok - even better then. Thanks!
Post Reply