|
SageTV v7 Customizations This forums is for discussing and sharing user-created modifications for the SageTV version 7 application created by using the SageTV Studio or through the use of external plugins. Use this forum to discuss plugins for SageTV version 7 and newer. |
|
Thread Tools | Search this Thread | Display Modes |
#1001
|
|||
|
|||
It is not a script but you can do this with jrekiwi's Complementary Metadata tool and you can do it from within the Sage UI. This would work well if you just want to change a few recordings but not so good if it is dozens or hundreds.
__________________
New Server - Sage9 on unRAID 2xHD-PVR, HDHR for OTA Old Server - Sage7 on Win7Pro-i660CPU with 4.6TB, HD-PVR, HDHR OTA, HVR-1850 OTA Clients - 2xHD-300, 8xHD-200 Extenders, Client+2xPlaceshifter and a WHS which acts as a backup Sage server |
#1002
|
|||
|
|||
Not at this time, however, I'm working on something for my setup that may/probably will require such a script. If I end up writing it, I'll share it here. The strategy, as far as I understand it, is to create a show with an external ID of SH* (or EP* or MV*) and link that newly created show to the imported video - that should make it a Sage recording.
__________________
Twitter: @ddb_db Server: Intel i5-4570 Quad Core, 16GB RAM, 1 x 128GB OS SSD (Win7 Pro x64 SP1), 1 x 2TB media drive Capture: 2 x Colossus STB Controller: 1 x USB-UIRT Software:Java 1.7.0_71; SageTV 7.1.9 Clients: 1 x HD300, 2 x HD200, 1 x SageClient, 1 x PlaceShifter Plugins: Too many to list now... |
#1003
|
||||
|
||||
OK...know how to make changes like Title/Episode and other Metadata changes using CMT but how do you make an Import into Sage Recording using CMT?
|
#1004
|
||||
|
||||
Quote:
|
#1005
|
|||
|
|||
When I click on Manage Metadata (which I assume is using CMT) and then Edit Metadata a full screen of fields comes up including Media Type (TV/Movie).
__________________
New Server - Sage9 on unRAID 2xHD-PVR, HDHR for OTA Old Server - Sage7 on Win7Pro-i660CPU with 4.6TB, HD-PVR, HDHR OTA, HVR-1850 OTA Clients - 2xHD-300, 8xHD-200 Extenders, Client+2xPlaceshifter and a WHS which acts as a backup Sage server |
#1006
|
|||
|
|||
Quote:
Code:
ShowAPI.AddShow() // Make sure the show you create has an external ID starting with MV, SH or EP MediaFileAPI.AddMediaFile() MediaFileAPI.SetMediaFileShow() // Use the Show and MediaFile objs you created in the first calls as the arguments to this call
__________________
Twitter: @ddb_db Server: Intel i5-4570 Quad Core, 16GB RAM, 1 x 128GB OS SSD (Win7 Pro x64 SP1), 1 x 2TB media drive Capture: 2 x Colossus STB Controller: 1 x USB-UIRT Software:Java 1.7.0_71; SageTV 7.1.9 Clients: 1 x HD300, 2 x HD200, 1 x SageClient, 1 x PlaceShifter Plugins: Too many to list now... |
#1007
|
||||
|
||||
Still playing around some. But definitely something strange. Maybe it's my misunderstanding.
Code:
MediaFileAPI.SetMediaFileMetadata(mf,'ExternalID','EPmt80379S01E02') ; println ( "MF ExternalID = " + MediaFileAPI.GetMediaFileMetadata(mf,'ExternalID') ) ; Code:
MF ExternalID = Code:
The Big Bang Theory Aired: Nov 16, 2011 7:39 PM - 8:00 PM Duration: 20 m Rating: TVPG Category: Comedy - Rerun Run Time: 30 minutes Original Air Date: Monday, October 1, 2007 Season 1 Episode 2 Closed Captioned, Stereo Show ID: EPmt80379S01E02 Starring: Jim Parsons -- Sheldon Cooper [imdb], Johnny Galecki -- Leonard Hofstadter [imdb], Kaley Cuoco -- Penny [imdb], Kunal Nayyar -- Rajesh Koothrappali [imdb], Simon Helberg -- Howard Wolowitz [imdb], Sara Gilbert -- Leslie Winkle [imdb], Kevin Sussman -- Stuart [imdb], Melissa Rauch -- Bernadette Rostenkowski [imdb], Mayim Bialik -- Amy Farrah Fowler [imdb] Director: Mark Cendrowski [imdb] Writer: Chuck Lorre [imdb], Bill Prady [imdb], Robert Cohen [imdb], Dave Goetsch [imdb] Executive Producer: Chuck Lorre [imdb], Bill Prady [imdb] File Format: MPEG2-PS[MPEG2-Video 4:3 480i@29.97fps, MP2/384Kbps@48kHz Stereo] Files: \\TOWER\UnArchived\br\The Big Bang Theory\Season 1\TheBigBangTheory-TheBigBranHypothesis-5910254-0.mpg File Playlists: [wvx] [m3u] [pls] Size: 0.67GB Internal details: MediaFileID=6118855 , AiringID=6379676 |
#1008
|
|||
|
|||
You can't set the external id using the SetMediaFileMetadata(); won't work. However that file appears to have been processed by BMT and should be showing up as a tv recording. If not then whatever is listing it as a movie is buggy because the external id looks good.
__________________
Twitter: @ddb_db Server: Intel i5-4570 Quad Core, 16GB RAM, 1 x 128GB OS SSD (Win7 Pro x64 SP1), 1 x 2TB media drive Capture: 2 x Colossus STB Controller: 1 x USB-UIRT Software:Java 1.7.0_71; SageTV 7.1.9 Clients: 1 x HD300, 2 x HD200, 1 x SageClient, 1 x PlaceShifter Plugins: Too many to list now... |
#1009
|
||||
|
||||
Quote:
|
#1010
|
||||
|
||||
OK...think I am getting closer as to WHAT is happening, no clue on the WHY.
Attached are logs for another show, before and after the move script and my move/test scripts. Also got attached the groovy script to show all the metadata in the logs Was a Sage Recording, after move, shows as Imported Video (not Recording) after the move. I have not tried BMT on the file yet as I doubt it will make any difference at this point What appears to be happening is that the MediaFileID changes (I think that is expected) and the AiringID changes (do not think this should be happening) Before = Internal details: MediaFileID=6379711 , AiringID=5935910 After = Internal details: MediaFileID=6379754 , AiringID=6379758 I did check a file that was moved prior to all these problems occurring and the AiringID matches what is in the filename. Any help would be greatly appreciated. Going to be in the dog house for awhile after this fiasco. find_tv_to_archive is a crontask which runs and kicks off another task which is the mv (test & actual move) Now back to docs to figure out how to change the AiringID for the MediaFiles back to what it should be (to fix the ones with issues currently) But would be happier if I can fix the issue from happening in the first place |
#1011
|
|||
|
|||
When I asked SageTV support about this (back on version 6 of SageTV) I was told that this should only happen (change in AiringID) when an EPG update changes the ID. SageTV would still associate the media file with the WRONG ID in it to the new AiringID because the file was in the same location as before. But when the file is moved it can no longer keep the match. I asked this question for a plugin I was writing for SageTV V6 but never released because of other complications.
|
#1012
|
||||
|
||||
Quote:
|
#1013
|
|||
|
|||
I didn't buy it either when told but figured I would put it out there as a possible reason. I could never prove that it wasn't an EPG update because my files were always months old when I had this problem in V6.
|
#1014
|
||||
|
||||
Making some headway. Got the MediaFile linked to the original AiringID. BUT still not a recording. Any other thoughts on how/what needs to be done to make this a Recording? IsTVFile? = false
Internal details: MediaFileID=6379754 , AiringID=5935910 Code:
MF # of Segments = 1 MF ExternalID = EP011167430385 IsTVFile? = false Archived? = true Watched? = false Don't Like? = false Not M or F? = true MediaType = Show External ID = EP011167430385 Media File ID = 6379754 AiringID = 5935910 AiringAPI info to use for AddAiring ChannelName = FNC ChannelNumber = 360 AiringDuration = 3600000 AiringEndTime = 1321596000000 AiringID = 5935910 AiringPartNumber = 1 AiringPremiereFinaleInfo = AiringStartTime = 1321592400000 AiringTitle = Hannity AiringTotalParts = 1 ExtraAiringDetails = LatestWatchedTime = 1321592400000 ParentalRating = RealWatchedEndTime = 0 RealWatchedStartTime = 0 RecordingName = RecordingQuality = ScheduleDuration = 3600000 ScheduleEndTime = 1321596000000 ScheduleRecordingRecurrence = ScheduleStartTime = 1321592400000 TrackNumber = 0 WatchedDuration = 0 WatchedEndTime = 0 WatchedStartTime = 0 ShowAPI info to use for AddShow ShowTitle = Hannity IsShowFirstRun = true ShowEpisode = Hannity ShowDescription = ShowDuration = 0 ShowCategoriesList = [Talk, News] PeopleAndCharacterListInShow = [Sean Hannity] ShowRated = ShowYear = ShowExternalID = EP011167430385 ShowLanguage = OriginalAiringDate = 1321574400000 ShowSeasonNumber = 0 ShowEpisodeNumber = 0 |
#1015
|
|||
|
|||
When you move the file and relink it, I think it will not set the tv flag internally, but the file should show up in the list of tv recordings. Also note that when you move the file Sage automatically sets the archived flag, so you may have to adjust your filters in whatever STV you're using to have it show up in the recorded tv listings, but as far as I know, the above file you list should now be a tv recording.
I am using the same scripts to move my stuff to my NAS and it continues to work unmodified (I'm using whatever version is in svn and haven't touched those scripts in months and months).
__________________
Twitter: @ddb_db Server: Intel i5-4570 Quad Core, 16GB RAM, 1 x 128GB OS SSD (Win7 Pro x64 SP1), 1 x 2TB media drive Capture: 2 x Colossus STB Controller: 1 x USB-UIRT Software:Java 1.7.0_71; SageTV 7.1.9 Clients: 1 x HD300, 2 x HD200, 1 x SageClient, 1 x PlaceShifter Plugins: Too many to list now... |
#1016
|
||||
|
||||
Thanks for all the suggestions.
None of them seemed to work. Ended up backing up entire computer, uninstall SageTV, reinstalled SageTV, installed SJQ plugins (for my move scripts) and tested. Worked like a charm again. Added other plugins, had some other configs I had to make (hope I got them all, if not, wife will let me know ) Back in business except for those recordings that were moved during the "bad times", they still show up in videos. Will work with them after taking time away from it. Next immediate agenda I guess is to setup & test your SJQ backup scripts. PS. did a couple tests...BMT is updating the messed up ones now so I can get them back as TV Recordings. Last edited by graywolf; 11-19-2011 at 07:56 PM. |
#1017
|
||||
|
||||
Which file do the CRONTAB entries exist?
OK, so I had to redo my SageTV setup. Was able to "save" the tasks by copying over the sjqagent properties file.
Question is, where did the CRONTAB entries reside? Is there a file I can just copy back from my backup, or do I need to try and remember what I had setup? |
#1018
|
|||
|
|||
Quote:
__________________
Twitter: @ddb_db Server: Intel i5-4570 Quad Core, 16GB RAM, 1 x 128GB OS SSD (Win7 Pro x64 SP1), 1 x 2TB media drive Capture: 2 x Colossus STB Controller: 1 x USB-UIRT Software:Java 1.7.0_71; SageTV 7.1.9 Clients: 1 x HD300, 2 x HD200, 1 x SageClient, 1 x PlaceShifter Plugins: Too many to list now... |
#1019
|
||||
|
||||
EPG_NoDataCheck.groovy
Modification to Slugger's original code.
BTW - might be good to put either your version or below version into your SJQScripts SVN? Code:
def CHECK_FAVS = false def CHECK_CHANS = true def POST_SYS_MSG = true // If false, just dump the output to stdout def POST_INFO_MSG = true // If true, post Info msg so you know the script ran. POST_SYS_MSG must be true for this to have any effect def DaysToCheck = 7 def now = System.currentTimeMillis() def output = new StringBuilder() if(CHECK_FAVS) FavoriteAPI.GetFavorites().each { if(Database.FilterByRange(FavoriteAPI.GetFavoriteAirings(it), 'GetAiringStartTime', now, Long.MAX_VALUE, true).size() == 0) { if(!output.length()) output.append('The following favourites have no upcoming airings:\n\n') output.append("${FavoriteAPI.GetFavoriteDescription(it)}\n") } } if(CHECK_CHANS) { def preambleWritten = false def chans = new HashSet<String>() Database.SearchSelectedExactFields('No Data', true, true, false, false, false, false, false, false, false, false, 'T').each { def start = AiringAPI.GetAiringStartTime(it) if(start > now && start <= now + (86400000L * DaysToCheck) ) { def name = AiringAPI.GetAiringChannelName(it) def ChannelNumber = AiringAPI.GetAiringChannelNumber(it) if(chans.add(name)) { if(!preambleWritten) { output.append("\nThe following channels are missing data within the next $DaysToCheck Days:\n") preambleWritten = true } output.append("$ChannelNumber - $name\n") } } } } if(output.length() && !POST_SYS_MSG) { println output } else { if(output.length()) { SystemMessageAPI.PostSystemMessage(1204, 3, output.toString(), null) } else { if ( POST_INFO_MSG ) { output.append("\nNo channels are missing data within the next $DaysToCheck Days:\n") SystemMessageAPI.PostSystemMessage(1204, 1, output.toString(), null) } } } |
#1020
|
|||
|
|||
In order to save me having to do a line by line comparison, can you briefly explain what you changed/fixed with this mod? Thanks.
__________________
Twitter: @ddb_db Server: Intel i5-4570 Quad Core, 16GB RAM, 1 x 128GB OS SSD (Win7 Pro x64 SP1), 1 x 2TB media drive Capture: 2 x Colossus STB Controller: 1 x USB-UIRT Software:Java 1.7.0_71; SageTV 7.1.9 Clients: 1 x HD300, 2 x HD200, 1 x SageClient, 1 x PlaceShifter Plugins: Too many to list now... |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Plugin: MizookLCD (Alternate SageTV LCDSmartie Plugin) | cslatt | SageTV Customizations | 48 | 06-11-2012 10:44 AM |
SJQv4: Technology Preview | Slugger | SageTV v7 Customizations | 39 | 12-17-2010 01:17 PM |
SageTV Plugin Developers: Any way to see stats for your plugin? | mkanet | SageTV Software | 4 | 12-12-2010 10:33 PM |
MediaPlayer Plugin/STV Import: Winamp Media Player Plugin | deria | SageTV Customizations | 447 | 12-11-2010 07:38 PM |
SJQv4: Design Discussion | Slugger | SageTV v7 Customizations | 26 | 10-18-2010 08:22 AM |