SageTV Community  

Go Back   SageTV Community > SageTV Development and Customizations > SageTV v7 Customizations > Phoenix
Forum Rules FAQs Community Downloads Today's Posts Search

Notices

Phoenix This forum is for discussing the user-created Phoenix custom interface for SageTV.

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 04-05-2011, 08:15 AM
wrems's Avatar
wrems wrems is offline
Sage Icon
 
Join Date: Feb 2007
Location: Marietta, GA
Posts: 1,332
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?
Reply With Quote
  #2  
Old 04-05-2011, 08:45 AM
stuckless's Avatar
stuckless stuckless is offline
SageTVaholic
 
Join Date: Oct 2007
Location: London, Ontario, Canada
Posts: 9,713
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>
Then in my menu for the landing zone (I copied LandingZone.xml to my userdata area)...

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()==&quot;00085c53c6a9&quot;}">
         <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>
I've bolded the new entry. You can see that basically I just set some global context variables to tell the umb which view to show, and then i navigate to the umb screen.

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.
Reply With Quote
  #3  
Old 04-06-2011, 06:48 AM
wrems's Avatar
wrems wrems is offline
Sage Icon
 
Join Date: Feb 2007
Location: Marietta, GA
Posts: 1,332
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?
Reply With Quote
  #4  
Old 04-06-2011, 07:32 AM
stuckless's Avatar
stuckless stuckless is offline
SageTVaholic
 
Join Date: Oct 2007
Location: London, Ontario, Canada
Posts: 9,713
Quote:
Originally Posted by wrems View Post
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?
So, are each of those folders a sage import? or is \\sage\ the import and it has 2 child folders, movies and movies2.
Reply With Quote
  #5  
Old 04-06-2011, 07:54 AM
bialio's Avatar
bialio bialio is offline
SageTVaholic
 
Join Date: May 2007
Location: Frisco, TX
Posts: 3,445
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>
and then the All Titles view should look like this :
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.
Reply With Quote
  #6  
Old 04-06-2011, 07:56 AM
bialio's Avatar
bialio bialio is offline
SageTVaholic
 
Join Date: May 2007
Location: Frisco, TX
Posts: 3,445
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.
Reply With Quote
  #7  
Old 04-06-2011, 07:57 AM
wrems's Avatar
wrems wrems is offline
Sage Icon
 
Join Date: Feb 2007
Location: Marietta, GA
Posts: 1,332
Quote:
Originally Posted by stuckless View Post
So, are each of those folders a sage import? or is \\sage\ the import and it has 2 child folders, movies and movies2.
These paths are separate and added to Sage as an import paths specifically as indicated.
Reply With Quote
  #8  
Old 04-06-2011, 08:52 AM
stuckless's Avatar
stuckless stuckless is offline
SageTVaholic
 
Join Date: Oct 2007
Location: London, Ontario, Canada
Posts: 9,713
Quote:
Originally Posted by wrems View Post
These paths are separate and added to Sage as an import paths specifically as indicated.
the sagevideoimport7 view should give you a view of all your video imports. From there you can bookmark a particular subfolder, if wanted.

not sure I fully understand the problem yet
Reply With Quote
  #9  
Old 04-06-2011, 10:52 AM
wrems's Avatar
wrems wrems is offline
Sage Icon
 
Join Date: Feb 2007
Location: Marietta, GA
Posts: 1,332
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?
Reply With Quote
  #10  
Old 04-06-2011, 10:57 AM
bialio's Avatar
bialio bialio is offline
SageTVaholic
 
Join Date: May 2007
Location: Frisco, TX
Posts: 3,445
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
Reply With Quote
  #11  
Old 04-06-2011, 11:05 AM
OneOfMany OneOfMany is offline
Sage Aficionado
 
Join Date: Apr 2009
Location: Winnipeg
Posts: 374
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
Reply With Quote
  #12  
Old 04-06-2011, 11:08 AM
bialio's Avatar
bialio bialio is offline
SageTVaholic
 
Join Date: May 2007
Location: Frisco, TX
Posts: 3,445
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
Reply With Quote
  #13  
Old 04-06-2011, 11:19 AM
OneOfMany OneOfMany is offline
Sage Aficionado
 
Join Date: Apr 2009
Location: Winnipeg
Posts: 374
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
Reply With Quote
  #14  
Old 04-06-2011, 11:23 AM
bialio's Avatar
bialio bialio is offline
SageTVaholic
 
Join Date: May 2007
Location: Frisco, TX
Posts: 3,445
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>
basically is a combined view - where all files at the root of all import paths are lumped together (similar to the way SageMC and the default STV have done it forever) - so the easy fix for you right now would be to create level of folders between the root of your import path and the actual files - this is not ideal, and I'm sure we'll have a better way around it eventually.
btl.
__________________
PHOENIX 3 is here!
Server : Linux V9, Clients : Win10 and Nvidia Shield Android Miniclient
Reply With Quote
  #15  
Old 04-06-2011, 12:18 PM
stuckless's Avatar
stuckless stuckless is offline
SageTVaholic
 
Join Date: Oct 2007
Location: London, Ontario, Canada
Posts: 9,713
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>
or

Code:
                        <source name="sagefilesystem">
				<option name="content" value="MoviesByFolder"/>
			</source>
Again, if nothing works, we'll figure something out... this is doable.
Reply With Quote
  #16  
Old 04-06-2011, 12:34 PM
bialio's Avatar
bialio bialio is offline
SageTVaholic
 
Join Date: May 2007
Location: Frisco, TX
Posts: 3,445
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
Reply With Quote
  #17  
Old 04-06-2011, 01:12 PM
wrems's Avatar
wrems wrems is offline
Sage Icon
 
Join Date: Feb 2007
Location: Marietta, GA
Posts: 1,332
Quote:
Originally Posted by bialio View Post
MoviesByFolder might work, but 'Movies' is pretty strictly defined as 1) DVD 2) Bluray or 3) video files with a Genre of "Movie*"

btl.

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.
Reply With Quote
  #18  
Old 04-06-2011, 01:39 PM
bialio's Avatar
bialio bialio is offline
SageTVaholic
 
Join Date: May 2007
Location: Frisco, TX
Posts: 3,445
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
Reply With Quote
  #19  
Old 04-06-2011, 01:46 PM
stuckless's Avatar
stuckless stuckless is offline
SageTVaholic
 
Join Date: Oct 2007
Location: London, Ontario, Canada
Posts: 9,713
Quote:
Originally Posted by wrems View Post
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.
I'll play around with with this on the weekend and see what can I come up with. I agree that not every ripped dvd is movie, etc.

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.
Reply With Quote
  #20  
Old 04-06-2011, 02:11 PM
wrems's Avatar
wrems wrems is offline
Sage Icon
 
Join Date: Feb 2007
Location: Marietta, GA
Posts: 1,332
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.
Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

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


All times are GMT -6. The time now is 07:49 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2023, vBulletin Solutions Inc.
Copyright 2003-2005 SageTV, LLC. All rights reserved.