Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - royw

Pages: 1 ... 3 4 [5] 6 7 ... 18
61
Users / Re: MythTV Transcoding with NUVExport
« on: July 05, 2008, 07:56:31 pm »
*.pm are perl modules that usually can be loaded using cpan (sudo cpan).  I don't watch TV so can't help you with the mythTV stuff...

HTH,
Roy

62
Feature requests & roadmap / Re: Collection Tagging
« on: July 04, 2008, 09:27:54 am »
I installed tellico, then added a couple of DVDs to see what the tellico.xml looks like.  Here's one dvd entry:
Code: [Select]
  <entry id="0" >
   <title>Fool's Gold (Widescreen Edition)</title>
   <medium>DVD</medium>
   <year>2008</year>
   <certification>PG-13 (USA)</certification>
   <genres>
    <genre>Comedy</genre>
    <genre>Action &amp; Adventure</genre>
   </genres>
   <region>Region 1</region>
   <casts>
    <cast>
     <column>Matthew McConaughey</column>
     <column></column>
    </cast>
    <cast>
     <column>Kate Hudson</column>
     <column></column>
    </cast>
   </casts>
   <studios>
    <studio>Warner Home Video</studio>
   </studios>
   <languages>
    <language>Spanish</language>
    <language>French</language>
    <language>English</language>
   </languages>
   <running-time>112</running-time>
   <aspect-ratios>
    <aspect-ratio>1.77:1</aspect-ratio>
   </aspect-ratios>
   <widescreen>true</widescreen>
   <color>Color</color>
   <plot>Matthew McConaughey and Kate Hudson go for the gold (and the diamonds emeralds and rubies) as a just-divorced couple who bicker and banter their way through an adventure- and laugh-packed undersea treasure hunt. McConaughey is Finn in love with his ex (Hudson) and in deep with gangster Bigg Bunny. After eight years of searching Finn gets a clue to the whereabouts of the Queen?s Dowry a fabulous fortune that mysteriously disappeared in the Caribbean in 1715. Now all he has to do is get the gold get the girl and get going before Bigg Bunny gets him. Directed by Andy Tennant (Hitch) Fool?s Gold glitters with danger action romance comedy great one-liners ? and a great time to be had by all!Format: DVD MOVIE Genre: COMEDY/ROMANTIC COMEDY UPC: 085391139997 Manufacturer No: 113999</plot>
   <cover>0cda00401e94918c5d5d52b6f6c155b6.jpeg</cover>
   <amazon>http://www.amazon.com/Fools-Gold-Widescreen-Matthew-McConaughey/dp/B0012KJ0DK%3FSubscriptionId%3D0834VQ4S71KYPVSYQD02%26tag%3Dtellico-20%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3DB0012KJ0DK</amazon>
  </entry>

The pluto_media db to tellico.xml looks like a pretty straight-forward mapping (ok, there are a lot of caveats due to the multi-table and multi-database nature, but I've already worked most of them out on the DVD Profiler sync).  Still, there will be a couple of issues:

*  Can we use pluto_media.file.PK_File for the tellico entry@id value?  That seems to be the ONLY unique identifier on the tellico side.  If you want to support adding files independently on both sides, prevention of collision for entry@id might be interesting.

* The only method I see for syncing is via a title match, which can mostly be handled with fuzzy matching (drop punctuation, drop symbols, yada yada) with a fall-back of using the pluto_media.file.Filename if there is not a title attribute.  Still there will be some titles that have to be manually matched (duplicates like "The Alamo", and incomplete titles like "Animal House" vs. "National Lampoon's Animal House").

IMO the data still seems a little sparse (see cast in the above DVD).  Also while the UI is head and shoulders above pluto-admin, it is still a little primitive.  But it is native!   ;)

HTH,
Roy

63
Developers / Proposed flickr.pl replacement
« on: July 04, 2008, 02:30:35 am »
Howdy,

The other day I had an inkling to "tune" the types of photos that the screensaver uses.  So found the /usr/pluto/bin/flickr.pl script and took a look see.  There appears to be the capability to specify search tags, but they don't work (actually specifying a tag stops all fetching from flickr).  I then dived into the flickr API to understand enough to maybe troubleshoot flickr.pl.  I ended up writing a script that can handle fetching photos by user id/name, photoset, group, photo search (tags, text,...), and of course interestingness (what works in flickr.pl).  I then started thinking of replacing flickr.pl, so added LinuxMCE file structure and reaping.  I'm at the point of adding the database hooks and daemonizing the script and decided now is probably a good time to bounce this off of the community.

BTW, my current hypothesis on what is wrong with flickr.pl is that the flickr API has changed since the Flickr::API version 0.08 module was released in March 2006.  There is a newer version, 0.09 available that was released in Feb 2008 that might resolve the tag search problem.

To give you a better feel for what my script can do, here's it's current config file:
Code: [Select]
# This is the configuration file for /home/royw/views/flickrfetchr/flickrfetchr and is where
# you specify what images you want fetched from flickr for the LinuxMCE screensaver
#
# To take full advantage of these options, you should have an account on http://www.flickr.com
#
# For those who are familiar with ruby, the format for this file should be obvious :)
# But for the vast majority, here goes:
#
# Comments start with an '#' and extend to the end of the line
#
# We are initializing the config Hash so each line starts with "config[key]".  The keys
# are all symbols so start with a colon (":key").
#
# Each hash value is an Array so is enclosed in square brackets:
#   config[:key] = []
#
# Empty brackets are permissible
#
# Each element in the value Array is a Hash so is inclosed with curly brackets:
#  config[:key] = [{}, {}, ...]
#
# Each element in the Hash is a key/value pair which are seperated by a =>
#  config[:key] = [{:key1 => value1, :key2 => value2, ...}]
#
# Again each key is a symbol and starts with a colon
#
# String values are enclosed with single quotes while integers are not.  In this
# config file, all values are either integers or strings, even though I document
# the strings with more descriptive types like 'USER_ID' or 'PATH'.
#  config[:key] = [{:key1 => '/home/flickr', :key2 => 20, ...}]
#
# Each section includes an example at the end which starts with ## which show
# proper syntax for that section.

#****** Fetch photo definitions

#***********************************************************************
# To fetch photos from a user account using either the flickr user ID or the user name:
# config[:USERS] = [{
#                       :nsid => USER_ID OR :username => FLICKR_USER_NAME,  # required
#                       :destination => :linuxmce_flickr OR PATH,           # optional, defaults to :linuxmce_flickr
#                       :limit => INTEGER                                   # optional, defaults to @config[:limit]
#                       :extras => STRING                                   # don't use
#                       :per_page => INTEGER                                # optional, defaults to :limit
#                       :page => INTEGER                                    # optional, defaults to 1
#                   }]
##
## this example selects all pictures (up to @config[:limit]) from the user "royw2" flickr account:
config[:USERS] = [{:username => 'royw2'}]

#***********************************************************************
# you can also fetch photos from flickr groups again by either group ID or group name:
# config[:GROUPS] = [{
#                       :nsid => GROUP_ID OR :groupname => GROUP_NAME,      # required
#                       :destination => :linuxmce_flickr OR PATH,           # optional, defaults to :linuxmce_flickr
#                       :limit => INTEGER                                   # optional, defaults to @config[:limit]
#                       :tags => STRING                                     # optional, A tag to filter the pool with.
#                                                                           #   At the moment only one tag at a time is supported.
#                       :extras => STRING                                   # don't use
#                       :per_page => INTEGER                                # optional, defaults to :limit
#                       :page => INTEGER                                    # optional, defaults to 1
#                   }]
##
## this example will fetch photos from two groups: 'Deep Space Astrophotography' and 'Worlds of fancy_computer generated landscapes'.
## The group id for 'Deep Space Astrophotography' is '16194850@N00' so we will use it:
## config[:GROUPS] = [{:nsid => '16194850@N00'}, {:groupname => 'Worlds of fancy_computer generated landscapes'}]

#***********************************************************************
# config[:PHOTOSETS] = [{
#                       :nsid => USER_ID OR :username => FLICKR_USER_NAME,  # required
#                       :destination => :linuxmce_flickr OR PATH,           # optional, defaults to :linuxmce_flickr
#                       :title => STRING                                    #
#                       :limit => INTEGER                                   # optional, defaults to @config[:limit]
#                       :title => STRING                                    # optional, matches one set, default is to match all sets
#                       :extras => STRING                                   # don't use
#                   }]
##
## Say I want to keep a local copy of one of my photosets ('Our Canine Family'), but not include it in the LinuxMCE screensaver
## config[:PHOTOSETS] = [{:username => 'royw2', :title => 'Our Canine Family', :destination => '/home/royw/photos/dogs'}]

#***********************************************************************
# config[:SEARCHES] = [{
#                       :nsid => USER_ID OR :username => FLICKR_USER_NAME,  # required
#                       :destination => :linuxmce_flickr OR PATH,           # optional, defaults to :linuxmce_flickr
#                       :limit => INTEGER                                   # optional, defaults to @config[:limit]
#                       :tags => STRING                                     # optional, A comma-delimited list of tags.
#                                                                           #   Photos with one or more of the tags listed will be returned.
#                       :tag_mode => 'any' OR 'all'                         # optional, Either 'any' for an OR combination of tags,
#                                                                           #   or 'all' for an AND combination.
#                                                                           #   Defaults to 'any' if not specified.
#                       :text => STRING                                     # optional, A free text search. Photos who's title,
#                                                                           #   description or tags contain the text will be returned.
#                       :min_upload_date => STRING                          # optional, Minimum upload date. Photos with an upload
#                                                                           #   date greater than or equal to this value
#                                                                           #   will be returned. The date should be in the
#                                                                           #   form of a unix timestamp.
#                       :max_upload_date => STRING                          # optional, Maximum upload date. Photos with an upload
#                                                                           #   date less than or equal to this value will be returned.
#                                                                           #   The date should be in the form of a unix timestamp.
#                       :min_taken_date => STRING                           # optional, Minimum taken date. Photos with an taken
#                                                                           #   date greater than or equal to this value will be returned.
#                                                                           #   The date should be in the form of a mysql datetime.
#                       :max_taken_date => STRING                           # optional, Maximum taken date. Photos with an taken
#                                                                           #   date less than or equal to this value will be returned.
#                                                                           #   The date should be in the form of a mysql datetime.
#                       :license => STRING                                  # optional, The license id for photos (for possible values
#                                                                           #   see the flickr.photos.licenses.getInfo method).
#                                                                           #   Multiple licenses may be comma-separated.
#                       :extras => STRING                                   # don't use
#                       :per_page => INTEGER                                # optional, defaults to :limit
#                       :page => INTEGER                                    # optional, defaults to 1
#                   }]
##
## Now say I want to include photos of LinuxMCE systems that are on flickr and up to 20 computer case mods:
## config[:SEARCHES] = [{:text => 'LinuxMCE'},
##                       {:tags => 'computer,case,mods', :limit => 20}
##                      ]

#***********************************************************************
# config[:INTERESTING] = [{
#                       :nsid => USER_ID OR :username => FLICKR_USER_NAME,  # optional
#                       :destination => :linuxmce_flickr OR PATH,           # optional, defaults to :linuxmce_flickr
#                       :limit => INTEGER                                   # optional, defaults to @config[:limit]
#                       :date => STRING                                     # optional, a date string
#                       :daycount => INTEGER                                # optional, the number of days up to :date to look
#                                                                           # for photos.  defaults = 0 (i.e., just :date)
#                       :extras => STRING                                   # don't use
#                       :per_page => INTEGER                                # optional, defaults to :limit
#                       :page => INTEGER                                    # optional, defaults to 1
#                   }]
##
## Say I'm feeling nostalgic for the orginal photo selection in LinuxMCE:
## config[:INTERESTING] = [{:limit => 100, :daycount => 5}]

#****** Global Fetch Options
# The following are global options with the default values
# please note that the value syntax differs from the above sections.

#***********************************************************************
# The maximum number of files to attempt to download at a time
## config[:limit] = 3

#***********************************************************************
# Sometimes downloading from flickr is unreliable, so we can retry the
# operation this many times:
## config[:max_save_attempts] = 3

#***********************************************************************
# When FlickrFetcher downloads an image, it limits downloading to the largest possible image that is
# less than or equal to config[:image_max_size] and greater than or equal to config[:image_min_size].

# This is the maximum photo size to download.  If the requested photo exceeds this size in either width or height,
# then we try to find the next smaller image.  If there are no smaller images, then the image is not downloaded.
## config[:image_max_size] = {:width => 1920, :height => 1080}
# Setting either width or height to less than or equal to 0 disables the checking for a maximum size.
## config[:image_max_size] = {:width => 0, :height => -1080}

# This is the minimum photo size to download.  If the requested photo is smaller than this size in either width or
# height then the photo is not downloaded.
## config[:image_min_size] = {:width => 1024, :height => 720}
# Setting either width or height to less than or equal to 0 disables the checking for a minimum size.
## config[:image_min_size] = {:width => -1920, :height => 0}

#***********************************************************************
# config[:image_scale_to_size]  = {:width => 1920, :height => 1080}

#***********************************************************************
# config[:linuxmce_flickr] = {:max_files => 100}



Thank you,
Roy


64
Users / Re: Possible to run virtual machines on the kde desktop?
« on: July 02, 2008, 07:36:27 pm »
Just a quick question: If my hybrid or core is powerfull enough, would it be possible to adittionaly run vmware server or similar on the kde desktop to run some completely other machines?

It looks like vmware server requires a kernel hack:

  http://symbolik.wordpress.com/2008/02/19/howto-repost-vanilla-kernel-26242-vmware-server-and-kubuntu-710/

Personally I'm not comfortable with messing with LinuxMCE's kernel.  YMMV.

HTH,
Roy

65
Installation issues / Re: tiered core / multiple servers
« on: July 01, 2008, 09:30:59 pm »
The core is intended to be a firewall between your internal LAN and the external world.  The core then provides network services to the internal LAN. This allows the core to support a lot of plug and play devices on the internal LAN.  Currently the core services are tightly bound into the core.  Feel free to explore decoupling them as that is a long term goal of the project.

In the mean time, you can use all of those other computers as NAS or Media Directors (MD).  Basically you place an MD where ever you want to play media.  Now all of your media is available at each of the MDs.  If an MD has a DVD player, then you can rip from that MD, and yes, this means you can perform simultaneous rips.

I read on the wiki the other day that LinuxMCE supports multiple house setups where you can have multiple cores that connect via VPN across the external LAN.  I'm still trying to figure out an excuse (think wife) for playing with it.  :)

Have fun,
Roy

66
Installation issues / Re: LinuxMCE with Raid-5 and LVM?
« on: July 01, 2008, 09:12:00 pm »
My recommendation is a small system disk for LinuxMCE (40+GB) which you do not store media on.  This simplifies DVD upgrades/reinstalls.  Then add whatever media disks you want to your core (space/heat considerations limit me to 1TB drive in my core/hybrid).  You can use LinuxMCE to RAID these internal media drives as Thom described.  For additional storage just use NAS.  I prefer NFS as I don't run windows any more, but CIFS/samba is reported to work fine.  On your NAS feel free to use RAIDs, JBOD, whatever.  I set up a single NFS export on each of my NAS servers, then use LVM to create a single volume (JBOD) from multiple disks/RAIDs.

Have fun,
Roy

67
Log into the wiki, select "my preferences", then under "Search", check:

[X] (Main)
[X] LinuxMCE wiki

That should help (and, IMO, be the default, but it isn't).

HTH,
Roy

68
Developers / Re: How is Mplayer launched?
« on: June 23, 2008, 01:17:35 am »
Here's an example for playing a wav.  I haven't been able to figure out how to play a dvd.  I suspect it may be a series of DCE commands...

http://wiki.linuxmce.org/index.php/MessageSend#Sending_Commands

To see what DCE command an orbiter uses, try tail -f /var/log/pluto/DCERouter.log then playing a media from the orbiter.

Another helpful technique in building the DCE command is to use pluto_admin, show device tree, CORE, The core/hybrid, OnScreen Orbiter, Send command to device.  This is a wizard for building the DCE command and will show the MessageSend command line.

HTH,
Roy

69
Users / Re: Anyone using DVDProfiler?
« on: June 20, 2008, 08:14:46 am »
Howdy,

Here's a couple of sample cron job scripts from my system.  I have them in cron.daily, but they could easily be in cron.hourly:

Code: [Select]
linuxmce@dcerouter:/etc/cron.daily$ cat sync-dvdprofiler
#!/usr/bin/env ruby

# Synchronize the LinuxMCE database from the exported DVD Profiler /var/rails/lmce_manager/db/dvdprofiler/Collection.xml

# run the lmce_manager's rake task
def run_rake(task)
        # rake tasks need to be ran from the project's root directory
        puts `cd /var/rails/lmce_manager && rake #{task}`
end

run_rake "dvdprofiler:sync:isbns"
run_rake "dvdprofiler:sync:attributes"

exit 0

Code: [Select]
linuxmce@dcerouter:/etc/cron.daily$ cat set-movie-attributes
#!/usr/bin/env ruby

# set all media under /home/(public|user_.+)/data/videos to be:
# MediaType = "LinuxMCE DVD"
# MediaSubType = "Movies"
# FileFormat = "DVD"

# run the lmce_manager's rake task
def run_rake(task)
        # rake tasks need to be ran from the project's root directory
        puts `cd /var/rails/lmce_manager && rake #{task}`
end

# The Dir='path' option is actually a pattern match on pluto_media.file.Path
# '*' characters map to SQL % (match anything, basically a /.*/)
# '?' characters map to SQL _ (match one character, basically a /./)

run_rake "lmce:set_mediatype_for_dir MediaType='LinuxMCE DVD' Dir='*/data/videos/*'"
run_rake "lmce:set_mediasubtype_for_dir MediaSubType='Movies' Dir='*/data/videos/*'"
run_rake "lmce:set_fileformat_for_dir MediaType='DVD' Dir='*/data/videos/*'"

exit 0

Have fun,
Roy

70
Users / Re: How is media stored? Multiple hard drives question
« on: June 20, 2008, 07:37:02 am »
I haven't tried LinuxMCE's RAID so will let others respond...

On the mount points.  Now it is time for the automount to do it's magic. 

What should happen is that your core discovers the new drives and on the media director asks if you want to use it.  You should respond yes.  Then I usually say to just use pluto's structure (/public|user_n/data/*) as that is most convenient.  Now what happens is that the automount will mount the drive on /mnt/device/NN where NN is the device number - when the drive is accessed.  Also you should see some links to the mount point under /home/public/data/*.  Here examples from my system that has 2 NFS shares and one additional internal drive:
Code: [Select]
linuxmce@dcerouter:~$ ls -l /home/public/data/videos/
total 4
lrwxrwxrwx 1 root public   33 2008-06-19 22:15 NFS Share [39] -> /mnt/device/39/public/data/videos
lrwxrwxrwx 1 root public   33 2008-06-19 22:15 NFS Share [41] -> /mnt/device/41/public/data/videos
drwxrwsr-x 2 root public 4096 2008-05-30 02:49 tv_shows_1
lrwxrwxrwx 1 root public   33 2008-06-19 22:15 WDC_WD10EACS-00Z (sdb1)-CORE [33] -> /mnt/device/33/public/data/videos
linuxmce@dcerouter:~$ ls /mnt/device
33  39
linuxmce@dcerouter:~$ ls /mnt/device/41
HOWDY  lost+found  MEDIA_LV  public  user_1  user_2
linuxmce@dcerouter:~$ ls /mnt/device
33  39  41
This shows both the links and that automount mounted device 41 when I tried to access it.

HTH,
Roy

71
Users / Re: playback jumpy after being up for a while
« on: June 19, 2008, 06:36:15 am »
I've been seeing the same issue on all i386 0710 releases.  I'm not sure if it is uptime, playback time, or ripping time dependent.  Every few of days I'll notice the stuttering (it bothers me, but my wife doesn't notice it until it gets real bad) usually on horizontal pans or fast motion.  Simply rebooting resolves the stuttering.

Interesting observation on the net connections, I'll have to start monitoring them...

Have fun,
Roy

72
guys....guys....

we use libxine directly! Xine_Player is NOT xine-ui.

Xine_Player is literally a native DCE player. Please look at the source code. There is no key mapping going on of any kind.

-Thom

Thank you Thom!  That helps in narrowing down the search.  Looking in Xine_Player.cpp there is some keyboard handling (up, down, left, right, & return) but then it looks like it doesn't do anything.

But knowing it is Xine_Player and DCE, I played in pluto_admin, My Devices, CORE, the core/hybrid, OnScreen Orbiter, Xine_Player.  I was able to "send command to device" to pause playback using the "Pause Media" command.  The neat feature here is that "send command to device" shows the MessageSend command line:
Code: [Select]
/usr/pluto/bin/MessageSend localhost 0 22 1 39 41 ""

Which shows up nicely in DCERouter.log as:
Code: [Select]
Received Message from 0 (unknown / ) to 22 (Xine Player / Living Room), type 1 id 39 Command:Pause Media, retry none, parameters: <0xa5fe9b90>
          Parameter 41(StreamID):  <0xa5fe9b90>

To find out which device is handling the keyboard, I then went back to tailing the DCERouter.log and pressed one of the keys that works (goto previous chapter) and saw this:
Code: [Select]
Received Message from 20 (OnScreen Orbiter / Living Room) to 10 (Media Plug-in / Living Room), type 1 id 65 Command:Jump Position In Playlist, retry none, parameters: <0x82f8ab90>
          Parameter 5(Value To Assign): -1

which then resends the command to the Xine_Player with a stream id:
Code: [Select]
Received Message from 20 (OnScreen Orbiter / Living Room) to 22 (Xine Player / Living Room), type 1 id 65 Command:Jump Position In Playlist, retry none, parameters: <0xa97f0b90>
         Parameter 5(Value To Assign): -1
         Parameter 41(StreamID): 1001 <0xa97f0b90>

So it's looking like the OnScreen Orbiter needs to be investigated next...

Thank you,
Roy

73
My mouse buttons work fine out of the box (after gyration "connect") and with Seth's mappings.  What I really want is play & pause buttons working for "LinuxMCE DVD" playback.

After playing for a little while with Gyration keyboard, I've concluded that /home/linuxmce/.xine/keymaps are being ignored.   :(

Also did not find any trace of keyboard input in the log files.  :(
I did see DCE responses to the buttons that do work in /var/log/pluto/DCERouter.log.  So there must be something handling keyboard input and generating DCE commands.  I haven't discovered what.

Also did a wiki search looking for and didn't find anything beyond the F6, F7, & F8...

FYI, my wife likes it better than the Gryation mouse as this controller is not as sensitive. :)

Have fun,
Roy

74
Users / Re: Anyone using DVDProfiler?
« on: June 17, 2008, 10:55:07 am »
Howdy,

Well, finally!  Announcing the first beta.  :)

I named the project LMCE Manager as the intent is to add features beyond DVD Profiler synch'ing.

Please start with the README file.  It contains installation instructions and how to use everything.

  http://roy.wright.org/lmce_manager/README

And here's the tarball:

  http://roy.wright.org/lmce_manager/lmce_manager-beta-124.tgz

FYI, the packaging number (124) is my svn revision.

BTW, this is for LinuxMCE 0710 rc2 and DVD Profiler 3.1.1

Have fun,
Roy

75
Users / Re: How is media stored? Multiple hard drives question
« on: June 17, 2008, 12:42:48 am »
So is it just better to install the OS on one drive, without having the 2 media drives even installed?

Yes.  It makes upgrading/reinstall a lot easier if there is no media stored on the system drive.

Then afterwards, power down, install the drives, raid them in BIOS, and boot up?

Not necessary to power media drives down (as long as you can identify the system drive during install, either by drive id or name). 

HTH,
Roy

Pages: 1 ... 3 4 [5] 6 7 ... 18