Mimic r5-p4 has been released.
The change log for the release is included below, but
the primary changes in this release are:
1. *** MASSIVE PERFORMANCE INCREASE *** -- The r5-p4
release of Mimic is approximtely 15x - 30x faster than
any previous release of Mimic. Yes, you read that
correctly.
2. Mouse input speed has been tremendously improved. It
is, in a word, lightning-fast now.
3. The mouse support has been further improved; you can
now use the mouse wheel to move around within the
media list. In fact, it is now possible to
completely control Mimic with only the mouse if you
so desire.
4. The playlist shuffler now, um... shuffles better.
5. For Beyond TV users, the following changes have also
been implemented:
* On the "Now Playing" screen, there is now an
"Edit Playlist" button. Formerly, the playlist
editor was only available from the "Music Library"
screen.
* On the "Edit Playlist" screen, there is now a
"Save Playlist" button. Formerly, the playlist
could only be saved from the "Music Library"
screen.
* On the "Edit Playlist" screen, there is now
a "Shuffle Playlist" button. Formerly, the
playlist could only be shuffled on the "Now
Playing" screen.
* On the "Now Playing" screen, the "Fullscreen"
button has been moved to a more logical
position.
6. Minor bug fixes.
The primary changes from r5-p3 were:
1. Improved mouse support even further:
* The middle mouse button can now be used to back
out to the previous display.
* When viewing a picture in full-screen mode, pressing
any mouse button will end the picture viewing.
* When viewing a slideshow, the left mouse button will
advance to the next slide and the right mouse button
will return to the previous slide. The middle mouse
button will end the slideshow.
2. The system monitor plugin now allows you to exclude
specific drives from the monitoring list.
3. You can now press the "H" key to view the quick start
guide from any display within Mimic.
4. For Beyond TV users, the following skin changes were
implemented:
* When recording is active, you can now click the recording
icon to see a report of what is currently recording.
* When multiple tuners are recording, the recording display
will now show what each one is recording.
* Error detection has been improved.
* Various keyboard shortcuts have been changed:
a) "always show next recording in message window"
is now mapped to the "A" key
b) "connection delay" is now mapped to the "C" key
c) "processing cycle" is now mapped to the "P" key
d) "automatic logoff" is now mapped to the "L" key
e) "server address" is now mapped to the "S" key
f) "server port" is now mapped to the "T" key
g) "server password" is now mapped to the "W" key
5. Bug fixes, bug fixes, bug fixes!
The primary changes from r5-p1/r5-p2 were:
1. Complete mouse support! Mimic now offers mouse
support, enabled by default, allowing the user to interact
with Mimic by clicking on buttons, animations, decorations,
labels, media list entries, and a whole host of media list
controls.
2. Mimic will now display a friendly quick-start guide
when being started for the first time (and then
never again).
3. Labels, decorations, and animations are now
clickable and can be linked to plugins to allow
for a higher degree of interaction.
4. The disk usage monitor now lists volume labels
in addition to drive letters (and performance has been
slightly improved).
5. The Beyond TV skin can now be configured (if
desired) to always display the next scheduled recording
in the message window when there is no other
information to display.
The primary changes from r5-p0 were:
1. Stability has been greatly improved.
2. You can now view/edit/rearrange the content of
playlists from within Mimic.
3. You can now set ID3 tags for media items from
within Mimic.
4. Mimic now shows the more detailed library
information on the music display, as well as
the current number of tracks in the playlist.
5. The play/pause/restart queue functionality of
Mimic has been simplified so that Mimic is
easier to use.
6. For Beyond TV users, the license retrieval code
has been altered to correspond to the code used
in Beyond TV 3.5 Build 1676.
7. Bug fixes, bug fixes, bug fixes!
' r5-p4 (28-aug-2004)
' MIMIC NOTES: (skin notes follow after the Mimic notes)
'
' 1. The MainForm_Paint routine now utilizes the clipping rectangle to restrict what is drawn
' instead of redrawing the entire display each time it is invoked. This change yields a
' huge increase in redraw performance. For some inexplicable reason, I thought this was
' not possible with .NET tools -- I knew that logically it should be possible, and it is a
' technique I've used with other windowing systems, but I could never determine how to
' extract the clipping rectangle for use in .NET. As it turns out, it is very simple to do
' and I was simply not looking in the right places. I would have thought that the clipping
' rectangle would be part of the paint event arguments, but its actually part of the
' graphics object associated with the paint event arguments. /sigh. Oh well,
' live and learn.
'
' 2. The rendering functions of Mimic will no longer request that the full screen be redrawn
' after a state change. Instead, only the affected portion of the screen will be redrawn.
' This change yields a huge increase in redraw performance.
'
' 3. When the user moves from one button to another, only the previously selected button and
' the newly selected button are redrawn. This change yields a significant incrase in
' redraw performance.
'
' 4. Since the redraw routines are now efficient, the mouse input interval has been lowered
' to every 25ms (instead of every 1000ms). This will make input much more "snappy". Due
' to improvements in the mouse handling, render processing, and redraw routines there is
' no significant increase in CPU usage.
'
' 5. The playlist shuffler is now more aggressive. I found that with 80 songs in a playlist,
' doing 160 random swaps withing the list didn't leave the list all that random. The new
' formula is items * 20 random swaps.
'
' 6. The "ParentScreen" element can now be set to "DYNAMIC" instead of an actual screen
' configuration schema. This allows one screen to be invoked from multiple locations, yet
' always return to the screen that invoked it.
'
' 7. You can roll the mousewheel up and down to move within a medialist
' now.
'
' 8. The right mouse button now retreats a level in the medialist. So, as
' things stand now, the following summarizes how the mouse works in
' Mimic:
'
' General:
' -You can left click on a button, label, decoration, or animation.
' -You can middle click (ie: click the wheel) to move to the previous screen.
'
' MediaLists:
' -You can left click medialist items. If the medialist item is a folder,
' the folder is opened. Otherwise, the default action for the
' item is enacted.
' -You can right click to retreat to the previous level of the medialist.
' -You can use the mousewheel to scroll up/down within the medialist.
'
' Slideshow Viewer:
' -You can left click to move to the next slide.
' -You can right click to move to the previous slide.
' -You can middle click (ie: click the wheel) to exit the slideshow.
'
' Picture Viewer:
'
' -You can left, right, or middle click (ie: click the wheel) to exit
' the image viewer.
'
' With these changes, it should be possible to use Mimic without ever
' touching the keyboard if you are so-inclined.
'
' PLUGIN NOTES:
'
' Beyond TV Plugin:
'
' 1. On the "Now Playing" screen, the "Fullscreen" button has been moved to a more optimal
' location.
'
' 2. On the "Now Playing" screen, there is now an "Edit Playlist" button.
'
' 3. On the "Edit Playlist" screen, there is now a "Save Playlist" button.
'
' 4. On the "Edit Playlist" screen, there is now a "Shuffle Playlist" button.
'
' r5-p3 (21-aug-2004)
' MIMIC NOTES: (skin notes follow after the Mimic notes)
'
' 1. The mouse is no longer active when a text window is being displayed
' on the screen.
'
' 2. Added new action: SetRegistryValue. This action allows you to explicitly set
' a registry value.
'
' 3. The middle mouse button can now be used to back-out to the
' previous display.
'
' 4. When viewing a picture full-screen, any mouse button press will
' end the picture viewing.
'
' 5. When viewing a slideshow, the left mouse button will move to the
' next picture, the right button will move to the previous picture,
' and the middle mouse button will exit the slideshow.
'
' PLUGIN NOTES:
'
' Beyond TV Plugin:
'
' 1. The F10 key is no longer ignored on the monitoring tools screen.
'
' 2. The "aloways show next recording" option is now actually bound to a
' key. The "A" key, in fact!
'
' 3. Changed the key binding for the "connection delay" option to "C".
'
' 4. Changed the key binding for the "processing cycle" option to "P".
'
' 5. Changed the key binding for the "automatic logoff" option to "L".
'
' 6. Changed the key binding for the "server address" option to "S".
'
' 7. Changed the key binding for the "server port" option to "T".
'
' 8. Changed the key binding for the "server password" option to "W".
'
' 9. When recording is active, you can now click on the pretty recording icon
' to see a report of what is recording.
'
' 10. The display showing what is currently recording now shows all recordings
' that are currently occuring instead of just the last recording.
'
' 11. If Mimic cannot communicate with the Beyond TV server due to an inability to
' establish a network conneciton, the user will be informed.
'
' 12. You can press "H" on any screen now to view the quick start guide.
'
' 13. Added the "Configure" event to each screen of the Beyond TV Skin so that
' if the library reports an issue the configuration displays will be shown even
' if yo are not on the main menu.
'
' System Monitor Plugin:
'
' 1. It is now possible to exclude drives from the monitoring list. To choose which
' drives to exclude, press F9 on the monitoring display.
'
'
' r5-p2 (21-aug-2004)
'
' 1. Internal release.
'
' r5-p1 (17-aug-2004)
' MIMIC NOTES: (skin notes follow after the Mimic notes)
'
' 1. The system monitor drive space reporting display now shows the
' volume name (vertically on the left inside edge of each
' column of the graph).
'
' 2. The MediaList element now has 40 new attributes, which
' comprise activation rectangles that Mimic will check
' mouse clicks against in order to allow mouse control of
' the medialist. There are activation rectangles that support
' the following actions:
'
' Line Up
' Line Down
' Page Up
' Page Down
' Top
' Bottom
' Show Primary Data Source
' Show Secondary Data Source
' Drill In
' Drill Out
'
' NOTE: Your medialists do not need to actually use all of these
' rectangles. Use the ones you want, and set the X, Y, W, and H of
' all the others to 0, 0, 0, 0.
'
' 3. The MediaList element now tracks the mouse within its client
' area; the highlight bar will follow the mouse. If you click
' an item in the list, the default action for the MediaList will
' be executed.
'
' 4. The maximum number of events per screen is now 256 (instead of 64).
'
' 5. The maximum number of label per screen is now 128 (instead of 32).
'
' 6. The maximum number of deorations per screen is now 128 (instead of
' 32).
'
' 7. The "Label" element now has a NotifyOnClick attribute, allowing
' a plugin function to be invoked when the label is clicked with
' the mouse.
'
' 8. The "Decoration" element now has a NotifyOnClick attribute,
' allowing a plugin function to be invoked when the label
' is clicked with the mouse.
'
' 9. The "Animation" element now has a NotifyOnClick attribute,
' allowing a plugin function to be invoked when the label
' is clicked with the mouse.
'
' 10. If the DataSource of a label starts with "LITERAL=", then the
' label is not treated as an active component and the text of the
' datasource will be displayed as-is (after removing "LITERAL=" of
' course).
'
' 11. The first time Mimic starts, it will now show a friendly
' quick-start guide. While Mimic may be generally easy to use,
' its not necessarily intuitive. This should ease the first
' time exposure for new users.
'
' SKIN NOTES:
'
' Beyond TV Skin:
'
' 1. A new option has been added that will cause the Beyond TV skin
' to always show what will be recorded next in the message window
' if it has nothing else to show at the current time. This
' option, which is NOT ACTIVATED BY DEFAULT, can be activated by
' pressing XX at the main menu.
'
' r5-p0 (15-aug-2004)
' MIMIC NOTES: (skin notes follow after the Mimic notes)
'
' 1. Added new built-in event "STORE_PLAYLIST". This event allows a plugin to
' set the content of the Mimic playlist.
'
' 2. Added new built-in event "STORE_SLIDESHOW". This event allows a plugin to
' set the content of the Mimic slideshow.
'
' 3. Added new built-in event "GET_METADATA". This event allows a plugin to get
' one of the textual metadata fields of a media item (artist, title, album,
' track, and others).
'
' 4. Added new built-in event "SET_METADATA". This event allows a plugin to set
' one of the textual metadata fields of a media item (artist, title, album,
' track, and others).
'
' 5. Added new built-in event "GET_FORMATTED_METADATA". This event allows a plugin
' to request a formatted metadata string from Mimic. At some point, the format
' will be configurable by the user so its best to use this when you want to
' present metadata to the user.
'
' 6. If Mimic receives an event from a plugin while a screen transition is
' occuring, it will be delayed until the screen transition is complete.
'
' 7. The way Mimic deals with events from plugins has been improved. In the past,
' Mimic would process multiple events asynchronously. While this was seemingly
' desirable, it actually created a host of mutexing and thread contention issues.
' In the end, it was much easier, faster, and more reliable to a) have
' Mimic process the events in the main thread and b) not use extensive
' mutexing. When Mimic receives an event now, it will signal the main
' Mimic thread to process the event. As a happy side-effect, this
' allows plugins to resume their activities faster than was previously
' possible. The effect on the main Mimic thread is negligible; if anything,
' Mimic feels more responsive as a result of this change (which is ironic).
'
' 8. Mimic will no longer try to itemize the slideshow and playlist unless actually
' asked to do so when parse_tokens() is called. While this would not have had any
' actual effect, it very likely would have been a potential performance problem
' with extremely large playlists or slideshows.
'
' 9. New tokens have been added that can be passed to plugins:
'
' %MIMIC_CURRENTMEDIALISTCOUNT% The number of items in the current MediaList.
' %MIMIC_CURRENTMEDIALISTPATH% The complete path shown by the current MediaList.
' %MIMIC_CURRENTMEDIALISTLEVEL% The current directory being shown by the current
' MediaList.
' %MIMIC_CURRENTPLAYLISTCOUNT% The number of items in the current playlist.
' %MIMIC_CURRENTSLIDESHOWCOUNT% The number of items in the current slideshow.
'
' 10. The play/pause/restart model has changed slightly. If you use the "PlayPause"
' action while nothing is happening, the entire queue is restarted. If you
' use it while playing, then playback is paused. If you use it while paused, then
' playback resumes. This should make using the media player a little more
' intuitive for first-time users.
'
' 11. When loading a medialist from a string, the number of items in the medialist will
' now be reported correctly.
'
' 12. When explicitly setting the state of a label, the text passed in is now evaluated
' for token replacement.
'
' 13. Bitrate is now expressed in "K" by Mimic instead of "bps".
'
' SKIN NOTES:
'
' Beyond TV Skin:
'
' 1. Fixed license retrieval code to match Beyond TV 3.5 >= Build 1671.
'
' 2. Fixed detection of invalid network license to match Beyond TV 3.5 >= Build 1671.
'
' 3. On the music player screen, you can now set the artist (F2), album (F3), title (F4) or
' track number (F5) for the track currently selected.
'
' 4. Moved System Monitor and MessageCenter to a new "Monitoring Tools" display to
' free up some space on the main menu.
'
' 5. Added a line to the top of the medialist on the music playing screen showing the
' name of the current folder, as well as the number of items in the current
' medialist level and the number of items in the current playlist.
'
' 6. Added an "Edit Playlist" screen. On this screen, you can view the content of the
' current playlist, change the order of the items on the playlist, or remove items
' from the playlist.
'
' Default Skin:
'
' 1. On the music player screen, you can now set the artist (F2), album (F3), title (F4) or
' track number (F5) for the track currently selected.
'
' 2. Changed the order of the buttons on the music playing screen to match the
' order of the buttons used in the Beyond TV Skin.
'
' 3. Added a line to the top of the medialist on the music playing screen showing the
' name of the current folder, as well as the number of items in the current
' medialist level and the number of items in the current playlist.
'
' 4. Added an "Edit Playlist" screen. On this screen, you can view the content of the
' current playlist, change the order of the items on the playlist, or remove items
' from the playlist.