Jump to content

New Plugin - Custom Scripting | Emby ScripterX


Anthony Musgrove

Recommended Posts

maegibbons
39 minutes ago, Anthony Musgrove said:

** If everyone can please upgrade to v3.0.5.5 on the official catalog, and report EVERY single issue in the Github Issues list and I'll get a team together asap.  Thank you guys

2022-04-17 06:09:47.362 Info App: ServerId: 57875ed148834eb0b2509428ce99de23
2022-04-17 06:09:47.378 Debug XmlSerializer: Deserializing file C:\EmbyServer\programdata\plugins\configurations\EmbyScripterX.xml
2022-04-17 06:09:47.428 Error App: Error creating EmbyScripterX.ScripterXController
	*** Error Report ***
	Version: 4.7.0.35
	Command line: C:\EmbyServer\system\EmbyServer.dll -noautorunwebapp
	Operating system: Microsoft Windows 10.0.19044
	Framework: .NET 6.0.2
	OS/Process: x64/x64
	Runtime: C:/EmbyServer/system/System.Private.CoreLib.dll
	Processor count: 12
	Data path: C:\EmbyServer\programdata
	Application path: C:\EmbyServer\system
	SimpleInjector.ActivationException: SimpleInjector.ActivationException: No registration for type ScripterXController could be found and an implicit registration could not be made. Could not load type 'MediaBrowser.Controller.LiveTv.ILiveTvService' from assembly 'MediaBrowser.Controller, Version=4.7.0.35, Culture=neutral, PublicKeyToken=null'.
	 ---> System.TypeLoadException: Could not load type 'MediaBrowser.Controller.LiveTv.ILiveTvService' from assembly 'MediaBrowser.Controller, Version=4.7.0.35, Culture=neutral, PublicKeyToken=null'.
	   at EmbyScripterX.ScripterXDVRMonitor.attachLiveTVInstance()
	   at EmbyScripterX.ScripterXDVRMonitor..ctor(ILiveTvManager liveTvManager, ILibraryManager libraryManager)
	   at EmbyScripterX.ScripterXController..ctor(ISessionManager sessionManager, IJsonSerializer jsonSerializer, IHttpClient httpClient, ILogManager logManager, IUserDataManager userDataManager, ILibraryManager libraryManager, IProviderManager providerManager, ITaskManager taskManager, ILiveTvManager liveTvManager, IDeviceManager deviceManager, ICollectionManager collectionManager, IServerConfigurationManager serverConfigurationManager, IApplicationHost applicationHost, IServerApplicationHost serverApplicationHost, IUserManager userManager, IDeviceDiscovery deviceDiscoveryManager, IEnvironmentInfo environmentInfo, IApplicationPaths applicationPaths, IHttpServer httpServer, IZipClient zipClient, IFileSystem fileSystem, IXmlSerializer xmlSerializer, ISubtitleManager subtitleManager)
	   at lambda_method842(Closure )
	   at SimpleInjector.InstanceProducer.BuildAndReplaceInstanceCreatorAndCreateFirstInstance()
	   at SimpleInjector.InstanceProducer.GetInstance()
	   --- End of inner exception stack trace ---
	   at SimpleInjector.InstanceProducer.GetInstance()
	   at SimpleInjector.Container.GetInstanceForRootType(Type serviceType)
	   at SimpleInjector.Container.GetInstance(Type serviceType)
	   at Emby.Server.Implementations.ApplicationHost.CreateInstanceSafe(Tuple`2 typeInfo)
	Source: SimpleInjector
	TargetSite: System.Object GetInstance()
	InnerException: System.TypeLoadException: Could not load type 'MediaBrowser.Controller.LiveTv.ILiveTvService' from assembly 'MediaBrowser.Controller, Version=4.7.0.35, Culture=neutral, PublicKeyToken=null'.
	Source: EmbyScripterX
	TargetSite: Void attachLiveTVInstance()
	   at EmbyScripterX.ScripterXDVRMonitor.attachLiveTVInstance()
	   at EmbyScripterX.ScripterXDVRMonitor..ctor(ILiveTvManager liveTvManager, ILibraryManager libraryManager)
	   at EmbyScripterX.ScripterXController..ctor(ISessionManager sessionManager, IJsonSerializer jsonSerializer, IHttpClient httpClient, ILogManager logManager, IUserDataManager userDataManager, ILibraryManager libraryManager, IProviderManager providerManager, ITaskManager taskManager, ILiveTvManager liveTvManager, IDeviceManager deviceManager, ICollectionManager collectionManager, IServerConfigurationManager serverConfigurationManager, IApplicationHost applicationHost, IServerApplicationHost serverApplicationHost, IUserManager userManager, IDeviceDiscovery deviceDiscoveryManager, IEnvironmentInfo environmentInfo, IApplicationPaths applicationPaths, IHttpServer httpServer, IZipClient zipClient, IFileSystem fileSystem, IXmlSerializer xmlSerializer, ISubtitleManager subtitleManager)
	   at lambda_method842(Closure )
	   at SimpleInjector.InstanceProducer.BuildAndReplaceInstanceCreatorAndCreateFirstInstance()
	   at SimpleInjector.InstanceProducer.GetInstance()
	
2022-04-17 06:09:47.458 Info App: Starting entry point Emby.Dlna.Main.DlnaEntryPoint
2022-04-17 06:09:47.469 Debug XmlSerializer: Deserializing file C:\EmbyServer\programdata\config\dlna.xml
2022-04-17 06:09:47.474 Info App: Entry point completed: Emby.Dlna.Main.DlnaEntryPoint. Duration: 0.0158235 seconds

The above is latest beta with your 3.0.5.5

Edited by maegibbons
Link to comment
Share on other sites

Anthony Musgrove
20 minutes ago, maegibbons said:
2022-04-17 06:09:47.362 Info App: ServerId: 57875ed148834eb0b2509428ce99de23
2022-04-17 06:09:47.378 Debug XmlSerializer: Deserializing file C:\EmbyServer\programdata\plugins\configurations\EmbyScripterX.xml
2022-04-17 06:09:47.428 Error App: Error creating EmbyScripterX.ScripterXController
	*** Error Report ***
	Version: 4.7.0.35
	Command line: C:\EmbyServer\system\EmbyServer.dll -noautorunwebapp
	Operating system: Microsoft Windows 10.0.19044
	Framework: .NET 6.0.2
	OS/Process: x64/x64
	Runtime: C:/EmbyServer/system/System.Private.CoreLib.dll
	Processor count: 12
	Data path: C:\EmbyServer\programdata
	Application path: C:\EmbyServer\system
	SimpleInjector.ActivationException: SimpleInjector.ActivationException: No registration for type ScripterXController could be found and an implicit registration could not be made. Could not load type 'MediaBrowser.Controller.LiveTv.ILiveTvService' from assembly 'MediaBrowser.Controller, Version=4.7.0.35, Culture=neutral, PublicKeyToken=null'.
	 ---> System.TypeLoadException: Could not load type 'MediaBrowser.Controller.LiveTv.ILiveTvService' from assembly 'MediaBrowser.Controller, Version=4.7.0.35, Culture=neutral, PublicKeyToken=null'.
	   at EmbyScripterX.ScripterXDVRMonitor.attachLiveTVInstance()
	   at EmbyScripterX.ScripterXDVRMonitor..ctor(ILiveTvManager liveTvManager, ILibraryManager libraryManager)
	   at EmbyScripterX.ScripterXController..ctor(ISessionManager sessionManager, IJsonSerializer jsonSerializer, IHttpClient httpClient, ILogManager logManager, IUserDataManager userDataManager, ILibraryManager libraryManager, IProviderManager providerManager, ITaskManager taskManager, ILiveTvManager liveTvManager, IDeviceManager deviceManager, ICollectionManager collectionManager, IServerConfigurationManager serverConfigurationManager, IApplicationHost applicationHost, IServerApplicationHost serverApplicationHost, IUserManager userManager, IDeviceDiscovery deviceDiscoveryManager, IEnvironmentInfo environmentInfo, IApplicationPaths applicationPaths, IHttpServer httpServer, IZipClient zipClient, IFileSystem fileSystem, IXmlSerializer xmlSerializer, ISubtitleManager subtitleManager)
	   at lambda_method842(Closure )
	   at SimpleInjector.InstanceProducer.BuildAndReplaceInstanceCreatorAndCreateFirstInstance()
	   at SimpleInjector.InstanceProducer.GetInstance()
	   --- End of inner exception stack trace ---
	   at SimpleInjector.InstanceProducer.GetInstance()
	   at SimpleInjector.Container.GetInstanceForRootType(Type serviceType)
	   at SimpleInjector.Container.GetInstance(Type serviceType)
	   at Emby.Server.Implementations.ApplicationHost.CreateInstanceSafe(Tuple`2 typeInfo)
	Source: SimpleInjector
	TargetSite: System.Object GetInstance()
	InnerException: System.TypeLoadException: Could not load type 'MediaBrowser.Controller.LiveTv.ILiveTvService' from assembly 'MediaBrowser.Controller, Version=4.7.0.35, Culture=neutral, PublicKeyToken=null'.
	Source: EmbyScripterX
	TargetSite: Void attachLiveTVInstance()
	   at EmbyScripterX.ScripterXDVRMonitor.attachLiveTVInstance()
	   at EmbyScripterX.ScripterXDVRMonitor..ctor(ILiveTvManager liveTvManager, ILibraryManager libraryManager)
	   at EmbyScripterX.ScripterXController..ctor(ISessionManager sessionManager, IJsonSerializer jsonSerializer, IHttpClient httpClient, ILogManager logManager, IUserDataManager userDataManager, ILibraryManager libraryManager, IProviderManager providerManager, ITaskManager taskManager, ILiveTvManager liveTvManager, IDeviceManager deviceManager, ICollectionManager collectionManager, IServerConfigurationManager serverConfigurationManager, IApplicationHost applicationHost, IServerApplicationHost serverApplicationHost, IUserManager userManager, IDeviceDiscovery deviceDiscoveryManager, IEnvironmentInfo environmentInfo, IApplicationPaths applicationPaths, IHttpServer httpServer, IZipClient zipClient, IFileSystem fileSystem, IXmlSerializer xmlSerializer, ISubtitleManager subtitleManager)
	   at lambda_method842(Closure )
	   at SimpleInjector.InstanceProducer.BuildAndReplaceInstanceCreatorAndCreateFirstInstance()
	   at SimpleInjector.InstanceProducer.GetInstance()
	
2022-04-17 06:09:47.458 Info App: Starting entry point Emby.Dlna.Main.DlnaEntryPoint
2022-04-17 06:09:47.469 Debug XmlSerializer: Deserializing file C:\EmbyServer\programdata\config\dlna.xml
2022-04-17 06:09:47.474 Info App: Entry point completed: Emby.Dlna.Main.DlnaEntryPoint. Duration: 0.0158235 seconds

The above is latest beta with your 3.0.5.5

Thank you @maegibbons,

 

I'm now compiling against the beta,  let me test. 

image.png.a0f5ccec448c870696e2b48e314ac8bd.png

 

 

Link to comment
Share on other sites

Anthony Musgrove
Just now, Anthony Musgrove said:

Thank you @maegibbons,

 

I'm now compiling against the beta,  let me test. 

image.png.a0f5ccec448c870696e2b48e314ac8bd.png

 

 

Appears in the beta, ILiveTvService interface is gone.  so this will be a fix needed, checking it out now.  I have Covid, my 4 year old son is jumping up and down on my back right now also with Covid, so struggling a bit.  bare with me!

 

thank you

 

Link to comment
Share on other sites

Anthony Musgrove

image.png.2f2d19eba9aa156e6ed1cbdd68359e4f.png

This is where the beta is at so far!

Edited by Anthony Musgrove
Fixed issue marked
Link to comment
Share on other sites

Anthony Musgrove

Now installing the beta channel server on my dev system, will focus now on getting it working on dev only.

Link to comment
Share on other sites

Anthony Musgrove

So far so good, I can see exactly why this has been a major issue.  A LOT of internal structures surrounding LiveTV have changed, and ScripterX needed to be modified to adjust to said changes.

Just trying to get XmlTv to download my guide data, and I'll be doing some rigorous testing.  Will keep updated. 

For some reason, XmlTV is trying to refresh data (from a local XML, or XML URL) and is completing in 2 sec with no effect:

 

2022-04-17 16:48:55.126 Info LiveTvManager: Refreshing guide with 7 days of guide data
2022-04-17 16:48:55.127 Debug TaskManager: Refresh Guide Completed after 0 minute(s) and 2 seconds

 

Edited by Anthony Musgrove
Fixed issue marked
Link to comment
Share on other sites

Anthony Musgrove

https://raw.githubusercontent.com/matthuisman/i.mjh.nz/master/au/Sydney/epg.xml

 

2022-04-17 16:56:30.206 Info LiveTvManager: Refreshing guide with 7 days of guide data
2022-04-17 16:56:30.206 Debug TaskManager: Refresh Guide Completed after 0 minute(s) and 3 seconds

 

Just trying to figure this one out!

Edited by Anthony Musgrove
Fixed this issue
Link to comment
Share on other sites

Anthony Musgrove
2022-04-17 17:03:41.798 Info Emby ScripterX: Debug - Detected RecordingEnded
2022-04-17 17:03:41.812 Info Emby ScripterX: Debug - Detected TimerCreated

Looking much better ... 

Link to comment
Share on other sites

Anthony Musgrove

I'm really liking the new event information @Luke, rather than Generic arguments (ie private void _embyTv_RecordingStarted(object sender, MediaBrowser.Model.Events.GenericEventArgs<TimerInfo> e))  and its now

private void _livetvManager_RecordingStarted(object sender, MediaBrowser.Model.Events.GenericEventArgs<ActiveRecordingInfo> e)
 

much cleaner, kudos.  This won't take too long to rectify.

  • Thanks 1
Link to comment
Share on other sites

Anthony Musgrove

I've also added the 4.0.0.0 Beta version onto the official Catalog, under 'Beta' and also restricted to the latest Beta Server version for installation.

image.png.5c9ef7354770ae1730b427e95f79998e.png

  • Like 2
Link to comment
Share on other sites

harrv
3 hours ago, Anthony Musgrove said:

Appears in the beta, ILiveTvService interface is gone.  so this will be a fix needed, checking it out now.  I have Covid, my 4 year old son is jumping up and down on my back right now also with Covid, so struggling a bit.  bare with me!

 

thank you

 

Oh, my! Sorry to hear that. I hope that struggle doesn't worsen for either of you!

Link to comment
Share on other sites

Anthony Musgrove
2 hours ago, harrv said:

Oh, my! Sorry to hear that. I hope that struggle doesn't worsen for either of you!

Thank you so much mate, things are going quite well considering.  At the moment its improving more toward a mild flu with slight muscle aches and pains.  The coughing was horrible though!   We're very lucky that it has been pretty mild!  ❤️ thank you.

Link to comment
Share on other sites

Anthony Musgrove

Now in the process of debugging the token data for Live TV Recording Start,  so far out of 56 variables, 

STARTED %recording.tuner.friendlyname% %recording.tuner.source% %recording.tuner.count% %recording.tuner.type% %recording.tuner.url% %recording.tuner.deviceid% %recording.channel.id% %recording.channel.name% %recording.channel.number% %recording.channel.type% %recording.channel.affiliatecallsign% %recording.channel.callsign% %recording.timer.id% %recording.name% %recording.path% %recording.program.id% %recording.show.id% %recording.episode.number% %recording.episode.title% %recording.series.id% %recording.season.number% %recording.productionyear% %recording.date.start.utc% %recording.date.end.utc% %recording.date.start% %recording.date.end% %recording.prepadsecs% %recording.postpadsecs% %recording.iskids% %recording.islive% %recording.ismanual% %recording.ismovie% %recording.isnew% %recording.isnews% %recording.isprepaddingrequired% %recording.ispostpaddingrequired% %recording.ispremiere% %recording.isprogramseries% %recording.isrepeat% %recording.isseries% %recording.issports% %server.name% %server.port.local.http% %server.port.local.https% %server.port.public.http% %server.port.public.https% %server.version% %server.platform.os% %server.platform.osver% %server.platform.uptime% %scripterx.version% %scripterx.version.major% %scripterx.version.revision% %scripterx.version.minor% %scripterx.version.build%

Working on it :)

ALL VARS = STARTED %recording.tuner.friendlyname% %recording.tuner.source% %recording.tuner.count% %recording.tuner.type% %recording.tuner.url% %recording.tuner.deviceid% 6709 %recording.channel.name% %recording.channel.number% %recording.channel.type% %recording.channel.affiliatecallsign% %recording.channel.callsign% b969028490fb40b2b3dab7c77f8a0677 Teen Mom OG C:\Users\Hunter3DPrinting\AppData\Roaming\Emby-Server\programdata\data\livetv\recordings\Teen Mom OG\Teen Mom OG 2022_04_17_23_59_41 - 1.ts 11952 %recording.show.id%  %recording.episode.title% 178bce6c8b92ce319c0615c52968ffd2   17/04/2022 1:59:41 PM +00:00 17/04/2022 2:58:04 PM +00:00 17/04/2022 11:59:41 PM 18/04/2022 12:58:04 AM 0 0 False False True False False False False False False True False True False H3DP-LASERPC 8096 8920 8096 8920 4.7.0.35 Win32NT Microsoft Windows 10.0.19042 23h 33m 23s  4.0.0.1 4 1 0 0

 

Now to rewire where ScripterX gets certain values from, to suit new libraries.

Link to comment
Share on other sites

Anthony Musgrove

Alrighty, so EmbyTV had a function exposed ; this._embyTv.GetChannelsAsync   (GetChannelsAsync) which I used to gather a list of channels that I could query when I needed channel information with a given ChannelId.

Just working on doing these things without needing Emby.LiveTV

 

 

Link to comment
Share on other sites

horstepipe
9 hours ago, Anthony Musgrove said:

I've also added the 4.0.0.0 Beta version onto the official Catalog, under 'Beta' and also restricted to the latest Beta Server version for installation.

image.png.5c9ef7354770ae1730b427e95f79998e.png

hey, glad to see you again! 🙂

I'm sorry maybe I'm blind, but where exactly can I find the 4.0 beta?

I'm just seeing this:

scripter.PNG

Link to comment
Share on other sites

horstepipe
9 hours ago, Anthony Musgrove said:

I've also added the 4.0.0.0 Beta version onto the official Catalog, under 'Beta' and also restricted to the latest Beta Server version for installation.

image.png.5c9ef7354770ae1730b427e95f79998e.png

hey, glad to see you again! 🙂

I'm sorry maybe I'm blind, but where exactly can I find the 4.0 beta?

I'm just seeing this:

 

edit:

nevermind, I wasn't on the latest beta

Link to comment
Share on other sites

pünktchen
9 hours ago, Anthony Musgrove said:

Alrighty, so EmbyTV had a function exposed ; this._embyTv.GetChannelsAsync   (GetChannelsAsync) which I used to gather a list of channels that I could query when I needed channel information with a given ChannelId.

Just working on doing these things without needing Emby.LiveTV

Try something like this:

var baseItems = Emby.LibraryManager.GetItemList(new InternalItemsQuery
{
    IncludeItemTypes = new[] { typeof(LiveTvChannel).Name },
});

List<LiveTvChannel> liveTvChannels = baseItems.Cast<LiveTvChannel>().ToList();

 

Link to comment
Share on other sites

Anthony Musgrove
4 hours ago, pünktchen said:

Try something like this:

var baseItems = Emby.LibraryManager.GetItemList(new InternalItemsQuery
{
    IncludeItemTypes = new[] { typeof(LiveTvChannel).Name },
});

List<LiveTvChannel> liveTvChannels = baseItems.Cast<LiveTvChannel>().ToList();

 

Hey mate, thank you for the suggestion.  

One major problem with this is that with the Emby.LiveTV, I get a list of ChannelInfo objects, which have properties such as the tuner, channel callsign etc, whereas the LiveTvChannel objects have none of this and severely lack any of the information I need .. I need to figure out now how to get the ChannelInfo objects from the LiveTvChannel list, you've definitely given me a starting point - thank you!

 

Link to comment
Share on other sites

Anthony Musgrove
3 minutes ago, Anthony Musgrove said:

Hey mate, thank you for the suggestion.  

One major problem with this is that with the Emby.LiveTV, I get a list of ChannelInfo objects, which have properties such as the tuner, channel callsign etc, whereas the LiveTvChannel objects have none of this and severely lack any of the information I need .. I need to figure out now how to get the ChannelInfo objects from the LiveTvChannel list, you've definitely given me a starting point - thank you!

 

 

and definitely using this method, I have successfully queried 50 live TV channels (and keeping them for use in a separate list), 

2022-04-18 15:28:28.401 Info Emby ScripterX: Attached to LiveTV Manager (RecordingStarted, RecordingEnded, TimerCreated, TimerCancelled)
2022-04-18 15:28:28.428 Info Emby ScripterX: Successfully loaded 50 live TV channels into LiveTVChannel List.

so thank you so much for the assistance thus far!

 

Link to comment
Share on other sites

Anthony Musgrove

                    LiveTvChannel lChan = (LiveTvChannel)ltChan;
                   
                    //lChan.GetMediaSources
                    //lChan.GetOwner
                    //lChan.GetUniquelyIdentifiableProviderIds
                    //lChan.Number
                    //lChan.Prefix

 

I need to be able to get the same data as I did from a ChannelInfo, ie  AffiliateCallSign, TunerChannelId, TunerHostId, etc:

image.png.25852565cf7f3c356f88d8a9ac1901cc.png

image.png.197b36c5713a9bbefb787fce47a9ce83.png

Link to comment
Share on other sites

Anthony Musgrove
7 minutes ago, Anthony Musgrove said:

                    LiveTvChannel lChan = (LiveTvChannel)ltChan;
                   
                    //lChan.GetMediaSources
                    //lChan.GetOwner
                    //lChan.GetUniquelyIdentifiableProviderIds
                    //lChan.Number
                    //lChan.Prefix

 

I need to be able to get the same data as I did from a ChannelInfo, ie  AffiliateCallSign, TunerChannelId, TunerHostId, etc:

image.png.25852565cf7f3c356f88d8a9ac1901cc.png

image.png.197b36c5713a9bbefb787fce47a9ce83.png

 

However, apart from being able to decypher which tuner provides the LiveTvChannel objects, *some* of the usable data comes from the Query:

 

2022-04-18 16:04:23.734 Info Emby ScripterX: Loaded LiveTVChannel : HD, 10, 
2022-04-18 16:04:23.734 Info Emby ScripterX: Loaded LiveTVChannel : SBS ONE, , 
2022-04-18 16:04:23.734 Info Emby ScripterX: Loaded LiveTVChannel : Brisbane, 7, 
2022-04-18 16:04:23.734 Info Emby ScripterX: Loaded LiveTVChannel : Channel 9 Brisbane, , 
2022-04-18 16:04:23.734 Info Emby ScripterX: Loaded LiveTVChannel : 10, , 
2022-04-18 16:04:23.734 Info Emby ScripterX: Loaded LiveTVChannel : Peach, 10, 
2022-04-18 16:04:23.734 Info Emby ScripterX: Loaded LiveTVChannel : BOLD, 10, 
2022-04-18 16:04:23.734 Info Emby ScripterX: Loaded LiveTVChannel : SHAKE, 10, 
2022-04-18 16:04:23.734 Info Emby ScripterX: Loaded LiveTVChannel : TVSN, , 
2022-04-18 16:04:23.734 Info Emby ScripterX: Loaded LiveTVChannel : SpreeTV, , 
2022-04-18 16:04:23.734 Info Emby ScripterX: Loaded LiveTVChannel : ABCTV HD, , 
2022-04-18 16:04:23.734 Info Emby ScripterX: Loaded LiveTVChannel : ABC TV, , 
2022-04-18 16:04:23.734 Info Emby ScripterX: Loaded LiveTVChannel : ABCKids/TVPlus, , 
2022-04-18 16:04:23.734 Info Emby ScripterX: Loaded LiveTVChannel : ABC ME, , 
2022-04-18 16:04:23.734 Info Emby ScripterX: Loaded LiveTVChannel : ABC NEWS, , 
2022-04-18 16:04:23.734 Info Emby ScripterX: Loaded LiveTVChannel : ABC BRISBANE, , 
2022-04-18 16:04:23.734 Info Emby ScripterX: Loaded LiveTVChannel : ABC RN, , 
2022-04-18 16:04:23.734 Info Emby ScripterX: Loaded LiveTVChannel : ABC Classic, , 
2022-04-18 16:04:23.734 Info Emby ScripterX: Loaded LiveTVChannel : triple j, , 
2022-04-18 16:04:23.734 Info Emby ScripterX: Loaded LiveTVChannel : triple j Unearthed, , 
2022-04-18 16:04:23.734 Info Emby ScripterX: Loaded LiveTVChannel : SBS ONE HD, , 
2022-04-18 16:04:23.734 Info Emby ScripterX: Loaded LiveTVChannel : SBS VICELAND HD, , 
2022-04-18 16:04:23.734 Info Emby ScripterX: Loaded LiveTVChannel : SBS World Movies, , 
2022-04-18 16:04:23.734 Info Emby ScripterX: Loaded LiveTVChannel : SBS Food, , 
2022-04-18 16:04:23.734 Info Emby ScripterX: Loaded LiveTVChannel : NITV, , 
2022-04-18 16:04:23.734 Info Emby ScripterX: Loaded LiveTVChannel : SBS Arabic24, , 
2022-04-18 16:04:23.734 Info Emby ScripterX: Loaded LiveTVChannel : SBS Radio 1, , 
2022-04-18 16:04:23.734 Info Emby ScripterX: Loaded LiveTVChannel : SBS Radio 2, , 
2022-04-18 16:04:23.734 Info Emby ScripterX: Loaded LiveTVChannel : SBS Chill, , 
2022-04-18 16:04:23.734 Info Emby ScripterX: Loaded LiveTVChannel : 7HD Brisbane, , 
2022-04-18 16:04:23.734 Info Emby ScripterX: Loaded LiveTVChannel : 7TWO Brisbane, , 
2022-04-18 16:04:23.734 Info Emby ScripterX: Loaded LiveTVChannel : 7mate Brisbane, , 
2022-04-18 16:04:23.734 Info Emby ScripterX: Loaded LiveTVChannel : 7mateHD Brisbane, , 
2022-04-18 16:04:23.734 Info Emby ScripterX: Loaded LiveTVChannel : 7flix Brisbane, , 
2022-04-18 16:04:23.734 Info Emby ScripterX: Loaded LiveTVChannel : RACING.COM, , 
2022-04-18 16:04:23.734 Info Emby ScripterX: Loaded LiveTVChannel : 9HD Brisbane, , 
2022-04-18 16:04:23.734 Info Emby ScripterX: Loaded LiveTVChannel : 9Gem Brisbane, , 
2022-04-18 16:04:23.734 Info Emby ScripterX: Loaded LiveTVChannel : 9Go! Brisbane, , 
2022-04-18 16:04:23.734 Info Emby ScripterX: Loaded LiveTVChannel : 9Life Brisbane, , 
2022-04-18 16:04:23.734 Info Emby ScripterX: Loaded LiveTVChannel : 9GemHD Brisbane, , 
2022-04-18 16:04:23.734 Info Emby ScripterX: Loaded LiveTVChannel : 9Rush Brisbane, , 
2022-04-18 16:04:23.734 Info Emby ScripterX: Loaded LiveTVChannel : Extra, , 
2022-04-18 16:04:23.734 Info Emby ScripterX: Loaded LiveTVChannel : Double J, , 
2022-04-18 16:04:23.734 Info Emby ScripterX: Loaded LiveTVChannel : ABC Jazz, , 
2022-04-18 16:04:23.734 Info Emby ScripterX: Loaded LiveTVChannel : ABC KIDS Listen, , 
2022-04-18 16:04:23.734 Info Emby ScripterX: Loaded LiveTVChannel : ABC Country, , 
2022-04-18 16:04:23.734 Info Emby ScripterX: Loaded LiveTVChannel : ABC NewsRadio, , 
2022-04-18 16:04:23.734 Info Emby ScripterX: Loaded LiveTVChannel : SBS Radio 3, , 
2022-04-18 16:04:23.734 Info Emby ScripterX: Loaded LiveTVChannel : SBS PopDesi, , 
2022-04-18 16:04:23.734 Info Emby ScripterX: Loaded LiveTVChannel : SBS PopAsia, , 
2022-04-18 16:04:23.734 Info Emby ScripterX: Successfully loaded 50 live TV channels into LiveTVChannel List.
Plugin._iLogger.Info("Loaded LiveTVChannel : " + lChan.Name + ", " + lChan.Number + ", " + lChan.Prefix);

 

Link to comment
Share on other sites

Anthony Musgrove

I also gained the same result set by using:

            var baseItemsTEst = this._livetvManager.GetInternalChannels(new InternalItemsQuery
            {
            }, false, new System.Threading.CancellationToken(false));

 

But they're still LiveTvChannel objects, and I need ChannelInfo.  I wonder if @Luke could help here.  Thanks mate.

2022-04-18 19:08:46.450 Info Emby ScripterX: Debug - Total Internal Channels Count = 50
2022-04-18 19:08:46.450 Info Emby ScripterX: Internal Channel #0, Name=7flix Brisbane Type=MediaBrowser.Controller.LiveTv.LiveTvChannel
2022-04-18 19:08:46.450 Info Emby ScripterX: Internal Channel #1, Name=7HD Brisbane Type=MediaBrowser.Controller.LiveTv.LiveTvChannel
2022-04-18 19:08:46.450 Info Emby ScripterX: Internal Channel #2, Name=7mate Brisbane Type=MediaBrowser.Controller.LiveTv.LiveTvChannel
2022-04-18 19:08:46.450 Info Emby ScripterX: Internal Channel #3, Name=7mateHD Brisbane Type=MediaBrowser.Controller.LiveTv.LiveTvChannel
2022-04-18 19:08:46.450 Info Emby ScripterX: Internal Channel #4, Name=7TWO Brisbane Type=MediaBrowser.Controller.LiveTv.LiveTvChannel
2022-04-18 19:08:46.450 Info Emby ScripterX: Internal Channel #5, Name=9Gem Brisbane Type=MediaBrowser.Controller.LiveTv.LiveTvChannel
2022-04-18 19:08:46.450 Info Emby ScripterX: Internal Channel #6, Name=9GemHD Brisbane Type=MediaBrowser.Controller.LiveTv.LiveTvChannel
2022-04-18 19:08:46.450 Info Emby ScripterX: Internal Channel #7, Name=9Go! Brisbane Type=MediaBrowser.Controller.LiveTv.LiveTvChannel
2022-04-18 19:08:46.450 Info Emby ScripterX: Internal Channel #8, Name=9HD Brisbane Type=MediaBrowser.Controller.LiveTv.LiveTvChannel
2022-04-18 19:08:46.450 Info Emby ScripterX: Internal Channel #9, Name=9Life Brisbane Type=MediaBrowser.Controller.LiveTv.LiveTvChannel
2022-04-18 19:08:46.450 Info Emby ScripterX: Internal Channel #10, Name=9Rush Brisbane Type=MediaBrowser.Controller.LiveTv.LiveTvChannel
2022-04-18 19:08:46.450 Info Emby ScripterX: Internal Channel #11, Name=10 Type=MediaBrowser.Controller.LiveTv.LiveTvChannel
2022-04-18 19:08:46.450 Info Emby ScripterX: Internal Channel #12, Name=ABC BRISBANE Type=MediaBrowser.Controller.LiveTv.LiveTvChannel
2022-04-18 19:08:46.450 Info Emby ScripterX: Internal Channel #13, Name=ABC Classic Type=MediaBrowser.Controller.LiveTv.LiveTvChannel
2022-04-18 19:08:46.450 Info Emby ScripterX: Internal Channel #14, Name=ABC Country Type=MediaBrowser.Controller.LiveTv.LiveTvChannel
2022-04-18 19:08:46.450 Info Emby ScripterX: Internal Channel #15, Name=ABC Jazz Type=MediaBrowser.Controller.LiveTv.LiveTvChannel
2022-04-18 19:08:46.450 Info Emby ScripterX: Internal Channel #16, Name=ABC KIDS Listen Type=MediaBrowser.Controller.LiveTv.LiveTvChannel
2022-04-18 19:08:46.450 Info Emby ScripterX: Internal Channel #17, Name=ABC ME Type=MediaBrowser.Controller.LiveTv.LiveTvChannel
2022-04-18 19:08:46.450 Info Emby ScripterX: Internal Channel #18, Name=ABC NEWS Type=MediaBrowser.Controller.LiveTv.LiveTvChannel
2022-04-18 19:08:46.450 Info Emby ScripterX: Internal Channel #19, Name=ABC NewsRadio Type=MediaBrowser.Controller.LiveTv.LiveTvChannel
2022-04-18 19:08:46.450 Info Emby ScripterX: Internal Channel #20, Name=ABC RN Type=MediaBrowser.Controller.LiveTv.LiveTvChannel
2022-04-18 19:08:46.450 Info Emby ScripterX: Internal Channel #21, Name=ABC TV Type=MediaBrowser.Controller.LiveTv.LiveTvChannel
2022-04-18 19:08:46.450 Info Emby ScripterX: Internal Channel #22, Name=ABCKids/TVPlus Type=MediaBrowser.Controller.LiveTv.LiveTvChannel
2022-04-18 19:08:46.450 Info Emby ScripterX: Internal Channel #23, Name=ABCTV HD Type=MediaBrowser.Controller.LiveTv.LiveTvChannel
2022-04-18 19:08:46.450 Info Emby ScripterX: Internal Channel #24, Name=Channel 9 Brisbane Type=MediaBrowser.Controller.LiveTv.LiveTvChannel
2022-04-18 19:08:46.450 Info Emby ScripterX: Internal Channel #25, Name=Double J Type=MediaBrowser.Controller.LiveTv.LiveTvChannel
2022-04-18 19:08:46.450 Info Emby ScripterX: Internal Channel #26, Name=Extra Type=MediaBrowser.Controller.LiveTv.LiveTvChannel
2022-04-18 19:08:46.450 Info Emby ScripterX: Internal Channel #27, Name=NITV Type=MediaBrowser.Controller.LiveTv.LiveTvChannel
2022-04-18 19:08:46.450 Info Emby ScripterX: Internal Channel #28, Name=RACING.COM Type=MediaBrowser.Controller.LiveTv.LiveTvChannel
2022-04-18 19:08:46.450 Info Emby ScripterX: Internal Channel #29, Name=SBS Arabic24 Type=MediaBrowser.Controller.LiveTv.LiveTvChannel
2022-04-18 19:08:46.450 Info Emby ScripterX: Internal Channel #30, Name=SBS Chill Type=MediaBrowser.Controller.LiveTv.LiveTvChannel
2022-04-18 19:08:46.450 Info Emby ScripterX: Internal Channel #31, Name=SBS Food Type=MediaBrowser.Controller.LiveTv.LiveTvChannel
2022-04-18 19:08:46.450 Info Emby ScripterX: Internal Channel #32, Name=SBS ONE Type=MediaBrowser.Controller.LiveTv.LiveTvChannel
2022-04-18 19:08:46.450 Info Emby ScripterX: Internal Channel #33, Name=SBS ONE HD Type=MediaBrowser.Controller.LiveTv.LiveTvChannel
2022-04-18 19:08:46.450 Info Emby ScripterX: Internal Channel #34, Name=SBS PopAsia Type=MediaBrowser.Controller.LiveTv.LiveTvChannel
2022-04-18 19:08:46.450 Info Emby ScripterX: Internal Channel #35, Name=SBS PopDesi Type=MediaBrowser.Controller.LiveTv.LiveTvChannel
2022-04-18 19:08:46.450 Info Emby ScripterX: Internal Channel #36, Name=SBS Radio 1 Type=MediaBrowser.Controller.LiveTv.LiveTvChannel
2022-04-18 19:08:46.450 Info Emby ScripterX: Internal Channel #37, Name=SBS Radio 2 Type=MediaBrowser.Controller.LiveTv.LiveTvChannel
2022-04-18 19:08:46.450 Info Emby ScripterX: Internal Channel #38, Name=SBS Radio 3 Type=MediaBrowser.Controller.LiveTv.LiveTvChannel
2022-04-18 19:08:46.450 Info Emby ScripterX: Internal Channel #39, Name=SBS VICELAND HD Type=MediaBrowser.Controller.LiveTv.LiveTvChannel
2022-04-18 19:08:46.450 Info Emby ScripterX: Internal Channel #40, Name=SBS World Movies Type=MediaBrowser.Controller.LiveTv.LiveTvChannel
2022-04-18 19:08:46.450 Info Emby ScripterX: Internal Channel #41, Name=SpreeTV Type=MediaBrowser.Controller.LiveTv.LiveTvChannel
2022-04-18 19:08:46.450 Info Emby ScripterX: Internal Channel #42, Name=triple j Type=MediaBrowser.Controller.LiveTv.LiveTvChannel
2022-04-18 19:08:46.450 Info Emby ScripterX: Internal Channel #43, Name=triple j Unearthed Type=MediaBrowser.Controller.LiveTv.LiveTvChannel
2022-04-18 19:08:46.450 Info Emby ScripterX: Internal Channel #44, Name=TVSN Type=MediaBrowser.Controller.LiveTv.LiveTvChannel
2022-04-18 19:08:46.450 Info Emby ScripterX: Internal Channel #45, Name=Brisbane Type=MediaBrowser.Controller.LiveTv.LiveTvChannel
2022-04-18 19:08:46.450 Info Emby ScripterX: Internal Channel #46, Name=BOLD Type=MediaBrowser.Controller.LiveTv.LiveTvChannel
2022-04-18 19:08:46.450 Info Emby ScripterX: Internal Channel #47, Name=HD Type=MediaBrowser.Controller.LiveTv.LiveTvChannel
2022-04-18 19:08:46.450 Info Emby ScripterX: Internal Channel #48, Name=Peach Type=MediaBrowser.Controller.LiveTv.LiveTvChannel
2022-04-18 19:08:46.450 Info Emby ScripterX: Internal Channel #49, Name=SHAKE Type=MediaBrowser.Controller.LiveTv.LiveTvChannel
Link to comment
Share on other sites

Anthony Musgrove

I guess, 

        private void _livetvManager_RecordingStarted(object sender, MediaBrowser.Model.Events.GenericEventArgs<ActiveRecordingInfo> e)
 

The event arguments need to include the tuner, or channel, etc.  There's no way to link this recording info or event back to a tuner (tuner responsible for starting and handling the recording) etc.

Link to comment
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...