|
Phoenix This forum is for discussing the user-created Phoenix custom interface for SageTV. |
|
Thread Tools | Search this Thread | Display Modes |
#1
|
||||
|
||||
VFS Question
Ok, so I’m beginning to try and figure out how to edit my own views. I’ve been toying with some simple changes with success.
What I’m trying to do is create a view that will encompass movies only and be added to the menu link for Browse All Titles. I think I need to create a new tag first... I want to narrow the lookup to 2 specific UNC paths where I have the movies I want included in the lookup. Ideally, I’m trying to avoid the clutter of other videos that appear in the default view. Is this right, do I need to start with a new tag or can this be done with the current set of tags? |
#2
|
||||
|
||||
For starters, you don't need any special tags, etc.. You can simply create the view and then add it to a menu.
Here's an example that I did last week for my wife.... So here's the view (from my custom vfs xml), nothing special, just points to specific folder under the sage imports. The <tag> is video, since it's a video view. Code:
<view name="sls_beachbody" label="Beach Body Insanity" flat="false"> <option name="bookmark" value="/BeachbodyInsanity"/> <option name="children-only" value="true"/> <description>Beach Body Insanity Workout</description> <tag value="video"/> <view-source name="sagevideoimportsv7"/> </view> Code:
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE menus SYSTEM "menus.dtd"[]> <menus> <!-- <menuItems> can have 4 different actions (mix and match) <screenname="Browser - Videos"/> <eval>phoenix_api_SetProperty("phoenix/debug/enableLogging",true)</eval> <exec os="Windows" outputVariable="CmdOutput" cmd="cmd.exe" args="/c dir"/> <sageCommand name="Back"/> --> <menu name="LandingMenu" label="Phoenix Landing Menu" background="GlobalMenuBackground.jpg" type="TV"> <menu name="tv" label="TV" background="GlobalMenuBackground.jpg" type="TV" icon="gTVMenuIcon"> <menuItem name="browse" label="TV Shows" visible="true"> <eval>AddGlobalContext("DefaultView", "tvrecentactivity" )</eval> <screen name="Phoenix Universal Media Browser" /> </menuItem> <menuItem name="browse" label="Archived TV Shows" visible="true"> <eval>AddGlobalContext("DefaultView","archivedrecentactivity" )</eval> <screen name="Phoenix Universal Media Browser" /> </menuItem> <menuItem name="livetv" label="Live TV" visible="true"> <sageCommand name="Live TV"/> </menuItem> <menuItem name="epg" label="Program Guide" visible="true"> <screen name="Phoenix EPG" /> </menuItem> <menuItem name="schedule" label="View Recording Schedule" visible="true"> <sageCommand name="Recording Schedule"/> </menuItem> <menuItem name="favorites" label="Manage Favorites" visible="true"> <sageCommand name="Favorite"/> </menuItem> </menu> <!-- This is how to do a view as a menu item <view name="lz_featuredfavorite" label="Featured" contextVar="MediaFile" preload="true" limit="6"> <eval>Watch(phoenix_media_GetSageMediaFile(MediaFile))</eval> <screen name="Phoenix MediaPlayer OSD" /> </view> --> <menu name="movies" label="Movies" background="GlobalMenuBackground.jpg" type="Video" icon="gMoviesMenuIcon"> <menuItem name="beachbody" label="Beach Body Insanity" visible="${GetUIContextName()=="00085c53c6a9"}"> <description>Beach Body Insanity</description> <eval>AddGlobalContext("DefaultView","sls_beachbody")</eval> <screen name="Phoenix Universal Media Browser" /> </menuItem> <menuItem name="browse" label="Browse All Titles" visible="true"> <description>Browse all media</description> <eval>AddGlobalContext("DefaultView","alltitles" )</eval> <screen name="Phoenix Universal Media Browser" /> </menuItem> <menuItem name="sls_newmovies" label="New Movies" visible="true"> <eval>AddGlobalContext("DefaultView","sls_newmovies" )</eval> <screen name="Phoenix Universal Media Browser" /> </menuItem> <menuItem name="vidimports" label="Video Imports" visible="true"> <eval>AddGlobalContext("DefaultView","sagevideoimports7" )</eval> <screen name="Phoenix Universal Media Browser" /> </menuItem> </menu> <menu name="online" label="Online" background="GlobalMenuBackground.jpg" type="Online" icon="gOnlineServicesMenuIcon"> <menuItem name="onlinedefault" label="Online" visible="true"> <description>Default STV Online Services</description> <eval>AddGlobalContext("gCurCustomSTVFilePath", GetCurrentSTVFile() )</eval> <eval>AddGlobalContext("gTargetMenuName", "Online Services Menu")</eval> <eval>AddGlobalContext("gReloadCustomSTVOnHome", true)</eval> <eval>AddGlobalContext("gReloadCustomSTVWithoutConfirm", true)</eval> <eval>LoadSTVFile(GetDefaultSTVFile())</eval> </menuItem> <menuItem name="weather" label="Weather" visible="true"> <screen name="Phoenix Basic Weather" /> </menuItem> </menu> </menu> </menus> You'll also notice that I'm using an expression for the visible attribute. This is not required, but I did it here, because I only want that menu to show for the client that is in the work out room.
__________________
Batch Metadata Tools (User Guides) - SageTV App (Android) - SageTV Plex Channel - My Other Android Apps - sagex-api wrappers - Google+ - Phoenix Renamer Downloads SageTV V9 | Android MiniClient |
#3
|
||||
|
||||
Ok, I seem to be running into a glitch here. I think it’s my bookmark location.
The unc paths I want to merge in my new view are: \\sage\movies \\sage\movies2 How should I format this for my view? |
#4
|
||||
|
||||
So, are each of those folders a sage import? or is \\sage\ the import and it has 2 child folders, movies and movies2.
__________________
Batch Metadata Tools (User Guides) - SageTV App (Android) - SageTV Plex Channel - My Other Android Apps - sagex-api wrappers - Google+ - Phoenix Renamer Downloads SageTV V9 | Android MiniClient |
#5
|
||||
|
||||
There are a couple of ways you can clean up the All Titles view as well. I suspect these changes were not part of 309. (If I had to guess I'd say you don't mark Imported TV as Sage Recordings)
in the <filters> add this: Code:
<item-group name="moviesonly" label="Movies Only" mode="and"> <filter by="homevideos" scope="exclude"/> <filter by="mediatype" value="TV" scope="exclude"/> <tag value="video"/> </item-group> Code:
<view name="alltitles" label="All Titles" flat="true"> <description>Movies from all sources</description> <tag value="quickchange" /> <tag value="video" /> <view-source name="recordedmovies"/> <view-source name="videos"/> <view-source name="dvd"/> <view-source name="bluray"/> <filter by="moviesonly"/> <presentation> <sort by="title"> <option name="sort-order" value="asc"/> </sort> </presentation> </view>
__________________
PHOENIX 3 is here! Server : Linux V9, Clients : Win10 and Nvidia Shield Android Miniclient Last edited by bialio; 04-06-2011 at 08:00 AM. |
#6
|
||||
|
||||
What was happening in the currently released All Titles view was that Imported TV that wasn't marked as a Sage Recording was getting pulled in under
<view-source name="videos"/> These changes will be in 310, which is targeted for sometime this weekend. btl.
__________________
PHOENIX 3 is here! Server : Linux V9, Clients : Win10 and Nvidia Shield Android Miniclient Last edited by bialio; 04-06-2011 at 08:53 AM. |
#7
|
||||
|
||||
These paths are separate and added to Sage as an import paths specifically as indicated.
|
#8
|
||||
|
||||
Quote:
not sure I fully understand the problem yet
__________________
Batch Metadata Tools (User Guides) - SageTV App (Android) - SageTV Plex Channel - My Other Android Apps - sagex-api wrappers - Google+ - Phoenix Renamer Downloads SageTV V9 | Android MiniClient |
#9
|
||||
|
||||
What I want to do is have a view that is only the movies from 2 specific unc paths: movies & movies2. These directories reside on 2 different hdd’s. Maybe I should create a symbolic link?
I don’t want everything in my lookup when I want to find a movie to watch, and I absolutely do not care if it’s a DVD or a Bluray. That separation is useless to me. To me, imo, a movie is a movie regardless of format/container. I want one list of all my movies and nothing else. Maybe I’ve got something wrong with my setup... The reason I’m having a problem is that I’ve got lots of videos that are in different import paths that I do not want commingled with my movies: Home videos, workout vids, youtube vids, movies compressed for ipod, music videos, learning series videos, video snippets cut out from TV/Movies/other sources, archived TV content, movie trailers, documentaries, political documentaries, videos/DVD’s I’m authoring and so on. I have several unc paths and lots of different content that is physically separated/organized on my hdd’s. Right now if I choose “Browse All Titles” or “Video Imports” as you suggest, I get a list of everything. That is what I’m trying to avoid, I want a view “Movies Only” or something like that. This view will will point at the above 2 paths and give me one list of all the movies that reside in the sub-folders of those paths. Ideally put in alphabetic or date added order. Probably alphabetic but if I could switch that on the fly that would be great. I hope I’m not coming off as demanding or critical and that I’m being clear without being an ass. I’m having a hard time trying to explain my situation the best I can... Maybe I’m doing something wrong and I’m definitely open to suggestions. Maybe there’s a better/easier way... I just really want to fix this because the WAF has been dropping because she can’t find a single movie to watch by culling through thousands of non-movie content that are commingled with our movie collection. Does that help? |
#10
|
||||
|
||||
You are making sense - although you now are making more sense that you did previously
So you need to use bookmarks and/or a root in a view to limit things to specific locations. You will need 2 views I think, each rooted at your target directories : \\sage\movies \\sage\movies2 and then you can create a 3rd view that combines the two. That's a lot of instruction with no clear examples, I know. But that is basically the way I understand what will have to happen to get your location based movie view. btl.
__________________
PHOENIX 3 is here! Server : Linux V9, Clients : Win10 and Nvidia Shield Android Miniclient |
#11
|
|||
|
|||
I think I am with wrems here. I have been unable to get a path setup yet.
In your post, in your code is this entry - value="/BeachbodyInsanity"/ which I presume is the path to this directory you are filtering to. I have mutiple import paths that point to the folders that I want to filter on. They all show up as separate folders in BMT when viewing Sage Imports. My goal is to replicate the menus to what I had with SageMC on v6, where I created menu entries based on import directories. \\HOMESERVER\Videos\Cartoons \\HOMESERVER\Videos\Vids - Music These are both Sage Import Dirs. What would be the proper syntax in the view mode if I wanted to filter on one of these paths? Grant Edit: After reading bialio's reply, if I can setup one correctly, then I will tackle multiples Last edited by OneOfMany; 04-06-2011 at 11:10 AM. Reason: add |
#12
|
||||
|
||||
In my setup, I have the following import path:
\\mediavault\volume_1\movies\ There is a folder under movies called "bd_rips" \\mediavault\volume_1\movies\bd_rips\ - this is not an import path, just showing the path as it exists on the network. The following view gives me just the children of this folder: Code:
<view name="roottest" label="Root Test" flat="false"> <option name="children-only" value="true"/> <option name="root" value="/bd_rips"/> <description>Root Test</description> <tag value="video"/> <source name="sagefilesystem"> <option name="content" value="VideosByFolder"/> <option name="combine" value="false"/> </source> <presentation> <sort by="title"> <option name="folders-first" value="true"/> </sort> </presentation> </view>
__________________
PHOENIX 3 is here! Server : Linux V9, Clients : Win10 and Nvidia Shield Android Miniclient |
#13
|
|||
|
|||
OK, so maybe my problem is that I have my import directory path too deep? You are referencing a directory WITHIN your import directory. I am setting on my root.
I suppose I can create a new import directory \\HOMESERVER\Videos\ and use the \Cartoons in the view? Is there a proper syntax to use when pointing directly to the actual complete import path? Grant |
#14
|
||||
|
||||
I'm not sure if there's a way to point at just the root. This view source :
Code:
<source name="sagefilesystem"> <option name="content" value="VideosByFolder"/> </source> btl.
__________________
PHOENIX 3 is here! Server : Linux V9, Clients : Win10 and Nvidia Shield Android Miniclient |
#15
|
||||
|
||||
Ok, here are some other thoughts.... totally untested....
I'll assume that you want to preserve the folder heirarchy, but if you don't then it gets easier The vfs can consume sage expressions that return collections of files as well... so, in sage7 they introduced a bunch of new apis/expressions for showing content... so using an expression, you can probably do what you want with something like... Code:
<source name="expression"> <option name="expression"> GetRelativeMediaSource("FileSystem", "\\HOMESERVER\Videos\Cartoons") </option> </source> Code:
<source name="sagefilesystem"> <option name="content" value="MoviesByFolder"/> </source>
__________________
Batch Metadata Tools (User Guides) - SageTV App (Android) - SageTV Plex Channel - My Other Android Apps - sagex-api wrappers - Google+ - Phoenix Renamer Downloads SageTV V9 | Android MiniClient |
#16
|
||||
|
||||
MoviesByFolder might work, but 'Movies' is pretty strictly defined as 1) DVD 2) Bluray or 3) video files with a Genre of "Movie*"
btl.
__________________
PHOENIX 3 is here! Server : Linux V9, Clients : Win10 and Nvidia Shield Android Miniclient |
#17
|
||||
|
||||
Quote:
That seems odd imo. In that sense, all the "movies" I ripped with MakeMKV are not "movies"? In addition, I have older movies that were created as AVI's, they're not movies either? I know that the definition is not phoenix's, at the same time, it would be very nice to have an easy way to create views based on physical location of media. |
#18
|
||||
|
||||
Any avi or mkv would fit as long as it has a Genre that starts with Movie - I guess that is Sages built in way of categorizing things.
So for now, the easy way is to have a folder between the end of your import path and the begining of your files - instead of \\SERVER\VIDEOS\CARTOONS as an import path, just \\SERVER\VIDEOS. Or add another level of cartoons after the first if you don't want everything in the VIDEOS level imported : \\SERVER\VIDEOS\CARTOONS\CARTOONS\* btl.
__________________
PHOENIX 3 is here! Server : Linux V9, Clients : Win10 and Nvidia Shield Android Miniclient |
#19
|
||||
|
||||
Quote:
You can easily categorize stuff using genres and categories, which is handy for including/excluiding sets of files, but you can't really navigate those files in a hierarchy. It's for this reason, I tend to use a filesystem view most often, but I simply structure each import with the same sets of folders, so that things get grouped correctly. ie, my import folders are, /var/media1 /var/media2 where each media1 and media2 has a "TV" folder and a "Movies" folder, and "HomeMovies", etc, so that when they are presented to me using the sage imports view, they look like a single heirarchy, of "TV", "Movies", "Home Movies", where some of the files are from /var/media1 and some from /var/media2 So, I think you can do what you want today, if you are willing to restructure your imports. Keep in mind, when confronted with challenges, it's far easier to control the things you can change (ie, you import structure), than to try and bend the will of others In the mean time, I'll poke around the sage apis and see if i can get some of the newer sage apis to do what we want.
__________________
Batch Metadata Tools (User Guides) - SageTV App (Android) - SageTV Plex Channel - My Other Android Apps - sagex-api wrappers - Google+ - Phoenix Renamer Downloads SageTV V9 | Android MiniClient |
#20
|
||||
|
||||
Thanks for the tip about restructuring my imports. Not a problem. I used to format my import paths exactly how you’re recommending a while back in v6 with SageMC. Then for some reason I restructured it this way, can’t for the life of me remember why it was necessary to change to what I’ve been using since...
I’ll give that a go. I figured something might have been goofy on my side since it seems no one else is too affected by such a hodge-podge of media strewn together. |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Picture quality question, also question on delays | andrew1810 | SageTV Software | 5 | 03-08-2006 04:51 PM |