Difference between revisions of "Usage Intro"

From LinuxMCE
Jump to: navigation, search
 
(146 intermediate revisions by 11 users not shown)
Line 1: Line 1:
LinuxMCE's main concepts are [[Devices]], [[Events]], and [[Activities]] (aka Scenarios, Command Groups, etc).  An Orbiter refers to the user interface, be it on a media station, web pad, mobile phone, etc.
+
[[Category: Tutorials| Usage]]
  
== Devices ==
+
{| align="right"
 +
  | __TOC__
 +
  |}
  
A device is some piece of hardware or software, like the Xine Media Player, the light switch in the bedroom, or your mobile phone.  All devices do 3 things: 1) Retrieve configuration data 2) Respond to commands, like turn on, turn off, fast forward, etc., 3) Fire events, like 'motion detected', 'playback started', etc.  These are abbreviated "DCE" (Data, Commands, Events).
+
* [[Tell LinuxMCE about your home]]
 +
* adding [[Devices]] to your installation
 +
*
  
 +
==Reload Router & Regen Orbiters==
  
== Activities ==
+
While using LinuxMCE you'll see sometimes a message asking if you want to [[Quick reload router|reload the router]], or if you want to [[Orbiter Generator|regenerate the Orbiter UIs]] (User Interfaces). In general, these options refresh the LinuxMCE databases so that changes to the system can be recognized.
  
Activities, scenarios and command groups are interchangeable and all mean the same thing.  This is really just a group of commands that get sent to a device.  In LinuxMCE, your main menu consists of a several activities, grouped by room, and categorized as Lighting, Media, Climate, Telecom and Security.  All the activities do the same thing: send commands to devices.  The categories lighting, media, climate, telecom and security are arbitrary and just for convenience so it's easier to find the activity you want.  Whenever you tell LinuxMCE to do something, it's always by choosing an activity from the main menu on an Orbiter.  LinuxMCE creates lots of default, common activities for you automatically.  For example, in any room where you have both a TV and some lights, LinuxMCE automatically creates an activity called 'Showtime' that dims the lights to 10%.  In any room where you have a PVR or other TV-enabled device, it creates a scenario called 'TV' in the 'Media' category that starts the TV system.  It also creates a command in the 'Media' category called 'Video' that sends a command to the Orbiter GUI telling it to display all your video content.  Activities are automatically created under Telecom to make phone calls, and under Security to view cameras and arm your alarm.
 
  
These are just default activitiesYou can have a fully-functional system and do almost everything using only the default activitiesIf you want to change or remove some default activities, or add your own, do it using the admin web page, under Wizard, ScenariosNote that when creating an activity, or scenario, the web page will give you a wizard that's most appropriate based on the category you picked. So if you're adding an activity in the lighting category, the wizard will show you all your lights and let you pick which ones to turn and off. If you're creating an activity in the security category, it will show you what cameras you have, and selecting that activity on the orbiter causes it to show the camera.
+
===Reload Router===
 +
All devices in LinuxMCE obtain their configuration information from the [[DCERouter]], which is the central piece of software on the CoreAll devices request a list of the other devices in the home from the router, so they can respond to them appropriately.  (For example, an IP camera device might turn on the lights in the room whenever you're viewing the camera.  To do so, the IP camera needs to know what lights are in the room.) Typically a device requests this information only when it's starting upWhen you connect additional plug and play devices to the system, these new devices generally will work immediately, but their functionality may not be fully enabled within the LinuxMCE system until the DCE router is reloaded. When the router reloads, it signals all devices on the system to simultaneously reload and re-request the system data. Each existing device can then work with each new deviceThis process is known as a 'reload'.  It generally takes about 10 seconds.  Every time you add or remove devices, or change a device's configuration, you may be asked to do a reload. If you're going to add more devices or make more device changes, you can do the reload once you're done. If you're in the middle of watching a movie or TV, you can postpone the reload, since media players generally stop playing during reloads.  Phone calls aren't affected, though, and TV shows being recorded by MythTV in the background are also unaffected.
  
Remember the categories, and the wizard, are just for convenience.  Any activity can send any command to any device.  So, when you're adding an activity in the lighting category, although by default the admin site will only show you lights, if you click the 'Advanced Wizard' option you'll see that as part of that activity you could send any command to any device.  You could make a phone call, for example, using an activity in the lighting category.
 
  
The grouping by room is also for convenience, and doesn't restrict the activity to only controlling devices in that roomSo if your kitchen is near the garage and you want an activity 'turn off the garage light', you can put that activity in the room 'kitchen', and not in the room 'garage' if it's something you would normally want to do while you're in the kitchen. It doesn't matter that the light you're controlling is in the garage.  You tell each Orbiter which room it's in, and it will always show you the activities for that room. The orbiters, or user interfaces, that appear on the tv and which you control with a remote control, will be by default in the same room as the media station is.  You probably won't ever change this because that media station is generally in a fixed place.  Something like a webpad, however, may be carried throughout the house.  So, whenever you enter a room, note the 'Room' at the bottom of the screen and confirm it really is the room you're in. Otherwise you will see the activities from another room.  And this may be confusing.  Both the Living Room and Bedroom may have an activity 'TV'.  You have a web pad that is in the Bedroom, and carry it to the Living Room, and forget to tell the web pad it's now in the Living Room, and notice that at the bottom of the screen it still says 'Bedroom'.  So you hit the 'TV' button expecting the Living Room TV to come on, when in fact you're still controlling the bedroom.
+
===Regen the Orbiter===
 +
LinuxMCE's [[Selecting_the_Right_UI|Orbiter User Interfaces]] are all "pre-rendered" in order to be more efficientThe User Interface source images are all very high resolution, but need to be resized to accommodate the resolution of each Orbiter screen. The Core server has a list of the Orbiters used by your system, and will generate the appropriate User Interface screen for each Orbiter. It will do this each time you request a "regen". If you have five different types of Orbiters (each with a different type of screen), then five different images will be generated during each regen.
  
Once you get used to this concept, however, you'll find it's very convenient.  Because every orbiter, be it the one on the TV, the web pad, the pda, the mobile phone, etc., can be set to be in any room and choose activities from that room.  And every orbiter has the exact same activities for each room.  You do not create activities for one orbiter and not another.  The activities are grouped by room--not Orbiter.  So whether you pick up your mobile phone, your web pad, or your remote control, when you're in the Living Room, you will have the same list of options for the Living Room.
+
These User Interface screen images are stored in the Core. The appropriate UI image is sent to an Orbiter whenever it is activated. For many low-power devices (like mobile phones or desktop phones) there just isn't the processing power to do scaling and rendering of a User Interface screen on the fly. They need to be pre-rendered (with text pre-embedded in the images) to be efficient.
  
To prevent some family members from using some activities, use the admin web panel to lock down which rooms an Orbiter can switch to.  Maybe the Orbiter that is on the desktop phone in little Suzy's bedroom will be locked to only be able to switch to her room and to the living room.  That means she can execute the activities in her room, like 'go to sleep' which may turn off her lights, and in the living room, but her Orbiter won't let her switch to the Master Bedroom and choose the activities in that room. You can also say that a pin code is required to switch an orbiter into a certain room, so the whole family can share a web pad as an orbiter, and the kids can use it in the living room to watch tv, but they cannot switch it the master bedroom and run the activities in that room without entering a pin code.
+
Adding new scenarios may result in the creation of new buttons for the User Interface, or changes to the text on existing buttons. Perhaps an entirely new screen will be created.
  
 +
Until the User Interface images are regenerated, though, you won't be able to see these new buttons (or screens) on your Orbiter. During the regen, new User Interface images for each type of Orbiter is generated by the Core. This can take about 2-5 minutes, depending on how many Orbiter types you have in your system.
  
== Events ==
+
You needn't do a regen every time you add a scenario. You can wait until you have finished adding all the scenarios. Furthermore, you can also regen only the Orbiter you are currently using by doing a "Quick regen". This allows you to see the new User Interface (following the addition of new scenarios) without having to do a full regen for all the Orbiters. Once you have finished adding scenarios, then you can do a full regen.
  
Remember devices send off events, like 'Playback started', 'Motion Sensor tripped', and so on. The normal way in LinuxMCE to do something is, as mentioned, to create an activity that you select from an Orbiter.  But if you want something to happen automatically without the user doing something, you can create Event Handlers.  For example, you can create an event handler that listens for the 'Motion Sensor tripped' event from a motion detector and in response turns on some lights.  Or an event handler that listens for the 'Sunrise' event which the event plugin sends every time the sun comes up, and make it do certain things in response too.
+
This regen process can be a bit annoying, but is necessary. In future editions of LinuxMCE, it is planned to allow Media Directors, which have a lot more processing power, to render their on-screen Orbiter User Interfaces on the fly (so you don't have to do a regen each time you add or remove a scenario).
  
Just like LinuxMCE creates some default activities for you, it also creates some default event handlers.  For example, in any room where you have a TV and lights, it not only creates a Showtime activity, it also creates an event handler that listens for the 'Watching Media' event from any media player in that room, and executes the Showtime scenario automatically.  This means that whenever you start a movie, the Showtime activity is executed, which be default dims the lights.  There are also some default event handlers to intercept events like 'Security Breach' and 'Fire Alarm' from your home's security system and respond with default behavior.
+
You can do a [[Orbiter Generator#Running OrbiterGen (performing a "regen")|full Orbiter regen or a Quick regen]] at any time by using buttons on the Core's LinuxMCE [[Launch Manager]].
  
== Controlling an Orbiter ==
 
  
To control the system, you use any orbiter, which is just LinuxMCE's term for a remote control. All Orbiter's have the same basic function: to display all the activities in whatever room you're in and let you pick the one you want.  The different Orbiter's may display this slightly differently depending on their screen size, but the function and the list of activities is always the same. The normal UI1 interface which you'll use on webpads and pda's, displays all the activities in a room in horizontal rows.  Just pick the one you want and it's executed. If there are more than will fit on a row, you'll have a more button.  If you're not already at the main menu, there is generally a home button that takes you there.  On small displays, like mobile phones and desktop phones, there's not enough room to show the activities themselves, so the top level menu typically just shows you the categories: Lights, Media, Climate, Security and Telecom.  You pick a category to see the activities in that category.  
+
==Managing your media==
 +
LinuxMCE is always scanning for network shares, on Network-Attached Storage (NAS) devices and other Hard Disk Drives (HDDs) of PCs connected to the system (including Windows PCs). Universal Serial Bus (USB) drives are also detected. Every time a LinuxMCE finds a network share, you will be asked if you would like to use it. Whenever you reply "Yes", the file share can be used by any Media Director on the system. The file share is scanned for media, such as audio, video and photos, and any that are found are then cataloged in the Core's central database. For example, when you plug in a USB drive on a Media Station in the living room and tell LinuxMCE to use it, the media on the drive will be available to Media Directors in other rooms.
  
UI2 is the preferred user interface for the media stationsIf you're using a traditional i/r remote, you'll find it's not much different than any other media center pc. The menu button brings up the main menu, and you use the left/right/up/down/enter buttons to navigate it, and the fast forward/rewind/skip +/skip - for media playback.
+
At the moment there is no way to restrict your media for 'local use only'; all Media Stations in the LinuxMCE system share the media catalog stored on the Core(This is a limitation that will be addressed in the near future. Sometimes it is desirable to attach a USB drive in the master bedroom and not allow it to be shared, for example. ''Note: However, see [[folder lock|this article that describes a method to address this problem]].'')
  
However UI2 also supports a quite unique control architecture that lets you do everything with only 3 programmable buttons plus an ok and cancel, provided you have a pointing device, like a mouse or a gyro air mouse.  The 3 buttons are: MEDIA, MENU, AMBIANCEOn a mouse with 3 programmable soft buttons, like the gyration, these are the 3 buttons, from left to rightIf you're using a traditional 3 button mouse, use the F6, F7 and F8 on the keyboard for media, menu and ambiance instead. In both cases, the left mouse button is ok, the right mouse button is cancel/go backAnd in all cases, the behavior is "absolute" when you press and hold the menu/menu/ambiance button and "relative" when you tap and release, where "absolute" is generally the faster way of doing thingsIn the case of the middle button, F7, "absolute" means it's just 1 click and you don't have to press OK.  So if you press and hold the menu button (ie f7), don't let go, and move your mouse pointer to the option you want, then let go, that option is selected.  So it's all done in one continuous motion with 1 click.  If you tap and release the menu button, then you can highlight the menu option you want and press ok (ie the left mouse button).
+
Storage devices (NAS, USB drives, extra HDDs on the Core or Media Directors) are referred to as "Extra Drives"When an extra drive is added, it is listed in the device tree in '''[[LinuxMCE Admin Website]]-->Advanced-->Configuration-->[[Devices]]'''Under 'Core' you'll see a device listed for each HDD in the Core, as well as for each NAS device. Under each Media Station will be listed the HDDs in that Media StationBy clicking on the device you can change the device's properties, such as the mount username/passwordEach NAS device, and each file share on another PC, will show as a device listed under the Core; each is considered a child of the Core.
  
The categories appear along the bottom of the screen, and the activities in that category popup vertically, like a pull-down menu in a pc, except upside down.  If the main menu isn't already visible, bring it up by pressing the 'start' button on a Windows I/R remote, or the menu button as explained in the 3 button concept.  To get rid of whatever menu is on the screen, click the back button on the i/r remote, or the cancel button (ie right mouse button) in the button concept, or press ESC on a keyboard.  In UI2 there is always media full screen, and this media is gallery art from the internet if you're not playing your own media.  So if you see scrolling pictures on the media station, press the menu/middle/F7 button to bring up the menu, and right click/esc to get rid of it or any other menu that's on top of your media.  The same is true if your own media is playing.
 
  
If you're using UI2's 3 button navigation model, all the normal media control options on the traditional remote are replaced with one button: media (ie the left soft button or F6)Press this and then move the pointer up and down for your skip functions (ie ch+, ch-, skip fwd, skip back), and move the pointer left and right for speed control (ie rewind, fast forward).  The further you move, the faster the media playback changes.  If you keep the button held down (the left soft button or F6), then your movement is absolute, not relative, and instead of the traditional jog shuttle-type control, moving to the right goes to the end of your media, and moving left to the beginning.  Once you get used to it, you will find that navigating media is orders of magnitude faster and easier with this model than with a traditional remote, and you can find any spot in a 2 hour movie in only a couple seconds with a click of 1 button, compared to hitting a slew of media control buttons over and over again for several minutes using a traditional remote.
+
===Access control for shared media===
 +
LinuxMCE creates a top level folder for 'public' media. This folder can be used by every user in the system.  A 'private' media folder is also created for each userWithin each of those folders are sub-folders, labeled 'audio', 'video', 'pictures', 'data' and 'other'.  Within each of those will also be sub-folders for the extra storage devices (NAS, USB, extra internal drives, etc).  When you attach an extra storage device, you can specify whether the default directory structure should be used for it. Alternatively, you can specify 'just make it public' or 'make it private'.
  
Also, in UI2 you can press the ambiance button (ie right soft button or F8), you move up/down to adjust lights, and left/right to adjust volume.  Like with the media playback, if you keep the F8/right soft button down while you move left and right, your volume control is in absolute mode, not relative, so moving hard right is full blast, hard left is mute.  This requires you have a tv or receiver that is serial controlled, however, so LMCE can directly and instantly set the volume position in sync with your hand movements.  Few tv's and receiver's have hit feature, unfortunately.
+
Here's an example.  Let's say you have 2 users: john and maryYou connect 3 storage devices:
 
+
# a NAS, for which you specify 'use default directory structure'. It is named 'Generic Network Storage [50]'
There are other media control functions besides just the most commonly used fast fwd/rewind/skip up/skip down, like 'subtitles' when watching a dvd, 'guide' when watching tv, and 'random' when listening to an audio cd.  In the UI2 3 button model, all these functions appear on the main menu on the left most pad which is entitled 'now playing' and changes based on what type of media you're currently using.  So pres the menu button (ie middle/f7) to select these options.
+
# a USB drive for which you specify 'make it all public'. It is named 'USB Drive [51]'
 
+
# a SATA drive for which you choose 'make it private for john'. It is named 'General Internal HDD [52]
This 3 button model is a new concept and very different from traditional navigation.  Since you've been doing it the 'normal' way all your life, it will take a bit of getting used to.  But once you adjust to it, most people say they are much, much faster with this than a normal remote.
+
 
+
== Regen Orbiters & Reload Router ==
+
 
+
While using LMCE you'll see sometimes a message asking if you want to reload the router, or if you want to regenerate the Orbiter's UI's.
+
 
+
Reload Router: All the devices in LMCE get their configuration information from the router, which is the central piece of software on the core.  All the devices also request from the router a list of all other devices in the home when they startup so they can react accordingly.  For example, an IP camera device will turn on lights in the room when you're viewing the camera.  Thus, the IP camera needs to know what lights are in the room.  Typically a device requests this information only once when it's starting up to be most efficient.  Therefore, while you add new plug and play devices, those new devices will generally work immediately, but the functionality may not be there fully until the router does a reload and tells all the other devices to also reload and re-request this data so they can work with this new device.  This process is known as a 'reload'.  It only takes about 10 seconds.  Every time you add or remove devices, or change some device's configuration, you may be asked if you want to do a reload.  If you're still going to be adding more devices or making more changes, just say no.  There's no hurry, you can do the reload when you're done.  Also, if you're in the middle of watching a movie or tv, you can postpone the reload since, when the media players will generally stop playing media during a reload.  Note that your phone calls aren't affected, and any tv shows being recorded by MythTV in the background are also unaffected.
+
 
+
Regen the orbiter: LMCE's Orbiter's, or user interfaces, are all "pre-rendered" in order to be more efficient.  In other words, the source images are all very high resolution, and need to be resized for whatever resolution your screen is running.  Also, as you add new activities, those will result in new buttons for the main menu, and sometimes new screens, or perhaps changes to the text on existing buttons.  So when you add new activities, you won't immediately see them on an orbiter until you do a regen.  If you're still going to be adding more activities, just say 'no', and do a regen when you're all done.  If you added new activities and want to test them quickly without waiting for a regen of all the orbiters, which takes about 2 to 5 minutes per, then just regen the one orbiter you're using for your tests, and regen the others only after you're sure everything is done.  Once you do a regen of all orbiters, they will all have the same list of activities.
+
 
+
This regen process is a bit annoying but necessary for a lot of low-power devices like the desktop phones which just don't have the processing power to do scaling and rendering on the fly, and need all the images pre-rendered and with the text pre-embedded in the images.  However, since the media stations have a lot more processing power and can render their ui's on the fly, it's in the works to make the orbiter's on the media stations render their ui's on the fly so you don't need to do a regen every time you add/remove activities.
+
 
+
== Managing your media ==
+
 
+
LinuxMCE is always scanning for network shares on NAS devices and other PC's, including Windows, and will ask you "if you want to use it" every time it finds one.  It's also scanning for internal hard drives (ide, scsi, sata) as well as usb drives on the core and media stations, and will also prompt if it finds one.  Whenever you say "Yes" you want to use it, it is shared by all the media stations in the home, scanned for media (audio, video and photos), and that media is stored in a central database on the core.  This means when you plug in a usb drive on a media station in the living room and say 'yes' to use it, that media will always be on the media station in the other rooms too.  At the moment there is no way to have 'local only' media; all media stations use the same media catalog.  This is a limitation that will be addressed in the near future so you can attach say a USB drive in master bedroom and know the drive won't be shared.
+
 
+
I'll refer to these storage devices, NAS, usb drives, extra hdd's in either the core or a media station, as "Extra Drives".  Whenever an extra drive is added, you can see it in the device tree in the admin panel.  Choose Advanced, Configuration, Devices.  Under 'Core' you'll see a device for any extra hdd's in the core, as well as any NAS devices, and under each media station you'll see any extra hdd's in those media stations.  By clicking on the device you can change the device's properties, such as change the username/password used to mount a NAS and so on.  NAS devices and other pc's with file shares will show as a device under the core, and each file share on those device is a child of that device.
+
 
+
Internally LinuxMCE creates a top level folder for 'public' media, which means it's for everyone in the home, and a 'private' media folder for each family member.  Within each of those folders are sub-folders for 'audio', 'video', 'pictures', 'data' and 'other.  And within each of those will also be sub-folders for all the extra storage devices in the home (NAS, USB, extra internal drives, etc).  When you attach an extra storage device, if you say to use the default directory structure, the same directory structure will be created on it, and you will see a sub-folder for each of those.  You can also say 'just make it public' or 'make it private' when a new storage device is detected.  Here's an example.  Let's say you have 2 users: John and MaryAnd you connect 3 storage devices: 1) a NAS for which you choose 'use default directory structure' and which is called 'Generic Network Storage [50]' (more on the names in a moment), 2) a USB drive for which you choose 'make it all public' and which is called 'USB Drive [51]' , and 3) a sata drive for which you choose 'make it private for john' and which is called 'General Internal HDD [52].
+
 
+
Now let's say you're running Windows and go to network neighborhood, and find the core.  Here's the directory tree you will see:
+
  
 +
Now let's say you're running Windows. Go to Network Neighborhood and find the LinuxMCE Core server.  The directory tree ought to look like this:
 +
<pre>
 
public
 
public
 
   video
 
   video
Line 97: Line 84:
 
     Generic Network Storage [50]
 
     Generic Network Storage [50]
 
   other
 
   other
 +
</pre>
 +
Whether you put your media under video, audio, pictures, data or other is unimportant.  It will be scanned by LinuxMCE anyway. The contents of "General Internal HDD [52]" will be displayed in the folder john/other/General Internal HDD [52]. The contents of USB Drive [51] will be displayed in the folder public/other/USB Drive [51].  When John browses the contents in Network Neighborhood, he will be asked for his username and password. He can then access the content in both the public folder as well as the "john" folders (including General Internal HDD [52]).  When Mary browses the contents with her username and password, she will see both the public and "mary" folders. She will not be able to see anything on General Internal HDD [52], however, since that drive was specified to be private for John.
 +
 +
In the case of John's private media, it won't be displayed in the LinuxMCE media browser unless you click 'Sources'-->'John'. However you ''can'' see the contents of General Internal HDD [52] (unless you deselect 'Sources'-->'Public' from the media browser).  Generic Network Storage [50] would be different, however, since you specified to use the default directory structure for it.  LinuxMCE will have created public directories on Generic Network Storage [50] for public video and public audio, as well as for john's video and mary's audio. The media file browser will show only the media that is in the public directories. (The same is true with the Windows Network Neighborhood browser.)
 +
 +
If Generic Network Storage [50] has existing media in the top (root) folder, you won't see it listed anywhere.
 +
 +
It is generally recommended, therefore, that when you add a new (blank) "extra" storage device, you choose to use the default directory structure on it.  When you rip media to that device, the media can then be made either public or private, and LinuxMCE will automatically put it in the correct folder (audio, video, etc.).
 +
 +
If you connect an extra storage device that already has media on it, however, and that media isn't already organized in LinuxMCE's default directory structure, it's easiest if you simply 'make it all public' or 'make it all private'. If you were to 'use the default directory structure', you would need to manually move the files from the existing folders into one of the directory folders that LinuxMCE would then create for you.
 +
 +
When you rip files, you have the option of copying them to the Core.  If you rip a CD and make it public, it will be stored in public/audio.  If you go into Network Neighborhood and add a folder under public/audio, you would essentially be adding a folder on the Core. If you add a folder under public/audio/Generic Network Storage [50], you would be adding it to Generic Network Storage [50].
  
Whether you put your media under video, audio, pictures, data or other is immaterial.  It will be scanned the same regardless and is just for your convenience.  Note that the entire contents of "General Internal HDD [52]" will be found in the folder john/other/General Internal HDD [52], and the entire contents of USB Drive [51] will be found in the folder public/other/USB Drive [51].  When John browses the contents in network neighborhood he will be asked for his username and password and can access all the content in the public and john folders, including the General Internal HDD [52].  When Mary browses the content with her username and password she will see the public and mary folders, and thus not see anything on General Internal HDD [52] since that was private for John.
 
  
In the case of John's private media, you won't see it in the LinuxMCE media browser unless you click 'Sources', 'John', because it's private for JohnHowever you will always see the contents of General Internal HDD [52] unless you unselect 'Sources', 'Public' from the media browser.  Generic Network Storage [50] is different, however, because you said to use the default directory structure.  This means that LinuxMCE will create directories on Generic Network Storage [50] for public video, public audio, john's video, mary's audio, etc, and the media file browser will only show whatever media that is in those directories, and the same is true with the Windows Network Neighborhood browser.  If Generic Network Storage [50] had some existing media on it in the top folder, you won't see it anywhere.
+
===Drive and network drive management===
 +
This concept behind drive/network drive management is not the same as the method to which Linux and Windows users are accustomed. In Windows, for example, each network device shows up separately; they are never grouped togetherThere is an advantage to the way LinuxMCE manages drives. It's much simpler to add devices when you're a novice and don't understand networking. Further, if you're using an infrared remote control, you can manage drives with a single 'yes' or 'no,' click, which is very convenient. Lastly, all your media content is cataloged and presented in the same structure throughout the system, no matter which Media Director you're using or what room you're in.
  
For this reason, it is generally recommended that when you add a new, and empty extra storage device, you say to use the default directory structure. That way when you do ripping in LinuxMCE to that extra device, you can choose to make the media public or private and LinuxMCE will automatically put it in the right folder: audio, video, etc.  This is because LinuxMCE created separate folders for the public content and each family member's private content and assigned the appropriate access rights to them.
+
In Windows, by comparison, if you connect a USB drive to a Windows PC in the bedroom, you won't see that content in the living room unless you 1) open file explorer, 2) create a new network share for it, 3) go into the living room, and 4) create a new mapped network drive there. (That isn't so easy to do with an infrared remote and without some knowledge of networking.)  Further, you wouldn't be able to see the media in any other room in the house unless you were to also create mapped network shares in those rooms as well.  
  
However if you connect an extra storage device that already has existing media on it, and that media isn't already organized in LinuxMCE's default directory structure, it's easiest to just choose 'make it all public' or 'make it all private'. If you choose 'use the default directory structure', you will need to manually move whatever files you want to access into LinuxMCE into one of the directories LinuxMCE created for you.
+
With LinuxMCE, when you connect a USB drive, for example, you can 'make it all public'; the media will be available everywhere. No other typing is required. With LinuxMCE, instead of managing multiple network shares and mapped drives, you can choose the Core's public folders in the Network Neighborhood browser from anywhere in the home, without having to know which storage devices the media is actually on.  When you remove a USB drive from a Media Station, that media instantly disappears from the catalog displayed in every room. If you reattach it, it will re-appear.
  
When you rip files you also have the option of copying them to the core. Say you rip a cd and make it public, it will be seen in public/audio.  If you go into network neighborhood and add a folder under public/audio, you will be adding a folder on the core. If you add a folder under public/audio/Generic Network Storage [50], you are adding it to Generic Network Storage [50].
+
You can also backup the media securely on the Core. LinuxMCE has built-in [http://en.wikipedia.org/wiki/RAID RAID] 5 (see '''[[LinuxMCE Admin Website]]-->Advanced-->[[RAID]]'''), so its HDD has similar backup capabilities to a [[NAS]] device.
  
This concept behind drive/network drive management is not the same as how Linux or Windows handles it.  For example, if you use Windows, each network device shows up separately; they are never grouped together like LinuxMCE does it.  However, there is an advantage to the way LinuxMCE handles it in that it's much simpler to add devices if you're a total novice and don't understand networking, or if you're using an infrared remote control and just want a way to do this by clicking a simple 'yes' or 'no' and not having to type.  And also all your media content is cataloged and presented the same no matter what room you're in.  As a comparison, under Windows, if you connect a USB drive to a Windows PC in the bedroom, you won't see that content in the living room unless you open file explorer, create a new network share for it, go into the living room, and create a new mapped network drive. You can't really do that with an infrared remote, or without some knowledge of networking concepts.  And you won't see that media in any other room in the house unless you also create mapped network shares there tooOn the other hand, with LinuxMCE, when you connect the usb drive, you can just say 'make it all public' and you'll have the media everywhere without typingAnd with LinuxMCE rather than managing multiple network shares and mapped drives, you just go to network neighborhood, chose the LinuxMCE [[core]], and under 'public' you will see all the public everywhere in the home without having to even be aware of what storage devices that media is on.  When you remove a usb drive from a media station, that media instantly disappears from the file browser catalog in every room in the home.  And if you reattach it, it re-appeears.
+
To change the name of an extra device, go to the '''[[LinuxMCE Admin Website]]-->Advanced-->Configuration-->[[Devices]]''' and under the Core you will see listed the HDDs in the core and any connected NAS devices. Under each Media Station you will see the HDDs in that Media Station. All are given default namesYou can change the description, which will also change the folder nameIn the above example, changing "USB Drive [51]" to "Tokyo" means the directory public/other/USB Drive [51] would change to public/other/Tokyo.
  
You can also store media on the Core, and LinuxMCE has built in RAID 5 (see Advanced, [[RAID]] in the admin site) so it can act as a [[NAS]] itselfThese [[RAID]] devices are treated the same way.
+
You can see a list of the files in the system by folder In the '''[[LinuxMCE Admin Website]]-->Files & Media-->[[Media Files Sync]]''' menuIf a file is shown with a check box, the file exists both on the local disk as well as in LinuxMCE's master catalog.  If it has a different icon, then LinuxMCE hasn't finished cataloging the media; just be patient. It should appear with a check mark soon (depending on how much new media was added).  
  
Now regarding changing the name of an extra device, go into the admin panel and choose 'Advanced', 'Configuration', 'Devices' and under the Core you will see all hdd's in the core plus any nas devices, and under each media station you will see any hdd's in that media station. These are given default names.  You can change the description, which will also change the folder.  In the above example, changing "USB Drive [51]" to "Tokyo" means the directory public/other/USB Drive [51] would change to public/other/Tokyo.
+
Use this interface to manage change cover art and attributes. Under Files & Media there is also a cover art scan utility that will find cover art, as well as other attributes (actor, genre, etc.) obtained from Amazon.
  
In the admin panel you can also go to [[Files & Media]], [[Media Files Sync]] to see all the files in the system by folder, and to change cover art and attributes.  Note that if a file is shown with the check box, that means the file exists both on the disk and in LinuxMCE's master catalog.  If it has another icon, that means the process which LinuxMCE uses to catalog the media hasn't finished with that media yet, so just be patient and it should appear with a check mark soon depending on how much new media was recently added and is queued for cataloging.  Under Files & Media there is also a cover art scan utility that will find cover arts as well as attributes (actor, genre, etc.) for both cd's and dvd's from amazon.
 
  
Now for the Linux guys who want to get under the hood, here's it works.  [[UpdateMedia]] is a daemon that constantly scans for media files in the /home/public and each /home/user_xxx folder which is created for each family member, and any media is added to the pluto_media database, File table, and attributes and cover art go into the Attribute and Picture tables.  Under /home/public and /home/users_xxx is a data subfolder which contains the actual video, audio, pictures folders.  The /home/user_xxx directories themselves will contain system files for each user, like email boxes, and the main login for that user.  That's why there's a 'data' subfolder.
+
===Operational details of network and disk mounts===
 +
[[UpdateMedia]] is a daemon that constantly scans for media files in the /home/public and the /home/user_xxx folder created for each user. Any added media is cataloged in the pluto_media database File table, and attributes and cover art go into the Attribute and Picture tables.  Under /home/public and /home/users_xxx is a data subfolder which contains the actual video, audio, pictures folders.  (The /home/user_xxx directories themselves contain the system files for each user (like email boxes) as well as the main login for that user (in a "data" subfolder).
  
All extra devices are mounted as: /mnt/device/xxx where xxx is the device number (see the admin site).  The mount point is the same if it's a local drive or not.  For example, a usb drive #50 in a media station may be mounted as a local device as /mnt/device/50, and as a samba mount as /mnt/device/50 on all the other media stationsSo all media stations and the core have the same /mnt/device/ mounts.  Within the /home/public/data and /home/user_xxx/data are symlinks to the directories in /mnt/device/xxx.  Since the core and all media stations mount the same /home directory, and have all the same /mnt/device mounts, they will all have the same files the same way.  So, if the [[UpdateMedia]] daemon picks up the file: /home/public/data/audio/Generic Internal Drive [50]/The Beatles/Let it be.mp3, that file will exist on every media station too.
+
Extra devices are mounted as /mnt/device/xxx (where xxx is the device number).  The mount point is the same whether it's a local drive or not.  For example, USB drive [50] in a Media Station may be mounted as a local device named /mnt/device/50, but is also mounted as a Samba mount on other Media Stations as /mnt/device/50.  The Core and the Media Stations all use the same mount names (/mnt/device/).
  
[[Category: Tutorials]]
+
Within the /home/public/data and /home/user_xxx/data are symlinks to the physical directories specified by /mnt/device/xxx.  Since the Core and all Media Stations mount the same /home directory (and all have the same /mnt/device mounts), they will all show the same files.  Therefore, if the [[UpdateMedia]] daemon locates the file /home/public/data/audio/Generic Internal Drive [50]/The Beatles/Let it be.mp3, that file will be listed on every Media Station, too.

Latest revision as of 05:23, 20 October 2012


Reload Router & Regen Orbiters

While using LinuxMCE you'll see sometimes a message asking if you want to reload the router, or if you want to regenerate the Orbiter UIs (User Interfaces). In general, these options refresh the LinuxMCE databases so that changes to the system can be recognized.


Reload Router

All devices in LinuxMCE obtain their configuration information from the DCERouter, which is the central piece of software on the Core. All devices request a list of the other devices in the home from the router, so they can respond to them appropriately. (For example, an IP camera device might turn on the lights in the room whenever you're viewing the camera. To do so, the IP camera needs to know what lights are in the room.) Typically a device requests this information only when it's starting up. When you connect additional plug and play devices to the system, these new devices generally will work immediately, but their functionality may not be fully enabled within the LinuxMCE system until the DCE router is reloaded. When the router reloads, it signals all devices on the system to simultaneously reload and re-request the system data. Each existing device can then work with each new device. This process is known as a 'reload'. It generally takes about 10 seconds. Every time you add or remove devices, or change a device's configuration, you may be asked to do a reload. If you're going to add more devices or make more device changes, you can do the reload once you're done. If you're in the middle of watching a movie or TV, you can postpone the reload, since media players generally stop playing during reloads. Phone calls aren't affected, though, and TV shows being recorded by MythTV in the background are also unaffected.


Regen the Orbiter

LinuxMCE's Orbiter User Interfaces are all "pre-rendered" in order to be more efficient. The User Interface source images are all very high resolution, but need to be resized to accommodate the resolution of each Orbiter screen. The Core server has a list of the Orbiters used by your system, and will generate the appropriate User Interface screen for each Orbiter. It will do this each time you request a "regen". If you have five different types of Orbiters (each with a different type of screen), then five different images will be generated during each regen.

These User Interface screen images are stored in the Core. The appropriate UI image is sent to an Orbiter whenever it is activated. For many low-power devices (like mobile phones or desktop phones) there just isn't the processing power to do scaling and rendering of a User Interface screen on the fly. They need to be pre-rendered (with text pre-embedded in the images) to be efficient.

Adding new scenarios may result in the creation of new buttons for the User Interface, or changes to the text on existing buttons. Perhaps an entirely new screen will be created.

Until the User Interface images are regenerated, though, you won't be able to see these new buttons (or screens) on your Orbiter. During the regen, new User Interface images for each type of Orbiter is generated by the Core. This can take about 2-5 minutes, depending on how many Orbiter types you have in your system.

You needn't do a regen every time you add a scenario. You can wait until you have finished adding all the scenarios. Furthermore, you can also regen only the Orbiter you are currently using by doing a "Quick regen". This allows you to see the new User Interface (following the addition of new scenarios) without having to do a full regen for all the Orbiters. Once you have finished adding scenarios, then you can do a full regen.

This regen process can be a bit annoying, but is necessary. In future editions of LinuxMCE, it is planned to allow Media Directors, which have a lot more processing power, to render their on-screen Orbiter User Interfaces on the fly (so you don't have to do a regen each time you add or remove a scenario).

You can do a full Orbiter regen or a Quick regen at any time by using buttons on the Core's LinuxMCE Launch Manager.


Managing your media

LinuxMCE is always scanning for network shares, on Network-Attached Storage (NAS) devices and other Hard Disk Drives (HDDs) of PCs connected to the system (including Windows PCs). Universal Serial Bus (USB) drives are also detected. Every time a LinuxMCE finds a network share, you will be asked if you would like to use it. Whenever you reply "Yes", the file share can be used by any Media Director on the system. The file share is scanned for media, such as audio, video and photos, and any that are found are then cataloged in the Core's central database. For example, when you plug in a USB drive on a Media Station in the living room and tell LinuxMCE to use it, the media on the drive will be available to Media Directors in other rooms.

At the moment there is no way to restrict your media for 'local use only'; all Media Stations in the LinuxMCE system share the media catalog stored on the Core. (This is a limitation that will be addressed in the near future. Sometimes it is desirable to attach a USB drive in the master bedroom and not allow it to be shared, for example. Note: However, see this article that describes a method to address this problem.)

Storage devices (NAS, USB drives, extra HDDs on the Core or Media Directors) are referred to as "Extra Drives". When an extra drive is added, it is listed in the device tree in LinuxMCE Admin Website-->Advanced-->Configuration-->Devices. Under 'Core' you'll see a device listed for each HDD in the Core, as well as for each NAS device. Under each Media Station will be listed the HDDs in that Media Station. By clicking on the device you can change the device's properties, such as the mount username/password. Each NAS device, and each file share on another PC, will show as a device listed under the Core; each is considered a child of the Core.


Access control for shared media

LinuxMCE creates a top level folder for 'public' media. This folder can be used by every user in the system. A 'private' media folder is also created for each user. Within each of those folders are sub-folders, labeled 'audio', 'video', 'pictures', 'data' and 'other'. Within each of those will also be sub-folders for the extra storage devices (NAS, USB, extra internal drives, etc). When you attach an extra storage device, you can specify whether the default directory structure should be used for it. Alternatively, you can specify 'just make it public' or 'make it private'.

Here's an example. Let's say you have 2 users: john and mary. You connect 3 storage devices:

  1. a NAS, for which you specify 'use default directory structure'. It is named 'Generic Network Storage [50]'
  2. a USB drive for which you specify 'make it all public'. It is named 'USB Drive [51]'
  3. a SATA drive for which you choose 'make it private for john'. It is named 'General Internal HDD [52]

Now let's say you're running Windows. Go to Network Neighborhood and find the LinuxMCE Core server. The directory tree ought to look like this:

public
  video
    Generic Network Storage [50]
  audio
    Generic Network Storage [50]
  pictures
    Generic Network Storage [50]
  data
    Generic Network Storage [50]
  other
    USB Drive [51]
john
  video
    Generic Network Storage [50]
  audio
    Generic Network Storage [50]
  pictures
    Generic Network Storage [50]
  data
    Generic Network Storage [50]
  other
    General Internal HDD [52]
mary
  video
    Generic Network Storage [50]
  audio
    Generic Network Storage [50]
  pictures
    Generic Network Storage [50]
  data
    Generic Network Storage [50]
  other

Whether you put your media under video, audio, pictures, data or other is unimportant. It will be scanned by LinuxMCE anyway. The contents of "General Internal HDD [52]" will be displayed in the folder john/other/General Internal HDD [52]. The contents of USB Drive [51] will be displayed in the folder public/other/USB Drive [51]. When John browses the contents in Network Neighborhood, he will be asked for his username and password. He can then access the content in both the public folder as well as the "john" folders (including General Internal HDD [52]). When Mary browses the contents with her username and password, she will see both the public and "mary" folders. She will not be able to see anything on General Internal HDD [52], however, since that drive was specified to be private for John.

In the case of John's private media, it won't be displayed in the LinuxMCE media browser unless you click 'Sources'-->'John'. However you can see the contents of General Internal HDD [52] (unless you deselect 'Sources'-->'Public' from the media browser). Generic Network Storage [50] would be different, however, since you specified to use the default directory structure for it. LinuxMCE will have created public directories on Generic Network Storage [50] for public video and public audio, as well as for john's video and mary's audio. The media file browser will show only the media that is in the public directories. (The same is true with the Windows Network Neighborhood browser.)

If Generic Network Storage [50] has existing media in the top (root) folder, you won't see it listed anywhere.

It is generally recommended, therefore, that when you add a new (blank) "extra" storage device, you choose to use the default directory structure on it. When you rip media to that device, the media can then be made either public or private, and LinuxMCE will automatically put it in the correct folder (audio, video, etc.).

If you connect an extra storage device that already has media on it, however, and that media isn't already organized in LinuxMCE's default directory structure, it's easiest if you simply 'make it all public' or 'make it all private'. If you were to 'use the default directory structure', you would need to manually move the files from the existing folders into one of the directory folders that LinuxMCE would then create for you.

When you rip files, you have the option of copying them to the Core. If you rip a CD and make it public, it will be stored in public/audio. If you go into Network Neighborhood and add a folder under public/audio, you would essentially be adding a folder on the Core. If you add a folder under public/audio/Generic Network Storage [50], you would be adding it to Generic Network Storage [50].


Drive and network drive management

This concept behind drive/network drive management is not the same as the method to which Linux and Windows users are accustomed. In Windows, for example, each network device shows up separately; they are never grouped together. There is an advantage to the way LinuxMCE manages drives. It's much simpler to add devices when you're a novice and don't understand networking. Further, if you're using an infrared remote control, you can manage drives with a single 'yes' or 'no,' click, which is very convenient. Lastly, all your media content is cataloged and presented in the same structure throughout the system, no matter which Media Director you're using or what room you're in.

In Windows, by comparison, if you connect a USB drive to a Windows PC in the bedroom, you won't see that content in the living room unless you 1) open file explorer, 2) create a new network share for it, 3) go into the living room, and 4) create a new mapped network drive there. (That isn't so easy to do with an infrared remote and without some knowledge of networking.) Further, you wouldn't be able to see the media in any other room in the house unless you were to also create mapped network shares in those rooms as well.

With LinuxMCE, when you connect a USB drive, for example, you can 'make it all public'; the media will be available everywhere. No other typing is required. With LinuxMCE, instead of managing multiple network shares and mapped drives, you can choose the Core's public folders in the Network Neighborhood browser from anywhere in the home, without having to know which storage devices the media is actually on. When you remove a USB drive from a Media Station, that media instantly disappears from the catalog displayed in every room. If you reattach it, it will re-appear.

You can also backup the media securely on the Core. LinuxMCE has built-in RAID 5 (see LinuxMCE Admin Website-->Advanced-->RAID), so its HDD has similar backup capabilities to a NAS device.

To change the name of an extra device, go to the LinuxMCE Admin Website-->Advanced-->Configuration-->Devices and under the Core you will see listed the HDDs in the core and any connected NAS devices. Under each Media Station you will see the HDDs in that Media Station. All are given default names. You can change the description, which will also change the folder name. In the above example, changing "USB Drive [51]" to "Tokyo" means the directory public/other/USB Drive [51] would change to public/other/Tokyo.

You can see a list of the files in the system by folder In the LinuxMCE Admin Website-->Files & Media-->Media Files Sync menu. If a file is shown with a check box, the file exists both on the local disk as well as in LinuxMCE's master catalog. If it has a different icon, then LinuxMCE hasn't finished cataloging the media; just be patient. It should appear with a check mark soon (depending on how much new media was added).

Use this interface to manage change cover art and attributes. Under Files & Media there is also a cover art scan utility that will find cover art, as well as other attributes (actor, genre, etc.) obtained from Amazon.


Operational details of network and disk mounts

UpdateMedia is a daemon that constantly scans for media files in the /home/public and the /home/user_xxx folder created for each user. Any added media is cataloged in the pluto_media database File table, and attributes and cover art go into the Attribute and Picture tables. Under /home/public and /home/users_xxx is a data subfolder which contains the actual video, audio, pictures folders. (The /home/user_xxx directories themselves contain the system files for each user (like email boxes) as well as the main login for that user (in a "data" subfolder).

Extra devices are mounted as /mnt/device/xxx (where xxx is the device number). The mount point is the same whether it's a local drive or not. For example, USB drive [50] in a Media Station may be mounted as a local device named /mnt/device/50, but is also mounted as a Samba mount on other Media Stations as /mnt/device/50. The Core and the Media Stations all use the same mount names (/mnt/device/).

Within the /home/public/data and /home/user_xxx/data are symlinks to the physical directories specified by /mnt/device/xxx. Since the Core and all Media Stations mount the same /home directory (and all have the same /mnt/device mounts), they will all show the same files. Therefore, if the UpdateMedia daemon locates the file /home/public/data/audio/Generic Internal Drive [50]/The Beatles/Let it be.mp3, that file will be listed on every Media Station, too.