Friday, June 28, 2013

New Media Notifier for Media Center and Media Browser

Disclaimer: If you do not want notification messages appearing while watching a movie or TV show, you do not want this tool.

Quick Guide (more details below)

Remember to run these tools as Administrator.  Right click the .exe and choose Run As Administrator unless you have disabled the UAC.

This tool allows one to receive new media notifications while using Media Center.  This tool utilizes the .xml file that are used in a Media Browser configuration.  To get a new movie notification, a movie.xml file will be read.

I wrote this tool for myself.  This application works best if you have an automated system, using tools like SickBeard, CouchPotato, or FileBot.  Or if you want your family downstairs to know that show they want to see is ready.

Requirements


Windows Media Center and .Net 3.5.


Install


This setup utilizes two tools.  One tool simplifies the install and setup of the required MCPopupSend program by Scott (link to his posting about the tool he made).  The second tool runs monitoring specified directories for new media items: movies, and TV shows to appear.

  1. Once each Media Center that you want to show a brief popup message when new media is available, please run the MCPopupEasy tool.
  2. Download the tool, extract the .zip file, and run the .exe inside.  Click the button to install MCPopupSend (you must do this to get messages).  Next, click the button to add the necessary firewall exceptions (you must do this too).  The firewall rules created are set to only be open on the local subnet (all you should need).
  3. The Media Center is now ready to receive broadcast messages and display popup notifications informing of new media
  4. Next, go to the computer that will be used to monitor folders for new content.
  5. Download this NewMediaNotifier tool.
  6. Extract it somewhere.  The program is going to be running all the time from this folder, so put it somewhere it can stay.
  7. Run the NewMediaNotifier.exe
  8. In the Movie Folder section, add the root directories of your movie folders.
  9. In the TV folders, add the root directories of you TV show folders.
  10. Set the amount of time for the message to show when it appears on the Media Center.  The default is 5 seconds.
  11. Choose whether the program should automatically start monitoring when it opens.
  12. Choose whether to have the application open as a small icon in the systray (area down by the clock).
  13. Specify what you want the title of each type of message to be (if you don't like my defaults).
  14. Choose the type of title to show from the xml file for movies, and select whether you also want to see year, rating, or runtime (or all).
  15. Click Start.  Now when new media is written to the monitored locations, the program will wait 20 seconds (to be safe the xml file is no longer being written to) and will broadcast a message to the Media Centers informing of the new content available.
I cannot control anything about the popup except the text.  I cannot remove the OK button, I cannot change color, shape, or transparency.  I also cannot stop the Media Center ding.

I know many of you would not want a message popping up while watching a movie.  Like I said, I wrote this for our home use.  I'm just offering it up.  Our family does not find it un-appealing, and likes knowing when something new just got put up.


Further Information


MCPopup utilizes UDP port 11000 and a firewall program exception needs to be made for ehexthost.exe in the ehome directory.

If you are interested an utilizing the popup to send other kinds of messages you can.  Use the MCPopupEasy tool to prepare the Media Centers.  Then use the MCPopupSend.exe to send whatever messages you want.  Read the post linked about for Scott's description and the command line options.

If you do not want the firewall exceptions, there is a button in the tool that will remove them. 

Do not remove the mcepopup directory from the directory with the executable.  The executable expects it to be there.

If you want the NewMediaNotifier tool running all the time, make a shortcut to it in the Startup folder.

On Vista and Windows 7 put the shortcut here:
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup

On XP:
C:\Documents and Settings\All Users\Start Menu\Programs

Check the two boxes and do the above, and the tool will always run and sit down in the systray, out of the way.

This is what the popup looks like:












It is not actually that big.  I cropped the image.  That is only part of my screen.


Screenshots



MCPopupEasy














NewMediaNotifier













Troubleshooting


If you get an error immediately after opening, you may not have .Net 3.5 installed

If you do not run the programs 'As Administrator' don't expect them to work.

Issues or questions please post in the comments section.

Wednesday, June 26, 2013

Tool to Keep Hard Drives Awake

Requirements

This application uses .Net 3.5.  .Net 3.5 is included in Windows 7.  Windows Vista and XP users will need to make sure .Net 3.5 is installed to use this application.  An easy way to tell is if you open this program and it immediately errors, you probably don't have it :)

Description

I wrote this tool because the tools I found on the net did not exactly meet my needs.  xSleep works well, but it is stubborn config wise.  I changed it to monitor a different second drive, and whenever I reopen it, it goes back to the previous setting.  The other tool I found only let you add one drive.

This tool let's you add as many drives as you want.  You can have it open to the systray.

The last three external USB hard drives I have purchased all seem to have a power saving mode implemented through firmware.  Power settings changes in Windows 7 did not resolve the issue.  I need to keep these drives from going into power saving mode as it interferes with my Media Center processes.

Installation


Download






Extract the KeepAwake.exe to any location your prefer.

Usage

Open KeepAwake.exe.  Add the drives you want to prevent from going into a power saving mode.  When ready, click the Start button.  Once Start is clicked the application is active and will 'ping' the specified drives at the set interval. 

This application works by writing a text file to the root of the specified drive at the set interval.  After the file is written it is deleted.  The contents of the file is a list of the directories on the drive.

Options  - all options are remembered by the application.
  1. Keep awake interval (how often the drive is 'pinged') - set number in minutes
  2. Start on Open - tells the application to go ahead and start monitoring as soon as it is opened (recommended).
  3. Open to Systray - when the application opens there will not be a visible window.  Just a lightbulb icon in the systray area (down by the clock in the lower right).
  4. Automatically run at logon - checking this box will cause the program to automatically run when the current user logs onto the system.
The intentions of options 2,3, and 4 are so once the app is configured it will automatically run when the system is logged on and will be hidden in the systray.  Verification that the app is actually doing something can be seen in the list box on the right.  The wrote file and deleted file, with timestamps are listed.

Note, deselecting the box for Automatically run at logon will delete the startup shortcut.  If you plan to move the location of the .exe, or remove the .exe all together, and have enabled auto run, please uncheck this box first so you do not have messages at logon about a missing file (the shortcut will still be in startup pointing to something that no longer exists).  If you move the .exe, just uncheck, move, and then re-check the box and a new shortcut will be created pointing to the new location.

Right clicking the systray icon allows to choose 'Exit'. Clicking the systray icon opens the KeepAwake window.  Minimizing KeepAwake moves it to systray.  X'ing out closes the application.

Screenshot

 

Troubleshooting

If you have any issues with the program please post them in the comments section.