Jump to content
Anthony Musgrove

New Plugin - Custom Scripting | Emby ScripterX

Recommended Posts

PenkethBoy
Posted (edited)

@@Anthony.Musgrove - any news/update :)

Edited by PenkethBoy
  • Like 1

Share this post


Link to post
Share on other sites
maegibbons

@@Anthony.Musgrove - any news/update :)

He is a good tester. But impatient!!

 

Krs

 

Mark

 

Sent from my SM-N976B using Tapatalk

  • Like 1

Share this post


Link to post
Share on other sites
PenkethBoy

yes i am :)

  • Like 2

Share this post


Link to post
Share on other sites
Dibbes

yes i am :)

 

Found a way yet to get your NVENC powershell script to run, get the series episode moved to the appropriate folder, renamed, and remove the original? *grin*

  • Like 1

Share this post


Link to post
Share on other sites
Anthony Musgrove

Hey mate, sorry about the delay!  Easter and Family can be nuts! :)

 

I'm currently trying to replicate that bug you're getting with the library scan - I did the following first up to test, but it hasn't replicated it yet.  Could you point me in the right direction to emulate that one?

 

My scripter output log is:

 

Session Started OK Anthony Chrome 
Media Item Added "MixedTest" "D:\Media\MixedTest" 
Media Item Updated "MixedTest" "D:\Media\MixedTest" (Update Reason: None) 
Media Item Added "Mixed Content Test" "C:\Users\Anthony\AppData\Roaming\Emby-Server\programdata\root\default\Mixed Content Test" 
Media Item Updated "Mixed Content Test" "C:\Users\Anthony\AppData\Roaming\Emby-Server\programdata\root\default\Mixed Content Test" (Update Reason: None, MetadataImport) 
Library Scan Complete for Library: root (Duration: 00:00:00.4196735) (D:0) (H:0) (M:0) (S:0) 
Media Item Added "1917" "D:\Media\MixedTest\1917.2019.1080p.BluRay.x264.AAC5.1-[YTS.MX] - Copy - Copy - Copy.mp4" 
Media Item Added "Dont.Fuck.with.Cats.Hunting.an.Internet.Killer.S01.COMPLETE.720p.WEB.x264-STRiFE[TGx]" "D:\Media\MixedTest\Dont.Fuck.with.Cats.Hunting.an.Internet.Killer.S01.COMPLETE.720p.WEB.x264-STRiFE[TGx]" 
Media Item Added "Family Guy" "D:\Media\MixedTest\Family Guy" 
Media Item Added "S01E01" "D:\Media\MixedTest\Dont.Fuck.with.Cats.Hunting.an.Internet.Killer.S01.COMPLETE.720p.WEB.x264-STRiFE[TGx]\S01E01.mkv" 
Media Item Added "S01E02" "D:\Media\MixedTest\Dont.Fuck.with.Cats.Hunting.an.Internet.Killer.S01.COMPLETE.720p.WEB.x264-STRiFE[TGx]\S01E02.mkv" 
Media Item Added "S01E03" "D:\Media\MixedTest\Dont.Fuck.with.Cats.Hunting.an.Internet.Killer.S01.COMPLETE.720p.WEB.x264-STRiFE[TGx]\S01E03.mkv" 
Media Item Added "Season 1" "D:\Media\MixedTest\Family Guy\S01" 
Media Item Added "S01E01 - Death Has A Shadow" "D:\Media\MixedTest\Family Guy\S01\S01E01 - Death Has A Shadow.avi" 
Media Item Added "S01E02 - I Never Met The Dead Man" "D:\Media\MixedTest\Family Guy\S01\S01E02 - I Never Met The Dead Man.avi" 
Media Item Added "S01E03 - Chitty Chitty Death Bang" "D:\Media\MixedTest\Family Guy\S01\S01E03 - Chitty Chitty Death Bang.avi" 
Media Item Added "S01E04 - Mind Over Murder" "D:\Media\MixedTest\Family Guy\S01\S01E04 - Mind Over Murder.avi" 
Media Item Added "S01E05 - A Hero Sits Net Door" "D:\Media\MixedTest\Family Guy\S01\S01E05 - A Hero Sits Net Door.avi" 
Media Item Added "S01E06 - The Son Also Draws" "D:\Media\MixedTest\Family Guy\S01\S01E06 - The Son Also Draws.avi" 
Media Item Added "S01E07 - Brian - Portrait Of A Dog" "D:\Media\MixedTest\Family Guy\S01\S01E07 - Brian - Portrait Of A Dog.avi" 
Media Item Updated "1917" "D:\Media\MixedTest\1917.2019.1080p.BluRay.x264.AAC5.1-[YTS.MX] - Copy - Copy - Copy.mp4" (Update Reason: None, MetadataImport, ImageUpdate, MetadataDownload) 
Media Item Updated "Dont.Fuck.with.Cats.Hunting.an.Internet.Killer.S01.COMPLETE.720p.WEB.x264-STRiFE[TGx]" "D:\Media\MixedTest\Dont.Fuck.with.Cats.Hunting.an.Internet.Killer.S01.COMPLETE.720p.WEB.x264-STRiFE[TGx]" (Update Reason: None) 
Media Item Added "Season Unknown" "" 
Media Item Updated "Season Unknown" "" (Update Reason: None, MetadataEdit) 
Media Item Updated "S01E01" "D:\Media\MixedTest\Dont.Fuck.with.Cats.Hunting.an.Internet.Killer.S01.COMPLETE.720p.WEB.x264-STRiFE[TGx]\S01E01.mkv" (Update Reason: None, MetadataImport, ImageUpdate) 
Media Item Updated "S01E02" "D:\Media\MixedTest\Dont.Fuck.with.Cats.Hunting.an.Internet.Killer.S01.COMPLETE.720p.WEB.x264-STRiFE[TGx]\S01E02.mkv" (Update Reason: None, MetadataImport, ImageUpdate) 
Media Item Updated "S01E03" "D:\Media\MixedTest\Dont.Fuck.with.Cats.Hunting.an.Internet.Killer.S01.COMPLETE.720p.WEB.x264-STRiFE[TGx]\S01E03.mkv" (Update Reason: None, MetadataImport, ImageUpdate) 
Media Item Removed "Season Unknown" "" 
Media Item Added "Season 1" "" 
Media Item Updated "Season 1" "" (Update Reason: None) 
Media Item Updated "Family Guy" "D:\Media\MixedTest\Family Guy" (Update Reason: None, MetadataImport, ImageUpdate, MetadataDownload) 
Media Item Added "Season 18" "" 
Media Item Updated "Season 18" "" (Update Reason: None, MetadataImport, ImageUpdate) 
Media Item Added "Episode 16" "" 
Media Item Updated "Start Me Up" "" (Update Reason: None, MetadataImport, MetadataDownload) 
Media Item Added "Episode 17" "" 
Media Item Updated "Coma Guy" "" (Update Reason: None, MetadataImport, MetadataDownload) 
Media Item Added "Episode 18" "" 
Media Item Updated "Better Off Meg" "" (Update Reason: None, MetadataImport, MetadataDownload) 
Media Item Updated "Season 1" "D:\Media\MixedTest\Family Guy\S01" (Update Reason: None, MetadataImport, ImageUpdate) 
Media Item Updated "Death Has a Shadow" "D:\Media\MixedTest\Family Guy\S01\S01E01 - Death Has A Shadow.avi" (Update Reason: None, MetadataImport, ImageUpdate, MetadataDownload) 
Media Item Updated "I Never Met the Dead Man" "D:\Media\MixedTest\Family Guy\S01\S01E02 - I Never Met The Dead Man.avi" (Update Reason: None, MetadataImport, ImageUpdate, MetadataDownload) 
Media Item Updated "Chitty Chitty Death Bang" "D:\Media\MixedTest\Family Guy\S01\S01E03 - Chitty Chitty Death Bang.avi" (Update Reason: None, MetadataImport, ImageUpdate, MetadataDownload) 
Media Item Updated "Mind Over Murder" "D:\Media\MixedTest\Family Guy\S01\S01E04 - Mind Over Murder.avi" (Update Reason: None, MetadataImport, ImageUpdate, MetadataDownload) 
Media Item Updated "A Hero Sits Next Door" "D:\Media\MixedTest\Family Guy\S01\S01E05 - A Hero Sits Net Door.avi" (Update Reason: None, MetadataImport, ImageUpdate, MetadataDownload) 
Media Item Updated "The Son Also Draws" "D:\Media\MixedTest\Family Guy\S01\S01E06 - The Son Also Draws.avi" (Update Reason: None, MetadataImport, ImageUpdate, MetadataDownload) 
Media Item Updated "Brian: Portrait of a Dog" "D:\Media\MixedTest\Family Guy\S01\S01E07 - Brian - Portrait Of A Dog.avi" (Update Reason: None, MetadataImport, ImageUpdate, MetadataDownload) 
Media Item Updated "Mixed Content Test" "C:\Users\Anthony\AppData\Roaming\Emby-Server\programdata\root\default\Mixed Content Test" (Update Reason: None, ImageUpdate) 
Library Scan Complete for Library: root (Duration: 00:00:19.7942540) (D:0) (H:0) (M:0) (S:19) 
Session Ended OK Anthony Chrome 
Session Started OK Anthony Chrome 

Share this post


Link to post
Share on other sites
PenkethBoy

try limiting it to just itemadded, with other options blank

 

add a movie (but as a folder with associated files) - not a file on its own - so you are creating a subfolder in your library and adding files to that all in one go

 

so you get the folder added update before item added

 

did not try series/seasons as got stuck at adding a movie folder

  • Like 1

Share this post


Link to post
Share on other sites
Anthony Musgrove

Thank you for the feedback mate, and so sorry for the delay.  Being an essential healthcare worker I've been struggling to get back to the computer :)

 

I've been working on the community side of it too.. Here's a screenshot so far..  I hope to get back into it this weekend and finish it off :)

 

5e956a321ae53_CommunitySectionSS.png

Share this post


Link to post
Share on other sites
Anthony Musgrove

Just keeping everyone in the loop! version 2.0.0 will be out soon.  Slowly plugging away at the core and interfaces.  I've taken on the ideas you've given me and creating a more flexible approach to configuring events - calling them Actions.  So multiple actions can exist for an event, which means you could have the one event trigger multiple scripts, using multiple interpreters, etc.

 

Some screenshots - (ignore the 'Config' tab as that will disappear before its released).  Kindest regards to all!

 

5e971aeb5a543_actions.png

 

5e971afedbf44_CommunityScripts.png

Share this post


Link to post
Share on other sites
Anthony Musgrove

Latest update, just working on interface.

 

Looking good so far I hope!

 

5e9ae27b23c4a_NewInterface2.png

Share this post


Link to post
Share on other sites
PenkethBoy

try limiting it to just itemadded, with other options blank

 

add a movie (but as a folder with associated files) - not a file on its own - so you are creating a subfolder in your library and adding files to that all in one go

 

so you get the folder added update before item added

 

did not try series/seasons as got stuck at adding a movie folder

Hi Anthony

 

Looking good on the additions

 

did you fix the above yet re library scans?

  • Like 1

Share this post


Link to post
Share on other sites
Anthony Musgrove
Posted (edited)

Great news!  Emby Scripter-X v2.0.0 (core & interface rewrite) is now available for download.

 

Please test it and report any bugs.   There is a current known issue that if you navigate away from the Actions interface, then back to it, the + (add) buttons for each of the sections no longer works - simply refresh the entire browser page to rectify this for now.  I am currently working on it!

 

https://github.com/AnthonyMusgrove/Emby-ScripterX

 

5e9c4d8b45b6e_EmbyScripterX_Logo_v2.png

 

5e9c4da9c0389_Actions.png

Edited by Anthony.Musgrove
  • Like 2

Share this post


Link to post
Share on other sites
@lex
Posted (edited)
thanks for the new version

 

the problem on my raspberry is still there

 

with /bin/bash i get

 



2020-04-19 17:42:18.874 Error Emby ScripterX: Error executing script '/home/emby_scripts/test.sh Worlds Collide': /bin/bash: /opt/emby-server/lib/libc.so.6: version `GLIBC_2.28' not found (required by /bin/bash)


with /usr/bin/bash i get this error

 



2020-04-19 17:42:49.691 Debug PlaystateService: ReportPlaybackStopped PlaySessionId: 
2020-04-19 17:42:49.692 Info SessionManager: Playback stopped reported by app Emby for Android Mobile 3.1.19 playing Worlds Collide. Stopped at 16000 ms
2020-04-19 17:42:49.695 Info HttpServer: HTTP Response 204 to 192.168.178.107. Time: 9ms. http://192.168.178.22:8096/emby/Sessions/Playing/Stopped
2020-04-19 17:42:49.711 Error SessionManager: Error in event handler
*** Error Report ***
Version: 4.4.2.0
Command line: /opt/emby-server/system/EmbyServer.dll -programdata /var/lib/emby -ffdetect /opt/emby-server/bin/ffdetect -ffmpeg /opt/emby-server/bin/ffmpeg -ffprobe /opt/emby-server/bin/ffprobe -restartexitcode 3 -updatepackage emby-server-deb_{version}_armhf.deb
Operating system: Unix 4.19.97.7
64-Bit OS: False
64-Bit Process: False
User Interactive: True
Runtime: file:///opt/emby-server/system/System.Private.CoreLib.dll
System.Environment.Version: 3.1.2
Processor count: 4
Program data path: /var/lib/emby
Application directory: /opt/emby-server/system
System.ComponentModel.Win32Exception: System.ComponentModel.Win32Exception (2): No such file or directory
   at System.Diagnostics.Process.ForkAndExecProcess(String filename, String[] argv, String[] envp, String cwd, Boolean redirectStdin, Boolean redirectStdout, Boolean redirectStderr, Boolean setCredentials, UInt32 userId, UInt32 groupId, UInt32[] groups, Int32& stdinFd, Int32& stdoutFd, Int32& stderrFd, Boolean usesTerminal, Boolean throwOnNoExec)
   at System.Diagnostics.Process.StartCore(ProcessStartInfo startInfo)
   at System.Diagnostics.Process.Start()
   at EmbyScripterX.Plugin.execute_action(EmbyScripterXAction nAction, String parameters)
   at EmbyScripterX.ScripterXController._sessionManager_PlaybackStopped(Object sender, PlaybackStopEventArgs e)
   at MediaBrowser.Common.Events.EventHelper.<>c__DisplayClass1_0`1.<QueueEventIfNotNull>b__0()
Source: System.Diagnostics.Process
TargetSite: Boolean ForkAndExecProcess(System.String, System.String[], System.String[], System.String, Boolean, Boolean, Boolean, Boolean, UInt32, UInt32, UInt32[], Int32 ByRef, Int32 ByRef, Int32 ByRef, Boolean, Boolean)


/usr/bin/python3 also dont working

 

it would be nice if you could fix that or tell me what I'm doing wrong

 


Edited by @lex

Share this post


Link to post
Share on other sites
PenkethBoy

Anthony

 

tried the new plugin - but multiple errors - using the new interface

 

1. it duplicates to onAuthentication - when that should stay blank - as i have only added to OnAdded

2. Forgets the script name - goes blank

3. if i put in -File for powershell it removes it - so script fails even though it appears to save it

4. No examples of how to use powershell/cmd - only bash so far

5. which line do i put -File/-Command on - in the interpreter bit on on the parameters line - tried both - and they get wiped

6. Script box is too small as is the parameters line

7. looking at the logs - you are putting the command in single quotes as well as the script path in double quotes???

 

Just an initial play for 5 mins - will await the next version

 

It appears so far that the library scan issue appears to have been fixed

  • Like 1

Share this post


Link to post
Share on other sites
Anthony Musgrove
Posted (edited)

Thank you so much for the feedback guys!  Version 2.1.0 is now up on Github.  It addresses the bugs above.  Thank you very much to @@Luke for the assistance regarding querySelector, the + (add) buttons are now functioning 100%.

 

I've tested this with bash, cmd.exe batch files and powershell.exe and it all works perfectly.

 

also note - if your EmbyScripterX Configuration (xml) file doesn't get removed when you uninstall the plugin to install the new version, it might be best to delete the configuration file after you've uninstalled the old version.  This is because version 2.0 stored the actions with incorrect action type ids, so everything was listed as 'onAuthenticationFailed', but now this is fixed, however it may not remove the old actions.  I'm not sure if the action on uninstalling a plugin is to automatically remove the configuration file? @@Luke ?  thank you guys!

 

So with powershell (I'll put up some examples) but that ScripterX-Test.ps1 you wrote, I modified and tested it on my installations.  So to use this plugin with powershell, simply 'add new action',

 

Run <Script> with <Interpreter> using <Parameters> should read:

 

Run -File "D:\embyscripts\ScripterX-test.ps1" with powershell.exe using

 

 -Name %item.name% -ID %item.id% -Type %item.type% -LibName %item.library.name%

 

 

So script = -File "D:\embyscripts\ScripterX-test.ps1"

      interpreter = powershell.exe

      parameters = -Name "%item.name%" -ID %item.id% -Type %item.type% -LibName "%item.library.name%"

 

eg:

 

5e9d8bf46cf96_powershellexample.png

Edited by Anthony.Musgrove
  • Like 1

Share this post


Link to post
Share on other sites
Anthony Musgrove

I've also setup a website for the project - https://www.emby-scripterx.info/

Share this post


Link to post
Share on other sites
Anthony Musgrove

 

thanks for the new version
 
the problem on my raspberry is still there
 
with /bin/bash i get
 
2020-04-19 17:42:18.874 Error Emby ScripterX: Error executing script '/home/emby_scripts/test.sh Worlds Collide': /bin/bash: /opt/emby-server/lib/libc.so.6: version `GLIBC_2.28' not found (required by /bin/bash)
with /user/bin/bash i get this error
 
2020-04-19 17:42:49.691 Debug PlaystateService: ReportPlaybackStopped PlaySessionId: 
2020-04-19 17:42:49.692 Info SessionManager: Playback stopped reported by app Emby for Android Mobile 3.1.19 playing Worlds Collide. Stopped at 16000 ms
2020-04-19 17:42:49.695 Info HttpServer: HTTP Response 204 to 192.168.178.107. Time: 9ms. http://192.168.178.22:8096/emby/Sessions/Playing/Stopped
2020-04-19 17:42:49.711 Error SessionManager: Error in event handler
*** Error Report ***
Version: 4.4.2.0
Command line: /opt/emby-server/system/EmbyServer.dll -programdata /var/lib/emby -ffdetect /opt/emby-server/bin/ffdetect -ffmpeg /opt/emby-server/bin/ffmpeg -ffprobe /opt/emby-server/bin/ffprobe -restartexitcode 3 -updatepackage emby-server-deb_{version}_armhf.deb
Operating system: Unix 4.19.97.7
64-Bit OS: False
64-Bit Process: False
User Interactive: True
Runtime: file:///opt/emby-server/system/System.Private.CoreLib.dll
System.Environment.Version: 3.1.2
Processor count: 4
Program data path: /var/lib/emby
Application directory: /opt/emby-server/system
System.ComponentModel.Win32Exception: System.ComponentModel.Win32Exception (2): No such file or directory
   at System.Diagnostics.Process.ForkAndExecProcess(String filename, String[] argv, String[] envp, String cwd, Boolean redirectStdin, Boolean redirectStdout, Boolean redirectStderr, Boolean setCredentials, UInt32 userId, UInt32 groupId, UInt32[] groups, Int32& stdinFd, Int32& stdoutFd, Int32& stderrFd, Boolean usesTerminal, Boolean throwOnNoExec)
   at System.Diagnostics.Process.StartCore(ProcessStartInfo startInfo)
   at System.Diagnostics.Process.Start()
   at EmbyScripterX.Plugin.execute_action(EmbyScripterXAction nAction, String parameters)
   at EmbyScripterX.ScripterXController._sessionManager_PlaybackStopped(Object sender, PlaybackStopEventArgs e)
   at MediaBrowser.Common.Events.EventHelper.<>c__DisplayClass1_0`1.<QueueEventIfNotNull>b__0()
Source: System.Diagnostics.Process
TargetSite: Boolean ForkAndExecProcess(System.String, System.String[], System.String[], System.String, Boolean, Boolean, Boolean, Boolean, UInt32, UInt32, UInt32[], Int32 ByRef, Int32 ByRef, Int32 ByRef, Boolean, Boolean)
/user/bin/python3 also dont working
 
it would be nice if you could fix that or tell me what I'm doing wrong
 

 

 

Hi mate - did you try /usr/bin/bash or /usr/bin/python3 ?  (I noticed you've specified user instead of usr) - it's a trivial question I know, but I'm inquisitive.  I need to get my hands on a Raspberry Pi and install it all and test it.  I'd be able to get it working without a doubt if I had one.  Leave it with me :)

  • Like 1

Share this post


Link to post
Share on other sites
PenkethBoy

Anthony

 

Success :)

 

Have it working with Powershell 5.1 (powershell.exe) and Powershell 7 (pwsh.exe)

 

1. Good it works with PS7 - so essentially the plugin will work with any valid exe that can take command line arguments?

2. With OnMediaItemRemoved - %item.library.name% is not filled in - guess because its not available anymore at that point?

onItemRemoved: -EventType "ItemRemoved" -Name "An Interview With The Queen Of Creole Cuisine  Leah Chase And Pat Mitchell" -ID 69332 -Type Folder -LibName "%item.library.name%" 

3. Would it be possible to suppress the debug info to the emby log when a library scan is running for those events that do not have entries in the plugin. Its just they add numerous records to the emby log when they possibly are not needed. Or have an option to suppress the ones you are not interested in?

4. Idea - When you are adding a new event - as its easy to mistype - could we have a Test option? - That would send dummy data to the script so quicker and easier to test and see in the Emby log/script log and catch typos?

5. Could we make the textboxes wider / use the full width of the screen on the plugin page? - as once you have saved the command line it quickly becomes too long to see it all - and when you want to compare the options you have chosen it quickly becomes a PIA to have to Edit each one and scroll along the text etc etc

 

Suggestion - for me the interpreter box should be before the Run box - hence my confusion on where to put the -File for powershell last night.

As the command line if you were using a script from a console window

is - Interpreter ScriptPath Options not ScriptPath Interpreter Options

 

Thanks

  • Like 3

Share this post


Link to post
Share on other sites
PenkethBoy

Another couple of Ideas :)

 

Currently Emby has a Post Processing option to run a script form the Dashboard>DVR option

 

But currently the only option is {path}

 

So could you add a new event say "OnRecordingFinish" so we could have %channel.name%, %channel.number%, %tuner.name% in addition to the usual applicable variables returned

 

Reason is with different channels you might want to apply different types of processing depending on what channel was recorded etc - as you can't always tell from "just" the path and name of the file

 

Might also be worth considering - having a event for a new recording has been scheduled - which a script could then take and check if it conflicts with other recordings depending on the number of tuners you have etc etc

  • Like 2

Share this post


Link to post
Share on other sites
Anthony Musgrove

Thank you so much for testing and feedback mate!
 

1. Good it works with PS7 - so essentially the plugin will work with any valid exe that can take command line arguments?


Absolutely mate!  The structure for the process call is <interpreter> <script>+ " " +<parameters>

 

2. With OnMediaItemRemoved - %item.library.name% is not filled in - guess because its not available anymore at that point?

onItemRemoved: -EventType "ItemRemoved" -Name "An Interview With The Queen Of Creole Cuisine  Leah Chase And Pat Mitchell" -ID 69332 -Type Folder -LibName "%item.library.name%" 

I'll check this out and make sure it's back in the next release, it shouldn't have been removed but I'll double check!

 

3. Would it be possible to suppress the debug info to the emby log when a library scan is running for those events that do not have entries in the plugin. Its just they add numerous records to the emby log when they possibly are not needed. Or have an option to suppress the ones you are not interested in?


I'll look into this mate.  Some of the log entries are automatically generated from Emby Core (for example attaching to the interfaces creates log entries that are internal to the core, which I don't add, but I'll see what we can do!

 

4. Idea - When you are adding a new event - as its easy to mistype - could we have a Test option? - That would send dummy data to the script so quicker and easier to test and see in the Emby log/script log and catch typos?


Absolutely, I can create a 'test' button, I'll look into this one

 

5. Could we make the textboxes wider / use the full width of the screen on the plugin page? - as once you have saved the command line it quickly becomes too long to see it all - and when you want to compare the options you have chosen it quickly becomes a PIA to have to Edit each one and scroll along the text etc etc
 
Suggestion - for me the interpreter box should be before the Run box - hence my confusion on where to put the -File for powershell last night.
As the command line if you were using a script from a console window
is - Interpreter ScriptPath Options not ScriptPath Interpreter Options


Yep, I can look at moving the textboxes around and make them bigger :)

  • Like 2

Share this post


Link to post
Share on other sites
Anthony Musgrove

Another couple of Ideas :)

 

Currently Emby has a Post Processing option to run a script form the Dashboard>DVR option

 

But currently the only option is {path}

 

So could you add a new event say "OnRecordingFinish" so we could have %channel.name%, %channel.number%, %tuner.name% in addition to the usual applicable variables returned

 

Reason is with different channels you might want to apply different types of processing depending on what channel was recorded etc - as you can't always tell from "just" the path and name of the file

 

Might also be worth considering - having a event for a new recording has been scheduled - which a script could then take and check if it conflicts with other recordings depending on the number of tuners you have etc etc

 

 

This is an amazing idea, and as soon as I saw the idea I started poking around the Mediabrowser SDK to find what I'd need to attach to, and I've found it!

 

2020-04-21 11:16:12.867 Info Emby ScripterX: Recordings Folders for Anthony: RecordedMovies,RecordedSeries,RecordedTV, I have full access to active recording information, timers, schedules, etc.  So this will be a big segment for the next major release, this is very exciting.

 

Thank you again so so much for this help and these suggestions, it is really coming along nicely.

 

(I'm at work, so I will begin a planning path once I've signed off for the night)  <3

  • Like 3

Share this post


Link to post
Share on other sites
maegibbons

Im still watching!

 

All great stuff!!

 

Krs

 

Mark

 

A 'like' is always appreciated!

  • Like 1

Share this post


Link to post
Share on other sites
Anthony Musgrove

Thank you so very much @@maegibbons it is so much appreciated! :)

 

version 2.1.1 is now on GitHub and really includes some cosmetic changes that @@PenkethBoy mentioned and suggested!  Thank you :)

 

5e9ed4e7669c3_EmbyScripterX_Logo_v211.pn

 

Changes

 

Actions interface now utilises the entire realestate, which makes it so so much easier to edit fields:

 

5e9ed50968943_utilise_width_config.png

 

 

Some input validation has been added, 'Script' and 'Interpreter' are now required fields, with parameters being optional.

 

5e9ed538dedac_Inputvalidation.png

 

When adding a new action (before it's saved to server), instead of showing the 'delete/trash' icon, it simply shows an X icon, which indicates 'remove this new action'.  Once a new action is saved, it will change the 'X' icon into a trash icon which will then indicate that it is being deleted from the server configuration.

 

The only thing I haven't yet changed is the order of the two textboxes, Script and Interpreter.  I'll be looking into that :)

 

Warmest regards! :)

  • Like 1

Share this post


Link to post
Share on other sites
Anthony Musgrove

Version 2.1.2 is now up on Github, I've added a new Event:  onCameraImageUploaded

 

5e9ee9ced9132_onCameraImageUploaded.png

 

Example batch script & Output:

 

5e9ee9d989ed7_onCameraImageUploaded_Outp

  • Like 2

Share this post


Link to post
Share on other sites
PenkethBoy

Hi Anthony

 

Tested v2.1.2 no major issues to report :)

 

1. Wider input boxes much easier to use

2. Would be good to have a list of future updates (somewhere) you have panned/are looking into etc - as this thread is already quite long and would be easy for things to get forgotten/missed

3. Also on the above list things that are not currently possible/awaiting a fix from Luke etc etc - will help with people asking for the same thing again and again :)

 

Couple of things i noticed in 2.1.2 which are probably on your list

1. OnRemoveItem %item.library.name% is still "blank"

2. OnLibraryScanComplete - could we have (if available) - events for a aborted/failed Library scan - on if easier OnAbortedLibraryScan/OnFailedLibaryScan ?

 

Thanks

  • Like 1

Share this post


Link to post
Share on other sites
PenkethBoy

Suggestions for OnScheduledTask

 

Name of Task

Scheduled Task Group its included in - as name may be generic and or duplicated with another task so could be confusing - depends how many plugins loaded that might have their own scheduled tasks

Time taken

Status - i.e. Completed/Failed/Aborted etc - if its available - Manual (user) start rather than on a schedule

When it last ran before - if that's available after you get the event?

  • Like 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...