It is currently March 29th, 2024, 2:07 am

Small Idea About Clicking Through Lines Of Quote PlugIn Txt File. [solved with not quote but webparser]

Get help with creating, editing & fixing problems with skins
User avatar
eclectic-tech
Rainmeter Sage
Posts: 5384
Joined: April 12th, 2012, 9:40 pm
Location: Cedar Point, Ohio, USA

Re: Small Idea About Clicking Through Lines Of Quote PlugIn Txt File.

Post by eclectic-tech »

"Not working how?" It works, so I would check:
Did you add the #Get# variable to the [Variables] section?

Check the log for the value of [MeasurePath] make sure the "Tracks.txt" file is located in that folder?
CodeCode wrote:The show a different line of text in an single any text meter?
The StringIndex values returned can all be in a single text meter or each in separate meters; what you do with the values is up to you.

Maybe a better description of what you want to be able to do with the tracks.txt would help us.
User avatar
CodeCode
Posts: 1363
Joined: September 7th, 2020, 2:24 pm
Location: QLD, Australia

Re: Small Idea About Clicking Through Lines Of Quote PlugIn Txt File.

Post by CodeCode »

Hello, Thanks for looking at this with me.

I am still getting nothing.
Capture.PNG
Here is the rmskin. I can post it feeling sort of happy with not too much track in the code for this.
Track List Maker_x.rmskin
Thanks Again. What I am trying to do is to label tracks in multi hour continuous MP# files. By Clicking on Button five is supposed to get the next track in the file. Ideally it would go continuously, but that might be too much since every MP3 is different,

The tracks.txt is user edited.

:great:
You do not have the required permissions to view the files attached to this post.
ƈǟռ'ȶ ʄɨӼ ɨȶ ɨʄ ɨȶ ǟɨռ'ȶ ɮʀօӄɛ - ʊռʟɛֆֆ ɨȶ ɨֆ ɨռ ƈօɖɛ.
User avatar
ikarus1969
Posts: 571
Joined: February 28th, 2011, 3:20 pm
Location: Vienna, Austria

Re: Small Idea About Clicking Through Lines Of Quote PlugIn Txt File.

Post by ikarus1969 »

Technically i'm not able to help, but i tried to understand what the op want to achieve. My understanding is the following:

There's 1 single mp3. It's big, let's say it lasts 1 hour.
It contains several tracks in a continous recording.
The file tracks.txt contains information when a track starts within the big mp3 file.
Example of tracks.txt:

Code: Select all

0:00 Inauguration
10:35 Oui
29:33 Est-ce Que L'amour Fait Mal
48:24 Give Space A Trance, Chance I
57:53 Give Space A Trance, Chance II
1:02:20 Give Space A Trance, Chance III
so the mp3 starts with a track called "Inauguration" which lasts 10:34 and after that, at 10:35, the second track "Oui" starts. And so on. All the tracks are in the big mp3.
There should be a number of buttons (text meters) with the names of the tracks ("Inauguration", "Oui", ...) which, when clicked make the player jumping to the starting time of the track and play it, right?
So when clicking on the button "Oui", the player should jump to minute 1o:35 within the mp3 and play the track (and ideally stops when the next track starts or the mp3-file is at its end).

So far so right?
User avatar
CodeCode
Posts: 1363
Joined: September 7th, 2020, 2:24 pm
Location: QLD, Australia

Re: Small Idea About Clicking Through Lines Of Quote PlugIn Txt File.

Post by CodeCode »

Sorry Icarus, That is way too heave for this idea. But I saw where you were heading - how do I manage that 1 hour mp3? That is not the case, though. The idea a really going to be user preferences (my own for now), so the time will show in the line of text in the .txt file (also my preference).

I am trying to create a tracklist that runs within my media player, not to control it, but to change the track name when being played, my media player would look like I have each track cur apart my the likes of my armature sound editing (even though I have tried sometimes the subjects of me fandom jokingly make the track completely wrong and manually changing tracks is simply an aesthetic manipulation idea.

I added a ne button on the lowere left that controls when the tyext file should do another read and show the text when 'normal' tracks go.

Using webparser is definitely a tool I am looking at, as well as NowPlaying plugin and fileview plugin to get the names then the parser can do its thing and allow the text to be incremented - whereby the quote plugin is designed to be random - I would really be nice to have the quote plugin be random if someone likes it that way. (Using the quote plugin got me close but the devs usually assess if a featurwe is updated or not. Just the same parser can do it, I just am stumbling around trying things untilo the work or definitelt will not work.
:thumbup:
ƈǟռ'ȶ ʄɨӼ ɨȶ ɨʄ ɨȶ ǟɨռ'ȶ ɮʀօӄɛ - ʊռʟɛֆֆ ɨȶ ɨֆ ɨռ ƈօɖɛ.
User avatar
eclectic-tech
Rainmeter Sage
Posts: 5384
Joined: April 12th, 2012, 9:40 pm
Location: Cedar Point, Ohio, USA

Re: Small Idea About Clicking Through Lines Of Quote PlugIn Txt File.

Post by eclectic-tech »

CodeCode wrote: March 2nd, 2023, 8:55 am Sorry Icarus, That is way too heave for this idea. But I saw where you were heading - how do I manage that 1 hour mp3? That is not the case, though. The idea a really going to be user preferences (my own for now), so the time will show in the line of text in the .txt file (also my preference).

I am trying to create a tracklist that runs within my media player, not to control it, but to change the track name when being played, my media player would look like I have each track cur apart my the likes of my armature sound editing (even though I have tried sometimes the subjects of me fandom jokingly make the track completely wrong and manually changing tracks is simply an aesthetic manipulation idea.

I added a ne button on the lowere left that controls when the tyext file should do another read and show the text when 'normal' tracks go.

Using webparser is definitely a tool I am looking at, as well as NowPlaying plugin and fileview plugin to get the names then the parser can do its thing and allow the text to be incremented - whereby the quote plugin is designed to be random - I would really be nice to have the quote plugin be random if someone likes it that way. (Using the quote plugin got me close but the devs usually assess if a featurwe is updated or not. Just the same parser can do it, I just am stumbling around trying things untilo the work or definitelt will not work.
:thumbup:
Okay, that helps me understand what your goal is... Ikarus1969 has a good idea too! That may be possible to do, if you are interested.

Still not sure why you cannot get the webparser to read your file; it has to be the path to the file is not right.
EDIT: I see you are showing the 'path' to the file, but make sure the URL=... is to the 'path' and filename; URL="file://[MeasurePath]\Tracks.txt"

To display the current track info, you will need to use an IfMatch test on the current position and change the display string to reference the matching webparser chiild measure.

If I have time later today, I will look into that coding.
User avatar
CodeCode
Posts: 1363
Joined: September 7th, 2020, 2:24 pm
Location: QLD, Australia

Re: Small Idea About Clicking Through Lines Of Quote PlugIn Txt File.

Post by CodeCode »

eclectic-tech wrote: February 27th, 2023, 6:50 pm To get the info from Webparser, something like this should work.

Code: Select all

[Variables]
Get=(?(?=.*\r)(.*)\r)
[quote/]

[code]
[MeasureTitle]
Measure=NowPlaying
PlayerName=CAD
PlayerType=Title

[MeasurePath]
Measure=NowPlaying
Playername=[MeasureTitle]
PlayerType=File
RegExpSubstitute=1
Substitute="^(.*)\\.*$":"\1"
DynamicVariables=1

I have a few questions for ET:
Why are 3 backslashes after the URL=File///… >-here i tried-< using the NowPlaying this section variable from NowPlaying - that cross measure usage - until ET said a string is a string did not populate the parser child measures. Like this; (no love)
ƈǟռ'ȶ ʄɨӼ ɨȶ ɨʄ ɨȶ ǟɨռ'ȶ ɮʀօӄɛ - ʊռʟɛֆֆ ɨȶ ɨֆ ɨռ ƈօɖɛ.
User avatar
eclectic-tech
Rainmeter Sage
Posts: 5384
Joined: April 12th, 2012, 9:40 pm
Location: Cedar Point, Ohio, USA

Re: Small Idea About Clicking Through Lines Of Quote PlugIn Txt File.

Post by eclectic-tech »

Ugh! Typo! Sorry, it should just be URL=file://{Path_&_FileName}

My concern about the URL= is that it needs to point to a FILE and you are removing the filename with your RegExp Substitution in [MeasurePath]. To test I would put the 'Tracks.txt' in the same folder as your skin; this should avoid any issues being able to parse the file.

I am having issues with IfMatch attempts to match only the StringIndexes time values; perhaps one of the members with a better handle on RegExp can help.

Until then, I will continue with my trial-and-error approach.

Sorry again for the typo...
User avatar
eclectic-tech
Rainmeter Sage
Posts: 5384
Joined: April 12th, 2012, 9:40 pm
Location: Cedar Point, Ohio, USA

Re: Small Idea About Clicking Through Lines Of Quote PlugIn Txt File.

Post by eclectic-tech »

From your description, the following code will use Webparser to read the 'Tracks.txt' file, count the number of track entries, and change to the next track when [ButtonTracksF] is left-clicked.
getit2.gif
I modified the #Get# variable to Get=(?(?=.*\n)(.*)\n) this makes for cleaner captures.

I added 2 new variables: TrackCount: to count the number of tracks and TrackNumber: control which track is displayed.
TrackCount is set by the action of the webparser child measures; it is increased by 1 if the child measure is not empty ^$.

My 'Tracks.txt' is in the current skin folder and is modified to show 4 tracks at 10 second intervals for my testing
To test your 'Tracks.txt', try copying it to your same skin folder.

Side Note: I added the ability to monitor the track position and change the display when a new internal track is playing; I commented out those sections for now because you did not request this feature suggested by Ikarus1969... yet. That feature is currently limited to minutes and seconds due to my limited RegExp skills.

Here is your code for Track Getter\Player Wizard\Master Music and Sound.ini with these changes:

Code: Select all

[Rainmeter]
Update=900
Group=WizThing

[Metadata]
Author=Code Sapient, Support and code help; balala, Jsmorley, SilverAzide, eclectictech

[Variables]
@Include=#@#RoundVariables.inc
; @Include2=#@#Controls.inc
; @include3=#@#Preferences.inc
; @include4=#@#Player.inc
@include5=#@#variables.inc

VolumeStep=1

; Added by E.T. for testing
Player=winamp
; This RegExp works better use '\n' (new line) rather than '\r' (carriage return)
Get=(?(?=.*\n)(.*)\n)
; This controls which track is displayed 
TrackNumber=1
; This is set by the WebParser children if they do not have an 'empty' stringindex it adds 1
TrackCount=0

;============================Borders============================

[MeterShowOut]
Meter=Shape
Shape=Rectangle 25,25,322,322,161 | Fill Color 5,5,5,255 | StrokeWidth 4 | Stroke Color #MainColor#
Hidden=0

[MeterShowBox]
Meter=Shape
Shape=Rectangle 77,66,220,239,18 | Fill Color 0,0,0,0 | StrokeWidth 1 | Stroke Color #MainInColor#
Hidden=0

[MeterUpLeft]
Meter=Image
ImageName=#@#Border.png
ImageTint=#MainColor#
X=33
Y=23
W=130
H=130
AntiAlias=1

[TopScroll]
Meter=Image
ImageName=#@#ChapterC.png
ImageTint=#MainColor#
X=86
Y=75
W=200
H=30
AntiAlias=1

[LowerScroll]
Meter=Image
ImageName=#@#ChapterC.png
ImageFlip=Vertical
ImageTint=#MainColor#
X=r
Y=264
W=200
H=30
AntiAlias=1

[MeterUpRight]
Meter=Image
ImageFlip=Horizontal
ImageName=#@#Border.png
ImageTint=#MainColor#
X=211
Y=23
W=130
H=130
AntiAlias=1

[MeterLowLeft]
Meter=Image
ImageFlip=Vertical
ImageName=#@#Border.png
ImageTint=#MainColor#
X=33
Y=219
W=130
H=130
AntiAlias=1

[MeterLowRight]
Meter=Image
ImageFlip=Both
ImageName=#@#Border.png
ImageTint=#MainColor#
X=211
Y=219
W=130
H=130
AntiAlias=1

[MeterShowIn]
Meter=Shape
Shape=Rectangle 81,81,208,208,104 | Fill Color 0,0,0,255 | StrokeWidth 3 | Stroke Color #MainInColor#
Hidden=0

[BackgroundOne]
Meter=Image
ImageName=#@#Ray.png
X=48
Y=48
W=275
H=275
AntiAlias=1
PreserveAspectRatio=1
DynamicVariables=1
MouseOverAction=[!SetOption Rainmeter ContextTitle2 "Open Player Settings"][!SetOption Rainmeter ContextAction2 """["#@#Player.inc"]"""]
Hidden=0

[MeasureTrack]
Measure=NowPlaying
PlayerName=#Player#
PlayerType=Title
DisableLeadingZero=1
Substitute="":"stopped"

[MeasureWinSevenAudio]
Measure=Plugin
Plugin=Win7AudioPlugin

[MeasureFormat]
Measure=Plugin
Plugin=AudioLevel
DynamicVariables=1
Type=Format

;----------------- ONE TRACK THING --

[MeasureTitle]
Measure=NowPlaying
PlayerName=#Player#
PlayerType=Title

[MeasurePath]
Measure=NowPlaying
Playername=[MeasureTitle]
PlayerType=File
RegExpSubstitute=1
Substitute="^(.*)\\.*$":"\1"
DynamicVariables=1

;------------------------ QUOTE ----

[MeasureWebParser]
Measure=WebParser
Flags=ForceReload | NoCookies
UserAgent=Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0
URL="file:///#CurrentPath#Tracks.txt"
RegExp=(?siU)^#Get##Get##Get##Get##Get##Get##Get##Get##Get#
LogSubStringErrors=0
; Documentation: https://docs.rainmeter.net/manual-beta/measures/webparser/
; To have the time position monitored and set the onetrack to the current title, uncomment all of these sections: MeasureTimeChild1, MeasureTimeChild2, MeasureTimeChild3, etc. and mPositionString, along with this Finish Action
; FinishAction=[!UpdateMeasure mPositionString]

[MeasureWebParserChild1]
Measure=WebParser
Url=[MeasureWebParser]
StringIndex=1
IfMatch=^$
IfNotMatchAction=[!SetVariable TrackCount ([#TrackCount]+1)]

; [MeasureTimeChild1]
; Measure=String
; String=[MeasureWebParserChild1]
; RegExpSubstitute=1
; Substitute="\r":"","\n":"","#CRLF#":"","^(\d{1,2}):(\d\d)\D.*$":"\1:\2"
; DynamicVariables=1

[MeasureWebParserChild2]
Measure=WebParser
Url=[MeasureWebParser]
StringIndex=2
IfMatch=^$
IfNotMatchAction=[!SetVariable TrackCount ([#TrackCount]+1)]

; [MeasureTimeChild2]
; Measure=String
; String=[MeasureWebParserChild2]
; RegExpSubstitute=1
; Substitute="\r":"","\n":"","#CRLF#":"","^(\d{1,2}):(\d\d)\D.*$":"\1:\2"
; DynamicVariables=1

[MeasureWebParserChild3]
Measure=WebParser
Url=[MeasureWebParser]
StringIndex=3
IfMatch=^$
IfNotMatchAction=[!SetVariable TrackCount ([#TrackCount]+1)]

; [MeasureTimeChild3]
; Measure=String
; String=[MeasureWebParserChild3]
; RegExpSubstitute=1
; Substitute="\r":"","\n":"","#CRLF#":"","^(\d{1,2}):(\d\d)\D.*$":"\1:\2"
; DynamicVariables=1

[MeasureWebParserChild4]
Measure=WebParser
Url=[MeasureWebParser]
StringIndex=4
IfMatch=^$
IfNotMatchAction=[!SetVariable TrackCount ([#TrackCount]+1)]

; [MeasureTimeChild4]
; Measure=String
; String=[MeasureWebParserChild4]
; RegExpSubstitute=1
; Substitute="\r":"","\n":"","#CRLF#":"","^(\d{1,2}):(\d\d)\D.*$":"\1:\2"
; DynamicVariables=1

;============================Time Measures======================

[mDuration]
Measure=NowPlaying
PlayerName=[MeasureTrack]
PlayerType=DURATION

[mPosition]
Measure=NowPlaying
PlayerName=[MeasureTrack]
PlayerType=POSITION

; [mPositionString]
; Measure=String
; String=[mPosition]
; IfMatch=[MeasureTimeChild1]
; IfMatchAction=[!SetOption "OneTrack" "Text" "[MeasureWebParserChild1]"][!UpdateMeter OneTrack][!Redraw]
; IfMatch2=[MeasureTimeChild2]
; IfMatchAction2=[!SetOption "OneTrack" "Text" "[MeasureWebParserChild2]"][!UpdateMeter OneTrack][!Redraw]
; IfMatch3=[MeasureTimeChild3]
; IfMatchAction3=[!SetOption "OneTrack" "Text" "[MeasureWebParserChild3]"][!UpdateMeter OneTrack][!Redraw]
; IfMatch4=[MeasureTimeChild4]
; IfMatchAction4=[!SetOption "OneTrack" "Text" "[MeasureWebParserChild4]"][!UpdateMeter OneTrack][!Redraw]
; DynamicVariables=1

[mMinReMainBorderColoring]
Measure=Calc
Formula=trunc((mDuration - mPosition)/60)
RegExpSubstitute=1
DynamicVariables=1
;Substitute="^(.)$":"0\1"

[mSecReMainBorderColoring]
Measure=Calc
Formula=((mDuration - mPosition) % 60)
RegExpSubstitute=1
Substitute="^(.)$":"0\1"
DynamicVariables=1

[mYear]
Measure=NowPlaying
PlayerName=[MeasureTrack]
PlayerType=Year
Substitute="^0$":""
RegExpSubstitute=1

;============================Text Strings=======================

[MeterText]
Meter=STRING
Fontsize=17
FontFace=#BigDriveNameFont#
FontColor=#BigDriveAltColor#
StringAlign=CenterCenter
X=184
Y=137
ClipString=1
StringCase=None
StringEffect=Border
FontEffectColor=0,0,0,255
Text=Audio Wizard
SolidColor=0,0,0,1
Antialias=1
DynamicVariables=1
Hidden=1
Group=ModeB

;====================Middle Shape===============================

[MeterShapeMiddle]
Meter=Shape
Shape=Rectangle 88,167,192,20,5 | Fill Color 0,0,0,1 | StrokeWidth 2 | Stroke Color #MainColor#
Y=10
Group=ModeB
Hidden=1
DynamicVariables=1

[MeterBoxText]
Meter=STRING
MeasureName=MeasureFormat
FontFace=#WizardTextFont#
FontColor=#BigDriveAltColor#
FontSize=#WizardTextSize#
StringAlign=CenterCenter
X=185
Y=188
ClipString=1
StringCase=None
Text=%1
Antialias=1
Hidden=1
Group=ModeB

[MeterButtonHover]
Meter=STRING
FontFace=#WizardTextFont#
FontColor=#MainColor#
FontSize=#WizardTextSize#
StringAlign=CenterCenter
X=185
Y=211
ClipString=1
StringCase=None
Text=
Antialias=1
Hidden=1
Group=ModeB

[MeterBottomText]
Meter=String
MeasureName=MeasureWinSevenAudio
X=185
Y=246
FontFace=#Font#
FontSize=#WizardTextSize#
FontColor=#MainColor#
StringAlign=CenterCenter
AntiAlias=1
AutoScale=1
Text=Output:#CRLF#%1
DynamicVariables=1
Hidden=1
Group=ModeB

[MeterConfig]
Meter=STRING
FontFace=#Font#
FontColor=210,170,90,255
FontSize=#WizardTextSize#
StringEffect=Border
FontEffectColor=0,0,0,200
StringAlign=CenterCenter
X=220
Y=135
ClipString=1
MouseOverAction=
Text=CAD
Antialias=1
DynamicVariables=1
Hidden=1
Group=ModeB

[mYearText]
Meter=String
MeasureName=mYear
X=189
Y=120
StringAlign=CenterCenter 
FontColor=#MainColor#
AntiAlias=1
FontSize=16
Text="%1"
DynamicVariables=1
Hidden=0
Group=ModeA

[MeterTextPlayer]
Meter=STRING
Fontsize=17
FontFace=#BigDriveNameFont#
FontColor=#BigDriveAltColor#
StringAlign=CenterCenter
X=184
Y=145
ClipString=1
StringCase=None
StringEffect=Border
FontEffectColor=0,0,0,255
Text=Player
Antialias=1
DynamicVariables=1
Hidden=0
Group=ModeA

[MeterTrack]
Meter=String
MeasureName=MeasureArtist
Text=%1
W=165
H=75
X=105
Y=160
StringAlign=Left
ClipString=2
FontColor=#TotalbColor#
FontSize=11
Antialias=1
DynamicVariables=1
Group=ModeA
Hidden=0

[MeterTrack2]
Meter=String
MeasureName=MeasureTrack
; Text=%1
W=165
H=75
X=105
Y=18r
StringAlign=Left
ClipString=2
FontColor=#TotalbColor#
FontSize=11
Antialias=1
DynamicVariables=1
Group=ModeA
Hidden=0

[OneTrack]
Meter=String
; MeasureName=
Text=[MeasureWebParserChild1]
W=165
H=75
X=105
Y=196
StringAlign=Left
ClipString=1
FontColor=#CustomColor#
FontSize=11
Antialias=1
DynamicVariables=1
Group=ModeA
Hidden=0

[mTimeD]
;Meter=String
MeasureName=mPosition
MeasureName2=mMinReMainBorderColoring
MeasureName3=mSecReMainBorderColoring
X=185
Y=240
StringAlign=CenterCenter 
FontColor=#MainColor#
AntiAlias=1
FontSize=15
;Text="%1/%2:%3"
DynamicVariables=1
Group=ModeA
Hidden=1

[mTimeB]
Meter=String
MeasureName=mPosition
MeasureName2=mDuration
X=185
Y=240
StringAlign=CenterCenter 
FontColor=#MainColor#
AntiAlias=1
FontSize=15
Text="%1/%2"
DynamicVariables=1
Group=ModeA
Hidden=0

[ButtonFunctionText]
Meter=String
X=185
Y=261
StringAlign=CenterCenter
FontColor=#TotalbColor#
AntiAlias=1
FontSize=12
DynamicVariables=1
Group=ModeA
Hidden=0
Text=

;============================Now Playing========================

[MeasureArtist]
Measure=NowPlaying
PlayerName=[MeasureTrack]
PlayerType=Artist
Substitute="":"none"

[MeasureTime]
Measure=NowPlaying
PlayerName=[MeasureTrack]
PlayerType=Position

[MeasureState]
Measure=NowPlaying
PlayerName=[MeasureTrack]
PlayerType=State
Substitute="0":"Play","1":"Pause","2":"Play"

;============================Progress Bar=======================

[MeasureBar]
Measure=NowPlaying
PlayerName=[MeasureTrack]
PlayerType=Progress
MinValue=-.5
MaxValue=100

[MeasureBarb]
Measure=NowPlaying
PlayerName=[MeasureTrack]
InvertMeasure=1
PlayerType=Progress
MinValue=-.5
MaxValue=100

[MeterProgress]
Meter=RoundLine
MeasureName=MeasureBar
W=370
H=370
LineColor=#MainFontColor#
LineLength=94
LineStart=100
StartAngle=-1.5458897
RotationAngle=6.188
Solid=1
Antialias=1

[MeterProgressb]
Meter=RoundLine
MeasureName=MeasureBarb
W=370
H=370
StartAngle=4.694
RotationAngle=-6.188
LineColor=#TotalbColor#
LineLength=97
LineStart=100
Solid=1
Antialias=1

;============================Buttons============================

[MeterNextG]
Meter=Shape
Shape=Rectangle 287,184,34,34,17 | StrokeWidth 0 | Fill LinearGradient MyGradient1
MyGradient1=270 | 255,240,207,255 ; 0,0 | 240,210,85,255 ; 0.05 | 60,60,60,255 ; 0.25 | 255,240,207,255 ; 0.75 | 60,60,60,255 ; 0.9 | 215,190,90,255 ; 0.99
DynamicVariables=1
Antialias=1
Group=ModeA
Hidden=0

[MeterNext]
Meter=Shape
Shape=Rectangle 290,187,28,28,14 | StrokeWidth 0 | Fill Color 10,10,10,255
Antialias=1
MouseOverAction=[!SetOption "MeterNextOver" "Hidden" "0"][!SetOption "ButtonFunctionText" "Text" "Next"][!Update]
MouseLeaveAction=[!SetOption "MeterNextOver" "Hidden" "1"][!SetOption "ButtonFunctionText" "Text" ""][!Update]
LeftMouseUpAction=[!CommandMeasure "MeasureTrack" "Next"]
DynamicVariables=1
Group=ModeA
Hidden=0

[MeterNextOver]
Meter=Shape
Shape=Rectangle 289,188,28,28,14 | Fill Color 0,0,0,1 | StrokeWidth 1 | Stroke Color 177,133,78,185
Group=buttons
Antialias=1
DynamicVariables=1
Group=
Hidden=1

[MeterPlayPauseG]
Meter=Shape
Shape=Rectangle 269,236,34,34,17 | StrokeWidth 0 | Fill LinearGradient MyGradient1
MyGradient1=270 | 255,240,207,255 ; 0,0 | 240,210,85,255 ; 0.05 | 60,60,60,255 ; 0.25 | 255,240,207,255 ; 0.75 | 60,60,60,255 ; 0.9 | 215,190,90,255 ; 0.99
DynamicVariables=1
Group=ModeA
Hidden=0

[MeterPlayPause]
Meter=Shape
Shape=Rectangle 272,239,28,28,14 | StrokeWidth 0 | Fill Color 10,10,10,255
Antialias=1
LeftMouseUpAction=[!CommandMeasure "MeasureTrack" "PlayPause"][!Update]
MouseOverAction=[!SetOption "MeterPlayPauseHover" "Hidden" "0"][!SetOption "ButtonFunctionText" "Text" "[MeasureState]"][!Update]
MouseLeaveAction=[!SetOption "MeterPlayPauseHover" "Hidden" "1"][!SetOption "ButtonFunctionText" "Text" ""][!Update]
Group=ModeA
Hidden=0
DynamicVariables=1

[MeterPlayPauseHover]
Meter=Shape
Shape=Rectangle 272,239,28,28,14 | Fill Color 0,0,0,1 | StrokeWidth 1 | Stroke Color 177,133,78,185
Antialias=1
Group=
Hidden=1
DynamicVariables=1

[PreviousG]
Meter=Shape
Shape=Rectangle 226,275,34,34,17 | StrokeWidth 0 | Fill LinearGradient MyGradient1
MyGradient1=270 | 255,240,207,255 ; 0,0 | 240,210,85,255 ; 0.05 | 60,60,60,255 ; 0.25 | 255,240,207,255 ; 0.75 | 60,60,60,255 ; 0.9 | 215,190,90,255 ; 0.99
DynamicVariables=1
Group=ModeA
Hidden=0

[MeterPrevious]
Meter=Shape
Shape=Rectangle 229,278,28,28,14 | StrokeWidth 0 | Fill Color 10,10,10,255
Antialias=1
MouseOverAction=[!SetOption "MeterPreviousClick" "Hidden" "0"][!SetOption "ButtonFunctionText" "Text" "Previous"][!Update]
MouseLeaveAction=[!SetOption "MeterPreviousClick" "Hidden" "1"][!SetOption "ButtonFunctionText" "Text" ""][!Update]
RightMouseUpAction=[!CommandMeasure "MeasureTrack" "SetPosition 0"]
LeftMouseUpAction=[!CommandMeasure "MeasureTrack" "Previous"]
DynamicVariables=1
Group=ModeA

[MeterPreviousClick]
Meter=Shape
Shape=Rectangle 229,278,28,28,14 | Fill Color 0,0,0,1 | StrokeWidth 1 | Stroke Color 177,133,78,185
Group=buttons
Hidden=1

[MeasureShuffle]
Measure=NowPlaying
PlayerName=#Player#
PlayerType=Shuffle
Substitute="0":"Shuffle","1":"Continuous"

[MeterShuffleButtonG]
Meter=Shape
Shape=Rectangle 168,289,34,34,17 | StrokeWidth 0 | Fill LinearGradient MyGradient1
MyGradient1=270 | 255,240,207,255 ; 0,0 | 240,210,85,255 ; 0.05 | 60,60,60,255 ; 0.25 | 255,240,207,255 ; 0.75 | 60,60,60,255 ; 0.9 | 215,190,90,255 ; 0.99
DynamicVariables=1
Group=ModeA

[MeterShuffleButton]
Meter=Shape
Shape=Rectangle 171,292,28,28,14 | StrokeWidth 0 | Fill Color 10,10,10,255
MouseOverAction=[!SetOption "MeterShuffleOver" "Hidden" "0"][!SetOption "ButtonFunctionText" "Text" "[MeasureShuffle]"][!Update]
MouseLeaveAction=[!SetOption "MeterShuffleOver" "Hidden" "1"][!SetOption "ButtonFunctionText" "Text" ""][!Update]
LeftMouseUpAction=[!CommandMeasure "MeasureShuffle" "SetShuffle -1"][!Update]
Antialias=1
DynamicVariables=1
Group=ModeA

[MeterShuffleOver]
Meter=Shape
Shape=Rectangle 171,292,28,28,14 | Fill Color 0,0,0,1 | StrokeWidth 1 | Stroke Color 177,133,78,185
DynamicVariables=1
Antialias=1
Hidden=1

[ButtonTracksG]
Meter=Shape
Shape=Rectangle 111,275,34,34,17 | StrokeWidth 0 | Fill LinearGradient MyGradient1
MyGradient1=270 | 255,240,207,255 ; 0,0 | 240,210,85,255 ; 0.05 | 60,60,60,255 ; 0.25 | 255,240,207,255 ; 0.75 | 60,60,60,255 ; 0.9 | 215,190,90,255 ; 0.99
DynamicVariables=1
Group=ModeA
Hidden=0

[ButtonTracksF]
Meter=Shape
Shape=Rectangle 114,278,28,28,14 | StrokeWidth 0 | Fill Color 10,10,10,255
MouseOverAction=[!SetOption "Clicky5" "Hidden" "0"][!SetOption "ButtonFunctionText" "Text" "One Trackers"][!Update]
MouseLeaveAction=[!SetOption "MeterTrack" "Text" "" ][!SetOption "ButtonFunctionText" "Text" ""][!SetOption "MeterText" "Text" ""][!SetOption "Clicky5" "Hidden" "1"][!Update]
; LeftMouseDownAction=[!SetOption "MeterTrack2" "Text" ""][!UnPauseMeasure "MeasureQuote"][!Delay 400][!SetOption "OneTrack" "Text" "[MeasureQuote]"][!Delay 400][!PauseMeasure "MeasureQuote"][!Update]
LeftMouseUpAction=[!SetVariable TrackNumber "(Clamp(#TrackNumber#%#TrackCount#+1,1,4))"][!SetOption "OneTrack" "Text" "[MeasureWebParserChild[#TrackNumber]]"][!Update]
DynamicVariables=1
Hidden=0
Group=ModeA

[ClickyTracks]
Meter=Shape
Shape=Rectangle 114,278,28,28,14 | Fill Color 0,0,0,1 | StrokeWidth 1 | Stroke Color 177,133,78,185
Group=buttons
Hidden=1

;===========================*BUTTONS*=====================================

[Button1G]
Meter=Shape
Shape=Rectangle 287,184,34,34,17 | StrokeWidth 0 | Fill LinearGradient MyGradient1
MyGradient1=270 | 255,240,207,255 ; 0,0 | 240,210,85,255 ; 0.05 | 60,60,60,255 ; 0.25 | 255,240,207,255 ; 0.75 | 60,60,60,255 ; 0.9 | 215,190,90,255 ; 0.99
DynamicVariables=1
Hidden=1
Group=ModeB
Group=buttons

[Button1F]
Meter=Shape
Shape=Rectangle 290,187,28,28,14 | StrokeWidth 0 | Fill Color 10,10,10,255
Antialias=1
MouseOverAction=[!SetOption "MeterButtonHover" "Text" "Sound Devices"][!SetOption "Clicky1" "Hidden" "0"][!Update]
MouseLeaveAction=[!SetOption "MeterButtonHover" "Text" " " ][!SetOption "Clicky1" "Hidden" "1"][!Update]
LeftMouseUpAction=[%windir%\system32\control.exe mmsys.cpl]
RightMouseUpAction=
DynamicVariables=1
Hidden=1
Group=ModeB

[Clicky1]
Meter=Shape
Shape=Rectangle 290,187,28,28,14 | Fill Color 0,0,0,1 | StrokeWidth 1 | Stroke Color 177,133,78,185
Group=buttons
Hidden=1

[Button2G]
Meter=Shape
Shape=Rectangle 269,236,34,34,17 | StrokeWidth 0 | Fill LinearGradient MyGradient1
MyGradient1=270 | 255,240,207,255 ; 0,0 | 240,210,85,255 ; 0.05 | 60,60,60,255 ; 0.25 | 255,240,207,255 ; 0.75 | 60,60,60,255 ; 0.9 | 215,190,90,255 ; 0.99
DynamicVariables=1
Group=ModeB
Hidden=1

[Button2F]
Meter=Shape
Shape=Rectangle 272,239,28,28,14 | StrokeWidth 0 | Fill Color 10,10,10,255
Antialias=1
MouseOverAction=[!SetOption "MeterButtonHover" "Text" "[MeasureState]"][!SetOption "Clicky2" "Hidden" "0"][!Update]
MouseLeaveAction=[!SetOption "MeterButtonHover" "Text" " " ][!SetOption "Clicky2" "Hidden" "1"][!SetOption "ButtonFunctionText" "Text" ""][!Update]
LeftMouseUpAction=[!CommandMeasure "MeasureTrack" "PlayPause"][!Update]
DynamicVariables=1
Group=ModeB
Hidden=1

[Clicky2]
Meter=Shape
Shape=Rectangle 272,239,28,28,14 | Fill Color 0,0,0,1 | StrokeWidth 1 | Stroke Color 177,133,78,185
Group=buttons
Hidden=1

[Button3G]
Meter=Shape
Shape=Rectangle 226,275,34,34,17 | StrokeWidth 0 | Fill LinearGradient MyGradient1
MyGradient1=270 | 255,240,207,255 ; 0,0 | 240,210,85,255 ; 0.05 | 60,60,60,255 ; 0.25 | 255,240,207,255 ; 0.75 | 60,60,60,255 ; 0.9 | 215,190,90,255 ; 0.99
DynamicVariables=1
Group=ModeB
Hidden=1

[Button3F]
Meter=Shape
Shape=Rectangle 229,278,28,28,14 | StrokeWidth 0 | Fill Color 10,10,10,255
Antialias=1
LeftMouseUpAction=[!SetOption "MeterConfig" "Text" "#AltPlayer#"][!Update]
MouseOverAction=[!SetOption "Clicky3" "Hidden" "0"][!SetOption "MeterButtonHover" "Text" "Alternate Player"][!Update]
MouseLeaveAction=[!SetOption "MeterButtonHover" "Text" " "][!SetOption "Clicky3" "Hidden" "1"][!Update]
DynamicVariables=1
Group=ModeB
Hidden=1

[Clicky3]
Meter=Shape
Shape=Rectangle 229,278,28,28,14 | Fill Color 0,0,0,1 | StrokeWidth 1 | Stroke Color 177,133,78,185
Group=buttons
Hidden=1

[Button4G]
Meter=Shape
Shape=Rectangle 168,289,34,34,17 | StrokeWidth 0 | Fill LinearGradient MyGradient1
MyGradient1=270 | 255,240,207,255 ; 0,0 | 240,210,85,255 ; 0.05 | 60,60,60,255 ; 0.25 | 255,240,207,255 ; 0.75 | 60,60,60,255 ; 0.9 | 215,190,90,255 ; 0.99
DynamicVariables=1
Group=ModeB
Hidden=1

[Button4F]
Meter=Shape
Shape=Rectangle 171,292,28,28,14 | StrokeWidth 0 | Fill Color 10,10,10,255
Antialias=1
LeftMouseUpAction=[!SetClip " "][!Update]
MouseOverAction=[!SetOption "MeterButtonHover" "Text" ""][!SetOption "Clicky4" "Hidden" "0"][!Update]
MouseLeaveAction=[!SetOption "MeterButtonHover" "Text" " "][!SetOption "Clicky4" "Hidden" "1"][!Update]
DynamicVariables=1
Group=ModeB
Hidden=1

[Clicky4]
Meter=Shape
Shape=Rectangle 171,292,28,28,14 | Fill Color 0,0,0,1 | StrokeWidth 1 | Stroke Color 177,133,78,185
Group=buttons
Hidden=1

[Button5G]
Meter=Shape
Shape=Rectangle 111,275,34,34,17 | StrokeWidth 0 | Fill LinearGradient MyGradient1
MyGradient1=270 | 255,240,207,255 ; 0,0 | 240,210,85,255 ; 0.05 | 60,60,60,255 ; 0.25 | 255,240,207,255 ; 0.75 | 60,60,60,255 ; 0.9 | 215,190,90,255 ; 0.99
DynamicVariables=1
Group=ModeB
Hidden=1

[Button5F]
Meter=Shape
Shape=Rectangle 114,278,28,28,14 | StrokeWidth 0 | Fill Color 10,10,10,255
MouseOverAction=[!SetOption "Clicky5" "Hidden" "0"][!SetOption "MeterButtonHover" "Text" "Default Player"][!Update]
MouseLeaveAction=[!SetOption "MeterButtonHover" "Text" " " ][!SetOption "Clicky5" "Hidden" "1"][!Update]
LeftMouseUpAction=[!SetOption "MeterButtonHover" "Text" "#Player#" ][!SetOption "MeterConfig" "Text" ""#AudioPlayer#""][!Update]
RightMouseUpAction=
DynamicVariables=1
Hidden=1
Group=ModeB

[Clicky5]
Meter=Shape
Shape=Rectangle 114,278,28,28,14 | Fill Color 0,0,0,1 | StrokeWidth 1 | Stroke Color 177,133,78,185
Group=buttons
Hidden=1

[Button6G]
Meter=Shape
Shape=Rectangle 67,237,34,34,17 | StrokeWidth 0 | Fill LinearGradient MyGradient1
MyGradient1=270 | 255,240,207,255 ; 0,0 | 240,210,85,255 ; 0.05 | 60,60,60,255 ; 0.25 | 255,240,207,255 ; 0.75 | 60,60,60,255 ; 0.9 | 215,190,90,255 ; 0.99
DynamicVariables=1
Group=ModeB | buttons
Hidden=1

[Button6F]
Meter=Shape
Shape=Rectangle 70,240,28,28,14 | StrokeWidth 0 | Fill Color 10,10,10,255
MouseOverAction=[!SetOption "Clicky6" "Hidden" "0"][!SetOption "MeterButtonHover" "Text" ""#AudioManager#""][!Redraw]
MouseLeaveAction=[!SetOption "Clicky6" "Hidden" "1"][!SetOption "MeterButtonHover" "Text" """ """ ][!Redraw]
LeftMouseUpAction=["#AudioManagerPath#"]
RightMouseUpAction=[" "]
DynamicVariables=1
Hidden=1
Group=ModeB

[Clicky6]
Meter=Shape
Shape=Rectangle 70,240,28,28,14 | Fill Color 0,0,0,1 | StrokeWidth 1 | Stroke Color 177,133,78,185
Group=buttons
Hidden=1

[Button7G]
Meter=Shape
Shape=Rectangle 47,187,34,34,17 | StrokeWidth 0 | Fill LinearGradient MyGradient1
MyGradient1=270 | 255,240,207,255 ; 0,0 | 240,210,85,255 ; 0.05 | 60,60,60,255 ; 0.25 | 255,240,207,255 ; 0.75 | 60,60,60,255 ; 0.9 | 215,190,90,255 ; 0.99
DynamicVariables=1
Group=ModeB
Hidden=1

[Button7F]
Meter=Shape
Shape=Rectangle 50,190,28,28,14 | StrokeWidth 0 | Fill Color 10,10,10,255
MouseOverAction=[!SetOption "MeterButtonHover" "Text" "Mixer"][!SetOption "Clicky7" "Hidden" "0"][!Update]
MouseLeaveAction=[!SetOption "MeterButtonHover" "Text" " " ][!SetOption "Clicky7" "Hidden" "1"][!Update]
LeftMouseUpAction=[%windir%\system32\sndvol.exe -T 7200007E]
RightMouseUpAction=
DynamicVariables=1
Hidden=1
Group=ModeB

[Clicky7]
Meter=Shape
Shape=Rectangle 50,190,28,28,14 | Fill Color 0,0,0,1 | StrokeWidth 1 | Stroke Color 177,133,78,185
Group=
Hidden=1

;============================Volume Control=====================

[TopBlur]
Meter=Shape
Shape=Rectangle 85,85,201,201,101 | Fill Color 0,0,0,160 | StrokeWidth 0
AntiAlias=1
Group=hide
Hidden=1

[MeterVolumeKnobA]
Meter=Roundline
MeasureName=MeasureVolCalcA
W=370
H=370
LineColor=#BigDriveAltColor#
LineLength=90
LineStart=100
StartAngle=-1.5458897
RotationAngle=6.188
Solid=1
Antialias=1
Group=hide
Hidden=1

[MeterVolumeKnobB]
Meter=Roundline
MeasureName=MeasureVolCalcA
W=370 
H=370
LineColor=#BigDriveAltColor#
LineLength=70
LineStart=80
StartAngle=-1.5458897
RotationAngle=6.188
Solid=1
Antialias=1
Group=hide
Hidden=1

[MeterVolumeKnobC]
Meter=Roundline
MeasureName=MeasureVolCalcA
W=370
H=370
LineColor=#BigDriveAltColor#
LineLength=50
LineStart=60
StartAngle=-1.5458897
RotationAngle=6.188
Solid=1
Antialias=1
Group=hide
Hidden=1

[MeterVolumeKnobD]
Meter=Roundline
MeasureName=MeasureVolCalcA
W=370
H=370
LineColor=#BigDriveAltColor#
LineLength=30
LineStart=40
StartAngle=-1.5458897
RotationAngle=6.188
Solid=1
Antialias=1
Group=hide
Hidden=1

[MeterVolumeKnobE]
Meter=Roundline
MeasureName=MeasureVolCalcB
W=370
H=370 
LineColor=#BigDriveAltColor#
LineLength=94
LineStart=100
StartAngle=4.694
RotationAngle=-6.188
Solid=1
Antialias=1
Group=hide
Hidden=1

[MeterVolumeKnobF]
Meter=Roundline
MeasureName=MeasureVolCalcB
W=370
H=370
LineColor=#MainColor#
LineLength=96
LineStart=98
StartAngle=4.694
RotationAngle=-6.188
Solid=1
Antialias=1
Group=hide
Hidden=1

;============================Show Percent=======================

[Percent]
Measure=Calc
Formula=MeasureWinSevenAudio * 1
DynamicVariables=1
Substitute="^-1$":"0"
RegExpSubstitute=1

[PercentString]
Meter=String
MeasureName=Percent
Text=%1%
AntiAlias=1
InlineSetting=Face | digital
InlinePattern=\d
InlineSetting2=Face | Medici Text
InlinePattern2=%
FontSize=22
FontColor=#BigDriveAltColor#
StringEffect=Border
FontEffectColor=0,0,0,255
StringAlign=CenterCenter
X=190
Y=190
Group=hide
Hidden=1

[MeterDialHover]
Meter=Image
Y=93
X=93
W=184
H=184
SolidColor=0,0,0,1
LeftMouseUpAction=[!CommandMeasure "MeasureWinSevenAudio" "ToggleMute"]
RightMouseUpAction=[!ToggleMeterGroup ModeA][!ToggleMeterGroup ModeB][!Update]
MouseScrollDownAction=[!CommandMeasure "MeasureWinSevenAudio" "ChangeVolume -#VolumeStep#"][!UpdateMeter *][!Update]
MouseScrollUpAction=[!CommandMeasure "MeasureWinSevenAudio" "ChangeVolume +#VolumeStep#"][!UpdateMeter *][!Update]
MouseLeaveAction=[!HideMeterGroup hide][!UpdateMeter *][!Redraw]
MouseOverAction=[!ShowMeterGroup hide][!UpdateMeter *][!Redraw]
DynamicVariables=1

;============================End================================

[Lens]
Meter=Image
ImageName=#@#Lens.png 
ImageAlpha=200
X=76
Y=79
H=209

Note: You did not put all @include files in the package, so I commented out the missing ones for test purposes; you can add them back if needed.

You just need to set the correct path to 'Tracks.txt' and this should work for you.
You do not have the required permissions to view the files attached to this post.
User avatar
CodeCode
Posts: 1363
Joined: September 7th, 2020, 2:24 pm
Location: QLD, Australia

Re: Small Idea About Clicking Through Lines Of Quote PlugIn Txt File.

Post by CodeCode »

Sigh.
I have been really trying to understand why the file isnt being accessed by the parser measures.

I bricked my project several times - dont get intoxicated whilst trying something new. :lol:
Capture.PNG
The path looks fine, but I may be misusing some regexp trying to keep the last \ before the tracks.txt and noy and anything else I could OCD over.

I'm still stuck.

Really wondering what the initial parent does not show anything, so that is my bottleneck, I think.
Audio Manager_.rmskin
I included my entire package but once installed will load the skin I am working on.

I am getting this weird "nan" variable added to the parsed path, Ithere is no such variable, and iy goes away when the skin is refreshed.

Thanks for any help.
You do not have the required permissions to view the files attached to this post.
ƈǟռ'ȶ ʄɨӼ ɨȶ ɨʄ ɨȶ ǟɨռ'ȶ ɮʀօӄɛ - ʊռʟɛֆֆ ɨȶ ɨֆ ɨռ ƈօɖɛ.
User avatar
eclectic-tech
Rainmeter Sage
Posts: 5384
Joined: April 12th, 2012, 9:40 pm
Location: Cedar Point, Ohio, USA

Re: Small Idea About Clicking Through Lines Of Quote PlugIn Txt File.

Post by eclectic-tech »

CodeCode wrote: March 4th, 2023, 8:20 pm Sigh.
I have been really trying to understand why the file isnt being accessed by the parser measures.

I bricked my project several times - dont get intoxicated whilst trying something new. :lol:
Capture.PNG

The path looks fine, but I may be misusing some regexp trying to keep the last \ before the tracks.txt and noy and anything else I could OCD over.

I'm still stuck.

Really wondering what the initial parent does not show anything, so that is my bottleneck, I think.

I am getting this weird "nan" variable added to the parsed path, Ithere is no such variable, and iy goes away when the skin is refreshed.

Thanks for any help.

You are missing a " at the end of the URL= line in "UltraSound\Player Wizard\Master Music.ini"

After correcting that, my issue is that [MeasurePath] points to my current song path, BUT there is no 'Tracks.txt' file on my system; I got an error message in the log saying it could not find the file.

To test if the Webparser was working, I moved 'Tracks.txt' to the @Resources folder BUT then realized you had 2 @Resources folders!!
- "UltraSound\@Resources" the correct location
- "UltrSound\Player Wizard\@Resources" Not a valid use of @Resources (#@# will never point to this folder)

After putting 'Tracks.txt' in the correct @Resources, the Webparser found it and parsed the 5 lines.

ABOUT "nan"
The reason you are seeing 'nan' is due to trying to add 1 to the TrackNumber when the TrackCount is zero and modulo fails.
This happens because the Webparser did not find the 'Tracks.txt' or the file did not contain any lines.

To correct for that possibility, I modified [WebparserChild1] measure to disable/enable the mouse action that changes the current displayed track if the first line is an empty string.

Updated code section:

Code: Select all

[MeasureWebParserChild1]
Measure=WebParser
Url=[MeasureWebParser]
StringIndex=1
IfMatch=^$
IfNotMatchAction=[!SetVariable TrackCount ([#TrackCount]+1)][!EnableMouseAction ButtonTracksF "LeftMouseUpAction"]
IfMatchAction=[!DisableMouseAction ButtonTracksF "LeftMouseUpAction"]
DynamicVariables=1
Make the change to URL and WebparserChild1. Load the skin and if there are no Strings returned in the Webparser measures, the only reason is because it cannot find the file. Look at the value of [MeasurePath] and make sure the 'Tracks.txt' is located in that folder.

To test, I would suggest (again) to put 'Tracks.txt' in a known location, change the URL to point to that file and test.

I also set Text=[MeasureWebparserChild1] as the default in the [OneTrack] meter.

Aside: It is NOT a good idea to use "spaces" in your skin file names; it can cause you a lot of pain when troubleshooting an error and it is due to a space in a name used in a bang without quotations. Also, do you really need to [!Update] after every !SetVariable bang in the child measures? I think not.

This should get you to a point that returns the values of the 'Tracks.txt'.