HELP: IINA Slider

Hi guys,

I'm trying to make a slider for the IINA Player showing the advancement of a file. The original native one is gorgeous, but unfortunately I need some more actions I'd like to see permanently. So I tried to make this slider.

JSON

{
"BTTTriggerType" : 638,
"BTTTriggerTypeDescription" : "Custom Apple Script Slider Widget",
"BTTTriggerClass" : "BTTTriggerTypeTouchBar",
"BTTPredefinedActionType" : 195,
"BTTPredefinedActionName" : "Run Apple Script (async in background)",
"BTTInlineAppleScript" : "on bttWidgetSliderMoved(newSliderValue)\r\ttell application "IINA"\r\t\tset current time to (duration of current item * newSliderValue)\r\tend tell\rend bttWidgetSliderMoved",
"BTTEnabled2" : 1,
"BTTUUID" : "5620DCF2-F564-4068-9B39-E7FFECBBB7C9",
"BTTEnabled" : 1,
"BTTModifierMode" : 0,
"BTTOrder" : 4,
"BTTDisplayOrder" : 0,
"BTTMergeIntoTouchBarGroups" : 0,
"BTTKnobIconData" : "TU0AKgAACMgAAAD_AAAA_wAAAAAAAAAAAAAAAAAAAAAAAAD_AAAA_wAAAAAAAAAAAAAAAAAAAAAAAAD_AAAA_wAAAAAAAAAAAAAAAAAAAAAAAAD_AAAA_wAAAP8AAAD_AAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD_AAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD_AAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD_AAAA_wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAA_wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAA_wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAA_wAAAP8AAAD_AAAA_wAAAAAAAAAAAAAAAAAAAAAAAAD_AAAA_wAAAAAAAAAAAAAAAAAAAAAAAAD_AAAA_wAAAAAAAAAAAAAAAAAAAAAAAAD_AAAA_wAAAP8AAAD_AAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD_AAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD_AAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD_AAAA_wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAA_wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAA_wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAA_wAAAP8AAAD_AAAA_wAAAAAAAAAAAAAAAAAAAAAAAAD_AAAA_wAAAAAAAAAAAAAAAAAAAAAAAAD_AAAA_wAAAAAAAAAAAAAAAAAAAAAAAAD_AAAA_wAAAP8AAAD_AAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD_AAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD_AAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD_AAAA_wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAA_wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAA_wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAA_wAAAP8AAAD_AAAA_wAAAAAAAAAAAAAAAAAAAAAAAAD_AAAA_wAAAAAAAAAAAAAAAAAAAAAAAAD_AAAA_wAAAAAAAAAAAAAAAAAAAAAAAAD_AAAA_wAAAP8AAAD_AAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD_AAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD_AAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD_AAAA_wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAA_wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAA_wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAA_wAAAP8AAAD_AAAA_wAAAAAAAAAAAAAAAAAAAAAAAAD_AAAA_wAAAAAAAAAAAAAAAAAAAAAAAAD_AAAA_wAAAAAAAAAAAAAAAAAAAAAAAAD_AAAA_wAAAP8AAAD_AAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD_AAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD_AAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD_AAAA_wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAA_wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAA_wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAA_wAAAP8AAAD_AAAA_wAAAAAAAAAAAAAAAAAAAAAAAAD_AAAA_wAAAAAAAAAAAAAAAAAAAAAAAAD_AAAA_wAAAAAAAAAAAAAAAAAAAAAAAAD_AAAA_wAAAP8AAAD_AAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD_AAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD_AAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD_AAAA_wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAA_wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAA_wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAA_wAAAP8AAAD_AAAA_wAAAAAAAAAAAAAAAAAAAAAAAAD_AAAA_wAAAAAAAAAAAAAAAAAAAAAAAAD_AAAA_wAAAAAAAAAAAAAAAAAAAAAAAAD_AAAA_wAAAP8AAAD_AAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD_AAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD_AAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD_AAAA_wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAA_wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAA_wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAA_wAAAP8AAAD_AAAA_wAAAAAAAAAAAAAAAAAAAAAAAAD_AAAA_wAAAAAAAAAAAAAAAAAAAAAAAAD_AAAA_wAAAAAAAAAAAAAAAAAAAAAAAAD_AAAA_wAAAP8AAAD_AAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD_AAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD_AAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD_AAAA_wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAA_wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAA_wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAA_wAAAP8AAAD_AAAA_wAAAAAAAAAAAAAAAAAAAAAAAAD_AAAA_wAAAAAAAAAAAAAAAAAAAAAAAAD_AAAA_wAAAAAAAAAAAAAAAAAAAAAAAAD_AAAA_wAAAP8AAAD_AAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD_AAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD_AAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD_AAAA_wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAA_wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAA_wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAA_wAAAP8AAAD_AAAA_wAAAAAAAAAAAAAAAAAAAAAAAAD_AAAA_wAAAAAAAAAAAAAAAAAAAAAAAAD_AAAA_wAAAAAAAAAAAAAAAAAAAAAAAAD_AAAA_wAQAQAAAwAAAAEAFAAAAQEAAwAAAAEAHAAAAQIAAwAAAAQAAAmOAQMAAwAAAAEAAQAAAQYAAwAAAAEAAgAAAQoAAwAAAAEAAQAAAREABAAAAAEAAAAIARIAAwAAAAEAAQAAARUAAwAAAAEABAAAARYAAwAAAAEAHAAAARcABAAAAAEAAAjAARwAAwAAAAEAAQAAASgAAwAAAAEAAgAAAVIAAwAAAAEAAgAAAVMAAwAAAAQAAAmWh3MABwAADEgAAAmeAAAAAAAIAAgACAAIAAEAAQABAAEAAAxITGlubwIQAABtbnRyUkdCIFhZWiAHzgACAAkABgAxAABhY3NwTVNGVAAAAABJRUMgc1JHQgAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLUhQICAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFjcHJ0AAABUAAAADNkZXNjAAABhAAAAGx3dHB0AAAB8AAAABRia3B0AAACBAAAABRyWFlaAAACGAAAABRnWFlaAAACLAAAABRiWFlaAAACQAAAABRkbW5kAAACVAAAAHBkbWRkAAACxAAAAIh2dWVkAAADTAAAAIZ2aWV3AAAD1AAAACRsdW1pAAAD+AAAABRtZWFzAAAEDAAAACR0ZWNoAAAEMAAAAAxyVFJDAAAEPAAACAxnVFJDAAAEPAAACAxiVFJDAAAEPAAACAx0ZXh0AAAAAENvcHlyaWdodCAoYykgMTk5OCBIZXdsZXR0LVBhY2thcmQgQ29tcGFueQAAZGVzYwAAAAAAAAASc1JHQiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAABJzUkdCIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWFlaIAAAAAAAAPNRAAEAAAABFsxYWVogAAAAAAAAAAAAAAAAAAAAAFhZWiAAAAAAAABvogAAOPUAAAOQWFlaIAAAAAAAAGKZAAC3hQAAGNpYWVogAAAAAAAAJKAAAA+EAAC2z2Rlc2MAAAAAAAAAFklFQyBodHRwOi8vd3d3LmllYy5jaAAAAAAAAAAAAAAAFklFQyBodHRwOi8vd3d3LmllYy5jaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkZXNjAAAAAAAAAC5JRUMgNjE5NjYtMi4xIERlZmF1bHQgUkdCIGNvbG91ciBzcGFjZSAtIHNSR0IAAAAAAAAAAAAAAC5JRUMgNjE5NjYtMi4xIERlZmF1bHQgUkdCIGNvbG91ciBzcGFjZSAtIHNSR0IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZGVzYwAAAAAAAAAsUmVmZXJlbmNlIFZpZXdpbmcgQ29uZGl0aW9uIGluIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAALFJlZmVyZW5jZSBWaWV3aW5nIENvbmRpdGlvbiBpbiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHZpZXcAAAAAABOk_gAUXy4AEM8UAAPtzAAEEwsAA1yeAAAAAVhZWiAAAAAAAEwJVgBQAAAAVx_nbWVhcwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAo8AAAACc2lnIAAAAABDUlQgY3VydgAAAAAAAAQAAAAABQAKAA8AFAAZAB4AIwAoAC0AMgA3ADsAQABFAEoATwBUAFkAXgBjAGgAbQByAHcAfACBAIYAiwCQAJUAmgCfAKQAqQCuALIAtwC8AMEAxgDLANAA1QDbAOAA5QDrAPAA9gD7AQEBBwENARMBGQEfASUBKwEyATgBPgFFAUwBUgFZAWABZwFuAXUBfAGDAYsBkgGaAaEBqQGxAbkBwQHJAdEB2QHhAekB8gH6AgMCDAIUAh0CJgIvAjgCQQJLAlQCXQJnAnECegKEAo4CmAKiAqwCtgLBAssC1QLgAusC9QMAAwsDFgMhAy0DOANDA08DWgNmA3IDfgOKA5YDogOuA7oDxwPTA+AD7AP5BAYEEwQgBC0EOwRIBFUEYwRxBH4EjASaBKgEtgTEBNME4QTwBP4FDQUcBSsFOgVJBVgFZwV3BYYFlgWmBbUFxQXVBeUF9gYGBhYGJwY3BkgGWQZqBnsGjAadBq8GwAbRBuMG9QcHBxkHKwc9B08HYQd0B4YHmQesB78H0gflB_gICwgfCDIIRghaCG4IggiWCKoIvgjSCOcI+wkQCSUJOglPCWQJeQmPCaQJugnPCeUJ+woRCicKPQpUCmoKgQqYCq4KxQrcCvMLCwsiCzkLUQtpC4ALmAuwC8gL4Qv5DBIMKgxDDFwMdQyODKcMwAzZDPMNDQ0mDUANWg10DY4NqQ3DDd4N+A4TDi4OSQ5kDn8Omw62DtIO7g8JDyUPQQ9eD3oPlg+zD88P7BAJECYQQxBhEH4QmxC5ENcQ9RETETERTxFtEYwRqhHJEegSBxImEkUSZBKEEqMSwxLjEwMTIxNDE2MTgxOkE8UT5RQGFCcUSRRqFIsUrRTOFPAVEhU0FVYVeBWbFb0V4BYDFiYWSRZsFo8WshbWFvoXHRdBF2UXiReuF9IX9xgbGEAYZRiKGK8Y1Rj6GSAZRRlrGZEZtxndGgQaKhpRGncanhrFGuwbFBs7G2MbihuyG9ocAhwqHFIcexyjHMwc9R0eHUcdcB2ZHcMd7B4WHkAeah6UHr4e6R8THz4faR+UH78f6iAVIEEgbCCYIMQg8CEcIUghdSGhIc4h+yInIlUigiKvIt0jCiM4I2YjlCPCI_AkHyRNJHwkqyTaJQklOCVoJZclxyX3JicmVyaHJrcm6CcYJ0kneierJ9woDSg_KHEooijUKQYpOClrKZ0p0CoCKjUqaCqbKs8rAis2K2krnSvRLAUsOSxuLKIs1y0MLUEtdi2rLeEuFi5MLoIuty7uLyQvWi+RL8cv_jA1MGwwpDDbMRIxSjGCMbox8jIqMmMymzLUMw0zRjN_M7gz8TQrNGU0njTYNRM1TTWHNcI1_TY3NnI2rjbpNyQ3YDecN9c4FDhQOIw4yDkFOUI5fzm8Ofk6Njp0OrI67zstO2s7qjvoPCc8ZTykPOM9Ij1hPaE94D4gPmA+oD7gPyE_YT+iP+JAI0BkQKZA50EpQWpBrEHuQjBCckK1QvdDOkN9Q8BEA0RHRIpEzkUSRVVFmkXeRiJGZ0arRvBHNUd7R8BIBUhLSJFI10kdSWNJqUnwSjdKfUrESwxLU0uaS+JMKkxyTLpNAk1KTZNN3E4lTm5Ot08AT0lPk0_dUCdQcVC7UQZRUFGbUeZSMVJ8UsdTE1NfU6pT9lRCVI9U21UoVXVVwlYPVlxWqVb3V0RXklfgWC9YfVjLWRpZaVm4WgdaVlqmWvVbRVuVW+VcNVyGXNZdJ114XcleGl5sXr1fD19hX7NgBWBXYKpg_GFPYaJh9WJJYpxi8GNDY5dj62RAZJRk6WU9ZZJl52Y9ZpJm6Gc9Z5Nn6Wg_aJZo7GlDaZpp8WpIap9q92tPa6dr_2xXbK9tCG1gbbluEm5rbsRvHm94b9FwK3CGcOBxOnGVcfByS3KmcwFzXXO4dBR0cHTMdSh1hXXhdj52m3b4d1Z3s3gReG54zHkqeYl553pGeqV7BHtje8J8IXyBfOF9QX2hfgF+Yn7CfyN_hH_lgEeAqIEKgWuBzYIwgpKC9INXg7qEHYSAhOOFR4Wrhg6GcobXhzuHn4gEiGmIzokziZmJ_opkisqLMIuWi_yMY4zKjTGNmI3_jmaOzo82j56QBpBukNaRP5GokhGSepLjk02TtpQglIqU9JVflcmWNJaflwqXdZfgmEyYuJkkmZCZ_JpomtWbQpuvnByciZz3nWSd0p5Anq6fHZ+Ln_qgaaDYoUehtqImopajBqN2o+akVqTHpTilqaYapoum_adup+CoUqjEqTepqaocqo+rAqt1q+msXKzQrUStuK4trqGvFq+LsACwdbDqsWCx1rJLssKzOLOutCW0nLUTtYq2AbZ5tvC3aLfguFm40blKucK6O7q1uy67p7whvJu9Fb2Pvgq+hL7_v3q_9cBwwOzBZ8Hjwl_C28NYw9TEUcTOxUvFyMZGxsPHQce_yD3IvMk6ybnKOMq3yzbLtsw1zLXNNc21zjbOts83z7jQOdC60TzRvtI_0sHTRNPG1EnUy9VO1dHWVdbY11zX4Nhk2OjZbNnx2nba+9uA3AXcit0Q3ZbeHN6i3ynfr+A24L3hROHM4lPi2+Nj4+vkc+T85YTmDeaW5x_nqegy6LzpRunQ6lvq5etw6_vshu0R7ZzuKO6070DvzPBY8OXxcvH_8ozzGfOn9DT0wvVQ9d72bfb794r4Gfio+Tj5x_pX+uf7d_wH_Jj9Kf26_kv+3P9t__8=",
"BTTKeySequence" : {

},
"BTTTriggerConfig" : {
"BTTTouchBarShowLeftIconForSlider" : false,
"BTTTouchBarButtonColor" : "224.017283, 227.616496, 229.957079, 255.000000",
"BTTTouchBarColorRegex" : "0",
"BTTTouchBarItemIconWidth" : 22,
"BTTTouchBarItemPlacement" : 2,
"BTTTouchBarAlternateBackgroundColor" : "0.000000, 0.000000, 0.000000, 0.000000",
"BTTTouchBarButtonCornerRadius" : 6,
"BTTTouchBarScriptUpdateInterval" : 0.40000000596046448,
"BTTTouchBarAppleScriptString" : "on returnPositionValue\n\ttell application "IINA"\r\t\tif current time = -1 then\r\t\t\treturn 0\r\t\telse\r\t\t\treturn current time / duration of current item\r\t\tend if\r\tend tell\nend returnPositionValue",
"BTTTBDrawKnobWithoutPadding" : false,
"BTTTouchBarButtonName" : "355",
"BTTTouchBarOnlyShowIcon" : true,
"BTTTouchBarSliderDrawKnobBackground" : true,
"BTTTouchBarFreeSpaceAfterButton" : 62,
"BTTTouchBarShowRightIconForSlider" : false,
"BTTTouchBarSliderTriggerPercentage" : 0.0099999997764825821,
"BTTTouchBarSliderDrawKnobIconWhite" : false,
"BTTTouchBarItemIconHeight" : 22,
"BTTTouchBarItemPadding" : 0
}
}

based on a VLC preset. Still I get an error every time I concerning the Predefined action.

Help is welcome!

1 Like

IINA doesn’t have applescript support, unfortunatley.

I heard that it has limited terminal support though, but I couldn’t find a way to do advanced things, hence the simplicity of my IINA widget...

The “current time” command (as well as others) is probably part of VLC, not IINA, hence probably why it’s not working. (IINA doesn’t have commands altogether)

It’d be great to figure this out though!

To use applescript it must be supported by the app. open the apple script editor and press command-shift-O (“open dictionary”) and select an app to see it’s commands.

If it’s not in that list, It’s not directly supported. You could still use general stuff like detecting/targeting it’s window name or UI elements, but it isn’t as good as direct support.

1 Like

Hum, and this explains that :confused:
Let me dig a bit into it.

Best bet would be to use UI scripting to target the slider itself, but this would be very finicky and probably won’t work unless the app is frontmost...

Alternativley, we could use IINA’s terminal commands though those aren’t really complete.. I forgot how to find them again

Probably. I'd need it only in this case, as I would like to have the slider and a button that puts the video in PIP, and opens a website (needed often in my workflow when I'm studying).
And I guess that scrolling through the video with UI scripting wouldn't be the best experience either.

1 Like

Have you looked at how I handled IINA in AQT? It’s working pretty well for me.

(basically, I tap the BTT icon in the control strip, which pops up the PiP button stuck to the right. When i tap that button, it’ll close the BTT bar as well as bringing me out to the oem bar) 2 taps, its pretty good

Yes, I remember your solution :slightly_smiling_face: It's a bit like mine now with the two finger force touch on the trackpad.
Nevertheless both of them are, in my eyes, only "workarounds", and neither natural nor smooth.
I actually consider contacting the dev of IINA, maybe they can give some further information about how extracting the current time from a file :innocent: macOS does it, so somewhere the information must be, and might be accessible.

macOS does it using the now playing api, however that is private undocumented api and would require native code.

2 Likes

I've actually contacted them myself and they had a pretty "not supported" attitude about it

They said applescript / terminal support wasn't coming very soon either. I'll ask again, because it's been a while

1 Like

The more people annoy them, the better :stuck_out_tongue:

1 Like

@Caliguvara

Have you checked out the new IINA update? They seemed to have added a PiP button for their native TouchBar set!

Here's mine right now:

They did! :smiley: Good start, they'd only need a Full screen button too now :innocent:
This is my IINA group for now.


Many buttons have attached additional actions (sometimes relayed to a modifier key), but I think that after all it might be easier to make some Trackpad shortcuts for IINA too and activate their normal Touch Bar. Even though it's kinda sad.

1 Like