Alright, no worries, take your time and don't neglect "real life" as the skin is no urgency. Yes, the path you took is exactly right, well done!Yes, I'm still very interested in this. I've been a bit busy lately since I'm still attending college. I actually thought about it and tried to program this, but I've had trouble using RegExp to get the timestamp in the [MeasureGetSyncedLyrics]. I used RegExp="(\[\d{1,2}:\d{2}(?:\.\d{1,2})?\])", but it's only retrieving one timestamp. My plan was to retrieve all the timestamps and put them in a .txt file that updates and changes every time the song changes.
Huge thanks for the references you gave me; I understood the logic with IfMatchActions. I'm planning to use the .txt file with all the timestamps and match it with [MeasurePosition], changing the Y value to scroll the lyrics.
I've realized a significant flaw in this method: it's not connected with [MeasureProgress]. This means that if this method works and I try skipping to a specific timestamp in the song, the lyrics won't sync with the song. But that will be a problem for another day.
I went with the RegExp Substitute / IfMatch method, as I'm not really familiar with or have any experience in programming in Lua. I really appreciate all the help I'm receiving on this one.

In the end, Lua won't be necessary and the whole thing really isn't that hard to achieve (you could indeed do everything with regexes). You can (RegExp) Substitute the needed line parts with "+1" in some String measure duplicates of the lyrics measure, followed by using Calc measures with the said String measures in their Formula options, to compute how many lines the lyrics has in total and how many lines there are until the currently played line. Then, you could scroll and change the Y of the lyrics meter based on the currently played line. This is because you can find the line height by dividing the lyrics text meter's height (i.e. [MeterLyrics:H]) by the number of total lines in the lyrics and you can modify the Y by adding or subtracting a product of line height and the number of lines until the currently played line.
Also, you don't need all the timestamps in this approach - for both scrolling like above and highlighting the currently played line, you only need to find where the currently played line is in the lyrics string. For example, I already do karaoke highlighting in the sample skin I wrote, by using inline settings in a meter similar to this (I left only the relevant parts for clarity and used the names from the skin you linked to, to better get the idea; by the way, I only used the character variable for [ because using the literal seems to cause problems when used from a !SetOption bang since it's right near the [section] markers):
Code:
[MeterLyrics]...Meter=String...X=...Y=...W=...InlineSetting=Color | 255,0,0,255InlinePattern=(?siU)\[\x005B][MeasurePosition].*\RMeasureName=MeasureGetSyncedLyricsText=%1DynamicVariables=1
Statistics: Posted by Yincognito — Today, 6:57 pm