MPprogs -Multimedia for HDTV
MPdir MPaudio MPvideo and utilities
MPdir MPaudio MPvideo and utilities
MPprogs is a suite of software for the display and management of media files on a Windows PC. It is designed to be the navigation point for a dedicated media drive. This can be an internal drive partition, USB HD drive, an SD chip, or a optical disk(read only of course). Before setting up a disk it is imperative that the codecs and operating system files be installed. There is a Download MPupdates.zip containing all files necessary.
Codecs Framework & DirectX Download:
Suggested operating system files (these files are all downloadable from the Internet):
K-Lite Codec package
Framework 4.0
DirectX9.0
This .zip contains all necessary drivers, codecs, and OS uptates
Once these files have been installed you are ready to create a media drive. To create a media drive first format a drive creating a blank drive. I suggest formatting NTSF, unless you use MAC also, then format eXFAT as that will allow a mac to also read the media files. Once an empty drive has been created copy MPprogs to the root of the drive. You can then create some folders to contain the media like Pictures, Music, Movies, etc on the root of the drive. In order to have easy access to this collection of media files open the folder MPprogs and create a shortcut on your desktop to MPdir.exe.
MPdir is the main navigation tool for this newly created media drive and MPprogs understands the following file types and hands off the display to the following subordinate programs:
MPaudio - Pictures - JPG TIF BMP
MPaudio - Audio - MP3 WAV
MPvideo - Video - AVI MPG MP4 MTS M2TS M2T FLV
MPrtfView - Rich Text Files - RTF
Notepad - Text - TXT
OS -Executables - EXE BAT
Here is MPdir executed from the media drive G: The directory listing is the root of that media drive. You will notice that all directories (folders) have an '\' appended to the end of the path. All listed files contain an extension. Any file in the list can be selected with a single left button click. A choice is executed with a double-click. Upon, double clicking a directory, the current directory is changed to the selected directory and the file listing is displayed. If a file is selected the file type is determined from the extension and that name is handed off to the appropriate subordinate program for display.
A comment begins with //
A directory ends with \
A drive begins with <drive>:\
A link always begins with http - Uses default browser
An image file ends with .bmp .jpg .tif - uses MPaudio.exe
An audio file ends with .mp3 .wav - uses MPaudio.exe
A video file ends with .avi .mpg .m2t .m2ts .mts etc. - uses MPvideo.exe
An executable program .exe .bat - uses OS
A Rich Text File ends with .rtf - uses MPshowRTF.exe
An ASCII text file ends with .txt - uses Notepad
A “Multi Media List” ends with .mml - uses MPdir.exe
All other file types will be marked as unknown.
I am amazed the number of Windows users that know nothing of multi select in a list. This is a standard MS convention used in almost all programs including MPprogs. There are two types of selection consecutive (hold shift key while selecting) and random (hold CTRL key while selecting). In MPdir for example you could go to a music folder and select a bunch of files while holding down the CTRL key. You can then press ALT-M and the selected files will be played using MPaudio.exe or for example press ALT-L and create a new list of the selected files.
each time one of these file types is selected in MPdir.exe, a call is made to the subordinate program, MPaudio.exe (dont let the name fool you it does images also) to display the file. The audio playback utilizes Mark Heaths nAudio library a quality .wav and .mp3 player. When an audio file is sent to MPaudio it automatically searches for an associated graphic file and plays both simultaneously. There is a control panel that is revealed when you move the mouse to the top of the image panel. There are options for Full Screen/Window that can be saved. You can slide the track bar to any position in the playback and save your current location and size for the next startup.
When a file is played from MPdir.exe the parent client is hidden for the duration of playback.
There are three mouse click commands
LB - return to the parent client (e.g. MPdir.exe)
Same as: Selecting the "Exit" button or pressing the 'ESC' key aborts playback and returns to the parent client.
RB - play the next selection and keep the parent client hidden
CB - Pause/Play
Here you can see the image file has been loaded rather than the audio file and all the image processing functions are available. I use the .jpg resized export many times each day preparing images for web use. The image is double buffered so the file on the drive can be edited or deleted without incurring the "file in use" problem
Whenever one of these file types are selected the display task is handed off to MPvideo.exe which is a DirectX video player. This requires that DirectX9.0 be installed. Also the video codecs must be installed. I have used both CCCP and K-Lite.
There is a control panel that is revealed when you move the mouse to the top of the video panel.
There are three mouse click commands
LB - Back 30 sec
RB - Forward 30 sec
CB - Pause/Play
About MPdir work initiated 2016.07.01
Update: 2017.03.10 - MPdir.exe can now be operated from a mouse or keyboard. I have tested this by depriving myself from the use of the mouse for extended periods and also with mouse and no keyboard to see if all operations were possible with both.
Select a File : LB single click or updown arrow
Execute a File: LB double click or key 'Enter'
Processing and Editing Functions: RB single click or right arrow
if (.mml list loaded) Opens list edit functions
if (dir mode) Opens file Processing functions
Key shortcuts: It should be noted that all key shortcuts work in the main interface and all subordinate functions as they are independent of the GUI.
Keys.Escape) - Exit program
Keys.Enter) - Same as LB double click
Keys.Right) - Same as RB click
Keys.Up) - select --
Keys.Down) - select ++
Every button has one capitalized letter which is the key shortcut.
Keys.A) - "All drives" Show
Keys.E) -"Exit" subordinate panels and return to main
Keys.D) - "Drive" root
Keys.G) - "Gmail"
Keys.I) - "Internet"
Keys.L) - "List default"
Keys.N) -"gotoN' selected line number
Keys.O) - "Other options " off/on
Keys.P) - "Parent" directory
Keys.R) - "Refresh list " - reloads list from memory
Keys.S) - "Search"
Keys.T) - "uTilites"
Keys.U) - "User lists"
Media Keys: work on Bluetooth and RC devices
'|<<' - Previous
'>||' - Pause Play
'>>|' - Play next
There are also many revisions to increase performance. I have also eliminated the custom client control and "Remember Form Position which I had hoped would make use of the program with Win10 better.
Why have I done this?
It has become increasingly obvious that Win10 is not a good OS for our Media machines providing no advantage and countless disadvantages over Win7. For this reason I plan on continuing to use Win7 into the forseeable future as Win10 is loaded with features I neither use or want. The "Custom Client" in MOprogs was designed primarily to provide a client window which is visually more appealing rather than Win10 client which is greatly compromised for portable devices. Since I do not plan on updating to Win10 the custom client is no longer necessary and I have eliminated all the code relating to it (about 1000 lines). Also the Custom Client code was creating some compiler errors that I have never been able to completely resolve and they have now been eliminated.
Client Configuration
There are two primary screen modes used in MPprogs, Full Screen, and sizeable client for netbooks and LoRes TV's. I have now created a button "Full Screen / Sizable Client" which toggles between display modes. There is now a "SaveConfiguration" button which saves the current client location, size, and control settings. This seems to be working well and I feel there is little need for the "Remember Form Position" so I have eliminated this code (1000+ lines) as the program now opens according to its .cfg file.
Subordinate media progs
MPaudio.exe - is a complete rewrite. now also does image only .wav .mp3 .jpg .tif .bmp
MPvideo.exe - most Video formats .avi .mpg .m2t .mts..m2ts .mkv mp4 etc.
MPrtfView.exe - richTextFile display and edit .rtf files
It should be noted that these programs are independent threads and as such can be executed numerous times from one small executable file. This is what allows multitasking of several MPdir.exe's for example. Another example is the display and processing of image batches each display is a double buffered independent small executable "MPaudio.exe" capable of resizable window display or full screen. Dont let the name confuse you as this small independent thread also contains Mark Heaths "nAudio library" to provide very high quality audio playback while displaying HDTV images. You can multitask several threads from MPdir.exe and create as many subordinate threads as you require. Somewhere there has to be a limit to the number of executables possible but I have executed over 100 programs with no problem on my 16gb machine.
Development Log
2017.03.10 I have been working on making MPdir.exe fully compatible with both mouse and keyboard. Selection in the listview can be optionally controlled by the up and down arrow keys and 'Enter' is the same as LB double click. I have implemented right mouse button selection which in the file mode reveals the processing options and in the list mode reveals the list editing options. Right Arrow is the same as right mouse button. All the buttons have a Capitalized key short cut.
2017.03.03 While viewing .mml list the "Parent" button returns you to the current dir.
2017.03.01 ALT-E "Export" now has "Go to destination" checkBox
2017.02.27 This update is a significant rework of the memory arrays and refresh routines. Now .mml files are now loaded into memory array thus searchable and random playable. ALT5 - including subDirs also creates memory array thus searchable and random playable
Refresh list now always copies memory array to the List View
ListView is now hidden during rebuilds big performance improvement
In the paths panel the letter in caps is the key shortcut
Now click "Refresh List" and you are returned to the master list including sub dirs.
With these changes all list are random playable, searchable, and saveable.
2017.03.10 Reorganized export destinations
2017.02.19 Export - Goto destination when done
2017.02.10 Color keyed to desktop ( for mkv switch)
2017.02.02 More work on edit functions
2017.01.27 Actions after list edit improved.
2017.01.22 Edit functions return to position and mullti select bug corrected
2017.01.21 Refined MPscrCap.exe. client sizable, CTRL-F12 capture, Image Process
2017.01.18 All buttons in "Paths" panel have key shortcut in caps.
2017.01.17 Disabled ALT and CTRL keys where inaproppriate
2017.01.11 Corrected seeding of random number generator for random play.
2017.01.11 \MPprogs\Utilities\MPslider.exe - Slide show utility
2017.01.08 Total rewrite of export progress client, trackbar, resizing, text 12pt
2017.01.05 MPvideo better resizing and full/win
2017.01.02 Rename returns to edit postion.
2017.01.02 Search NetFlix for file ALT6
2017.01.01 Reworked MPvideo.exe
2016,12.30 Click in letterbox same as panel
2016.12 25 Fixed control for low res videos
2016.11.18 Fixed no .cfg new install
2016.11.17 Revamp Fullscreen/Window
2016.11.15 xloc and yloc always > 50
2016.11.13 MPscrcap.exe - Doing a lot of screen captures must streamline process
2016.11.13 Fixed MPaudio.exe "Save Configuration"
2016.11.13 Moved current dir info to title bar w/fullscreen label show/hide
2016.11.12 MPaudio now exports images to sequential file names
2016.11.11 MPaudio/Image Process/Export now error checks for existing file
2016.11.09 MPdir "Export" background worker reporting improved
2016.11.08 Fixed creation sorting
2016.10.31 MPaudio Widow/Fullscreen improved
2016.10.30 MPaudio now exports to JPG BMP and TIF
2016.10.29 MPaudio images can be exported
2016.10.28 MPaudio images are now double buffered so the file can be manipulated without incurring the "File In Use" problem "Delete" "Rotate" and "Process" done.
2016.10.27 MPaudio reveals a "Image Process" button on image display
2016.10.27 MPdir ALT - I cascading image display for multi select
2016.10.27 ALT keys for all file processing functions
2016.10.25 CTRL keys for all list editing functions
2016.10.24 Enter key now same as double_click
2016.10.22 Improved readability of source code MPdir MPaudio MPvideo
2016.10.18 Now recognises file type .sln for Vis compiler
2016.10.17 Improved readability of MPdir source code.
2016.10.15 Burn audio cd now works
2016.10.13 include sub dirs in list now works
2016.10.12 MPdir enlarged all small fonts to 12pt
2016.10.09 Improved list editiing
2016.10.05 Fixed "Set Creation Date".
2016.10.05 Improved Horizontal scroll
2016.09.15 "Read Dir" button now always present
2016.09.14 Speech
2016.09.12 Fixed "Parent" button
2016.09.05 Now recognizes .rtf
2016 08.27 Enable "About" and internet link
2016.08.20 "SaveConfiguration" xsize ysize xloc yloc and settings
2016.08.15 Eliminated RichTextbox display in favor of listView
2016.07.24 Total rewrite of audio player MPaudio.exe
2016.07.24 Total rewrite of video player MPvideo.exe
2016.07.20 Save .mml AS option
2016.07.19 All features of MOlaunch.exe now included in MPdir.exe
2016.07.19 Created \MOprogs\Sample list.mml
2016.07.19 Completed editing of source code
2016.07.18 Some adjustments to the GUI
2016.07.17 Fixed item count
Each year I do numerous HTPC builds which includes compatible hardware and software for HTPC (Home Theater Personal Computer). Since hardware can be defective or damaged in shipment I always bench test my hardware prior to assembly. This enables me to confirm I have a working machine before going through all the assembly work of mounting the hardware in the case. I usually start by placing the MOBO documentation and Install Disk in a Zip loc bag and using the MOBO box to support the MOBO. As I unpack the various parts I place all receipts, documentation, and media in the bag as I might need them in case a return is necessary. I also include a hard copy of the machines activation code when it becomes available. You have 30 days to accomplish this. We currently are doing all builds with Win7 home after bad experience with 10. If the machine is to be connected to the internet you must take several steps to prevent MS from updating the machine to 10.
Install CPU in MOBO
Apply Thermal paste to the surface of the CPU
Intstall cooler and connect CPU fan to MOBO.
Install RAM:
Connect Power supply to MOBO two plugs
Connect DVD drive to MOBO with both data and power cables
Connect HD to MOBO to be used as boot drive both data and power cables
Connect Monitor, Keyboard and mouse to MOBO. (must be wired)
Short power button terminals on MOBO breifly. (See MOBO manual)
If all is well the CPU fan will go and you should see something on screen.
Install Win7 skip registration
Install MOBO software
Install DirectX9.0
Install Codecs
Connect speakers to the green audio out on the MOBO (headphones work)
At this point you will know if you have a working machine if you plug in a MPprogs thumbdrive with some test files you should be able to play:
for testing purposes I usually include videos with 4:3, 16:9, and wide screen letterboxed video
Once all this is accomplished and confirmed we are ready to install this working hardware in the case. Bench testing like this saves having to remove the MOBO from the case if it is found to be defective and must be returned. Hint save all the boxes and packaging until you confirm that everything is working.