The uiMimic Interface Architect User's & Developer's Manual
(r6-p4)
1. Introduction
The uiMimic Interface Architect allows home theater personal computer (HTPC) enthusiasts to dynamically build complex, flexible, and very powerful user interfaces using an easy-to-learn XML user interface design language.
The uiMimic Interface Architect provides strong built-in multimedia features, such as:
a media player supporting:
visualizations
playlists (which can be saved, loaded, and reorganized on the fly using a built-in playlist editor)
random shuffling
cover art
track art
ID3 (metadata) tags
real-time monitoring of the library for changes/additions
a picture viewer supporting:
image scaling
image rotation
image metadata
slideshows (which can be saved, loaded, and reorganized on the fly using a built-in slideshow editor)
slideshow auto-advance
slideshow art
real-time monitoring of the library for changes/additions
a movie module featuring:
automatic image (.iso/.bin) mounting (via daemon-tools & daemon-script)
playback (via Zoom Player)
movie art
real-time monitoring of the library for changes/additions
an Internet radio module featuring:
a user-definable radio station list which allows on the fly adding, removing, and ordering of radio stations
access to any radio station compatible with Windows Media Player
a weather module featuring:
current conditions
5 day forecast (segmented into day and night forecasts)
automatic updates
a system monitoring module featuring:
a CPU usage monitor
a color coded graphical disk space monitor
a textual disk space summary
the ability to exclude drives from the monitoring list to eliminate clutter or meaningless information
In addition to the standard front-end functionality described above, the uiMimic Interface Architect also provides:
a reliable and flexible multi-threaded event-driven plugin architecture supporting plugin development with any .NET development tool
truly dynamic user interface creation
complete and accurate user interface scaling to scale any display to the current system resolution
high performance display rendering subsystem
a wide variety of user interface elements with which to design your interface (buttons, text fields, active text fields, keyboard accelerators, decorations, animations, media lists, graphical preview windows, text preview windows, message boxes, text entry boxes, and others)
full mouse and keyboard navigation
freedom to contribute to (or influence) the development of the uiMimic Interface Architect
... and much more!
2. System Requirements
Microsoft Windows
Microsoft .NET Framework 1.1
Windows Media Player 10
3. User Interface Design Philosophy
The design philosophy behind the uiMimic Interface Architect is that “simpler is better” -- a simple interface is easy to learn and easy to use. The development process of the uiMimic Interface Architect has been influenced by the following design principles:
the interface utilizes large, bright, easy-to-see user interface elements, suitable for viewing on a television
the interface utilizes large, legible fonts for text suitable for viewing on a television
the interface is ideal for use with a remote control (or the mouse or the keyboard, if desired)
the interface has a learning curve of less than 5 minutes
4. WARNING: Adverse Effects Of Computer Generated Displays On Televisions
Summary
A computer monitor and a television display are not the same thing; they both accomplish the same goal (displaying an image to the viewer) but they do it in very different ways. If you will be using any computer program with a television, you need to be aware of a potential issue known as burn-in.
What causes burn-in?
Burn-in occurs when stationary images, particularly bright images, are displayed on your television screen for an extended period of time. These images, due to the nature of how many types of televisions operate, can burn-in to the screen of the television and thus be visible even when the image is no longer being displayed. The effect of burn-in is particularly noticeable with video game consoles and other computer generated displays.
Are all televisions susceptible to burn-in?
Not all televisions are susceptible to burn-in, and some televisions are less affected by burn-in than others. If you have ANY doubt, however, assume that your television is susceptible to burn-in and either:
a) do not attach it to your computer
or
b) take appropriate precautions to ensure that your television is protected from burn-in
Are the effects of burn-in covered by my television warranty?
No. The effects of burn-in are PERMANENT, and not covered by your television warranty!
Are the effects of burn-in covered by my video card warranty?
No.
Are the effects of burn-in covered by my software warranty?
No. No software warranty will cover the effects of burn-in. In the specific case of the uiMimic Interface Architect, there IS no warranty at all (see the license agreement) but in general, there would be no coverage for burn-in even if there was a warranty. The effects of burn-in are not due to software defects; they are simply due to the nature of how televisions operate.
Will ANYONE protect me from burn-in?
No. It is important that you understand that burn-in is your responsibility. If you damage your very expensive television by attaching it to a computer, there is no recourse.
Does the uiMimic Interface Architect make any attempt (through software or design) to protect me from burn-in?
No. There are ways to protect yourself against burn-in, but they need to be very general in nature in order to be effective (such as screen savers, automatic power-off, or other solutions). The uiMimic Interface Architect is only one application, and your computer is running dozens of applications. Even if the uiMimic Interface Architect were to attempt to protect you against burn-in from its own display, it could do nothing to protect you from the displays of other applications, or the operating system itself.
Well, thanks, now I'm scared to even turn on my television!
Sorry! :(
5. Licensing
The uiMimic Interface Architect is licensed under the Reciprocal Public License. You may use and/or modify the software ONLY under the terms of the Reciprocal Public License. A copy of the Reciprocal Public License was distributed with this software; if you wish to review it, it is located in the “license.htm” file.
6. Source Code
The source code to the uiMimic Interface Architect is available from http://uimimic.sourceforge.net. The uiMimic Interface Architect is a Visual Basic .NET application, developed using Microsoft Visual Studio .NET 2003.
7. Using The uiMimic Interface Architect
The uiMimic Interface Architect is very easy to use!
NAVIGATION
Keyboard/Remote Navigation
General:
|
Media Lists:
To navigate through your music, picture, or movie library press:
|
NOTE: If you use the keyboard or the remote control to navigate, the mouse pointer position will be automatically ignored until you move the mouse again.
Mouse Navigation
General:
|
Media Lists:
To navigate through your music library or picture library, simply follow these guidelines:
|
MUSIC MODULE
Introduction:
The music module is a full-featured music player, supporting:
|
Organizing Your Music Library:
The music module expects your music collection to be organized in a hierarchical manner. The exact organization is completely free-form, though – so you could easily use any of the following organizational systems:
Figure #1: Artists Albums Songs |
Figure #2: Artists Songs |
Figure #3: Categories Artists Albums Songs |
The music is yours, after all – you should be able to organize it the way you like it! The following example shows a typical organizational system:
Figure #4: D:\MUSIC\EMINEN D:\MUSIC\EMINEM\The Slim Shady LP D:\MUSIC\EMINEM\The Slim Shady LP\My Name Is.mp3 D:\MUSIC\EMINEM\The Slim Shady LP\Brain Damage.mp3 D:\MUSIC\EMINEM\The Marshall Mathers LP D:\MUSIC\EMINEM\The Marshall Mathers LP\Kill You.mp3 D:\MUSIC\EMINEM\The Marshall Mathers LP\Who Knew.mp3 |
NOTE: The uiMimic Interface Architect does not show your music library as a collection of files and folders; using the example above, the uiMimic Interface Architect would show the following:
Figure #5: EMINEN The Slim Shady LP My Name Is Brain Damage The Marshall Mathers LP Kill You Who Knew |
Locating Your Music Library & Playlist Collection:
The first time you start the music module, you will be asked to select the location of your music library and your playlist library. The playlist library may not be a subdirectory of the music library (using the example above, you could not use 'd:\music\playlists' as the location of your playlist collection). Using the folder browser that appears, select first the folder containing your music library, then select the folder containing your playlist collection (or create a new folder if you do not already have a folder containing your playlist collection).
Adding Cover Art:
The music module can automatically display cover art. To use this feature, place a file named cover.jpg, cover.jpeg, cover.gif, cover.png, or cover.bmp in any folder within the hierarchy of your music library. You can have different cover art for each folder within the hierarchy of your music library!
Example:
Using the example above, to add cover art to The Slim Shady LP you would place a file in the D:\MUSIC\EMINEM\The Slim Shady LP folder named cover.jpg, cover.jpeg, cover.gif, cover.png, or cover.bmp. After doing this, whenever you navigate to the “Slim Shady LP” folder within the uiMimic Interface Architect, the cover art you created will automatically be shown.
Using The Music Module:
Using the music module is a very straight-forward process. When you first open the music module, you will see a display with three distinct sections; a command list on the left, a library browser on the top right, and a preview area on the bottom right.
1) The Command List
The command list allows you to carry out specific actions (usually in relation to the track or playlist that is currently selected in the library browser). The following commands are available:
Command |
Description |
---|---|
Show Playlists |
If you select this command, the library browser will show the content of your playlist collection. |
Show Library |
If you select this command, the library browser will show the content of your music library. |
Now Playing |
If you select this command, the “Now Playing” display will be shown. The “Now Playing” display is the main playback interface of the music module. It allows you to start playback, pause playback, stop playback, move to the next or previous track, shuffle the playlist, restart the playlist, or even open the playlist editor. While music is playing, the “Now Playing” display will show the artist and title of the current track being played, the position within the track, and a visualization area with animated graphics that react to the music. the uiMimic Interface Architect will automatically use the default visualization that Windows Media Player is configured to use. |
Add > Playlist |
If you select this command while the library browser is showing the music library, the track currently highlighted in the library browser will be added to the playlist. If you select this command while the library browser is showing the playlist collection, the content of the playlist currently highlighted in the library browser will be added to the playlist. |
Add All > Playlist |
If you select this command while the library browser is showing the music library, all tracks currently listed within the library browser will be added to the playlist. If you select this command while the library browser is showing the playlist collection, all playlists currently shown within the library browser will be added to the playlist. |
Clear Playlist |
If you select this command, the playlist will be cleared. |
Save Playlist As... |
If you select this command, you will be asked to supply the name for the playlist and the current playlist will be added to your playlist collection under that name. |
Save Playlist |
If you select this command, the current playlist content will be saved using the name of the last playlist that was opened. |
Edit Playlist |
If you select this command, the “Edit Playlist” display will be shown. The “Edit Playlist” display is used to modify the playlist in several different ways. You can move tracks around within the playlist, remove individual tracks from the playlist, remove all tracks from the playlist, shuffle the content of the playlist, or save the playlist. |
2) The Library Browser
The library browser shows the content of your music library or your playlist collection. To learn about navigation within the library browser, refer to the section of the user's manual entitled “Navigation” (sub-section “Media Lists”).
3) The Preview Area
The preview area shows cover art or track information, depending on what is currently highlighted in the library browser.
PICTURE MODULE
Introduction:
The picture module is a full-featured image viewer, supporting:
|
Organizing Your Picture Library:
The picture module expects your picture collection to be organized in a hierarchical manner. The exact organization is completely free-form, though – so you could easily use any of the following organizational systems:
Figure #1: Categories Groups |
Figure #2: Year Month |
Figure #3: Categories Groups Subgroups |
The pictures are yours, after all – you should be able to organize them the way you like them! The following example shows a typical organizational system:
Figure #4: D:\PICTURES\Vacations D:\PICTURES\Vacations\Mexico D:\PICTURES\Vacations\Mexico\picture1.jpg D:\PICTURES\Vacations\Mexico\picture2.jpg D:\PICTURES\Vacations\Italy D:\PICTURES\Vacations\Italy\picture1.jpg D:\PICTURES\Vacations\Italy\picture2.jpg D:\PICTURES\Family Gatherings D:\PICTURES\Family Gatherings\Christmas D:\PICTURES\Family Gatherings\Christmas\picture1.jpg D:\PICTURES\Family Gatherings\Christmas\picture2.jpg D:\PICTURES\Family Gatherings\Easter D:\PICTURES\Family Gatherings\Easter\picture1.jpg D:\PICTURES\Family Gatherings\Easter\picture2.jpg |
NOTE: The uiMimic Interface Architect does not show your picture library as a collection of files and folders; using the example above, the uiMimic Interface Architect would show the following:
Figure #5: Vacations Mexico picture1 picture2 Italy picture1 picture2 Family Gathering Christmas picture1 picture2 Easter picture1 picture2 |
Locating Your Picture Library & Slideshow Collection:
The first time you start the picture module, you will be asked to select the location of your picture library and your slideshow library. The slideshow library may not be a subdirectory of the picture library (using the example above, you could not use 'd:\pictures\slideshows' as the location of your slideshow collection). Using the folder browser that appears, select first the folder containing your picture library, then select the folder containing your slideshow collection (or create a new folder if you do not already have a folder containing your playlist collection).
Adding Slideshow Summary Art:
The picture module can automatically display summary art. To use this feature, place a file named summary.jpg, summary.jpeg, summary.gif, summary.png, or summary.bmp in any folder within the hierarchy of your picture library. You can have different summary art for each folder within the hierarchy of your picture library!
Example:
Using the example above, to add summary art to Christmas you would place a file in the D:\PICTURES\FAMILY GATHERINGS\CHRISTMAS folder named summary.jpg, summary.jpeg, summary.gif, summary.png, or summary.bmp. After doing this, whenever you navigate to the “Christmas” folder within the uiMimic Interface Architect, the summary art you created will automatically be shown.
Using The Picture Module:
Using the picture module is a very straight-forward process. When you first open the picture module, you will see a display with three distinct sections; a command list on the left, a library browser on the top right, and a preview area on the bottom right.
1) The Command List
The command list allows you to carry out specific actions (usually in relation to the track or playlist that is currently selected in the library browser). The following commands are available:
Command |
Description |
---|---|
Show Slideshows |
If you select this command, the library browser will show the content of your slideshow collection. |
Show All Pictures |
If you select this command, the library browser will show the content of your picture library. |
Add > Slideshow |
If you select this command while the library browser is showing the picture library, the picture currently highlighted in the library browser will be added to the slideshow. If you select this command while the library browser is showing the slideshow collection, the content of the slideshow currently highlighted in the library browser will be added to the slideshow. |
Add All > Slideshow |
If you select this command while the library browser is showing the picture library, all pictures currently listed within the library browser will be added to the slideshow. If you select this command while the library browser is showing the slideshow collection, all slideshows currently shown within the library browser will be added to the slideshow. |
Clear Slideshow |
If you select this command, the slideshow will be cleared. |
View Image |
If you select this command, the picture currently highlighted in the library browser will be shown in full-screen mode. |
View Slideshow |
If you select this command, current slideshow will be shown in full-screen mode. |
Save Slideshow As... |
If you select this command, you will be asked to supply the name for the slideshow and the current slideshow will be added to your slideshow collection under that name. |
Save Slideshow |
If you select this command, the current slideshow content will be saved using the name of the last slideshow that was opened. |
Edit Slideshow |
If you select this command, the “Edit Slideshow” display will be shown. The “Edit Slideshow” display is used to modify the slideshow in several different ways. You can move pictures around within the slideshow, remove individual pictures from the slideshow, remove all pictures from the slideshow, or save the slideshow. |
2) The Library Browser
The library browser shows the content of your picture library or your slideshow collection. To learn about navigation within the library browser, refer to the section of the user's manual entitled “Navigation” (sub-section “Media Lists”).
3) The Preview Area
The preview area shows summary art or picture previews, depending on what is currently highlighted in the library browser.
WEATHER MODULE
Introduction:
The weather module is a comprehensive weather reporting tool, featuring:
|
Selecting Your Observation Site:
The weather module can be configured to report weather conditions for your location by opening it and clicking “Change Observation Site”.
To determine your observation site, select “Search...” and when prompted type the name of your location (ie: Las Vegas). If there are observation sites matching the name you entered, each one will be shown in the search result area on the right side of the display. Highlight the observation site that most closely matches your location and select “Set Location”.
Using The Weather Module:
Using the weather module is very straight-forward. The display is composed of three sections; current conditions, five-day forecast, and observation site details.
1) Current Conditions
The current conditions section of the display shows, as the name implies, the current weather conditions reported at your observation site. This section shows an image representing the overall condition, the current temperature, the current subjective temperate (what it feels like), and a written description of the current conditions.
2) Five Day Forecast
The forecast section of the display shows a complete five day forecast for your observation site, divided into day and night segments. Each segment shows an image representing the forecasted condition, a description of the forecasted condition, and the high temperature and sunrise time (for day segments) or low temperature and sunset time (for night segments).
3) Observation Site Details
The observation site section lists the name of the observation site to which the current conditions and five day forecast apply, as well as the time that the last reporting was performed by the observation site.
4) Zoomed-In Views
To see larger, more television-friendly views of the current conditions or the individual segments of the forecast, press the “N” (next view) and “P” (previous view) keys.
NOTE: Weather information is refreshed automatically on a regular schedule.
SYSTEM MONITORING MODULE
Introduction:
The system monitoring module is a feature-rich system monitoring solution, providing:
|
Using The System Monitoring Module:
Using the system monitoring module is very easy. The display is divided up into two main sections; the graphical summary and the textual summary. The current CPU usage and total number of disk drives are also shown on this display.
1) The Graphical Summary
The graphical summary shows a graphical representation of the used/free space on your disk drives. Each disk drive in the display has a label, and will be color coded to indicate the amount of space used (green means < 50 percent, yellow means < 75 percent but > 50 percent, and read means >75 percent).
2) The Textual Summary
The textual summary shows a numerical representation of the used/free space on your disk drives. Each disk drive in the display has a label, free space reported in megabytes, total space reported in megabytes, and used space reported as a percentage.
Excluding Disk Drives:
It is often desirable to limit monitoring activities to certain disk drives. If you wish to exclude one or more disk drives from monitoring, open the system monitoring module and press “E”. You will be prompted to type the letter of each drive that you wish to exclude (you do not need to type a “:” and you can exclude as many drives as you wish).
RADIO MODULE
Introduction:
The radio module is designed to allow the uiMimic Interface Architect to access Internet radio stations that are compatible with Windows Media Player.
The radio module provides a user-definable radio station list to which you can modify at will – supported actions include adding stations, removing stations, and changing the presentation order of the stations.
Setting Up The Radio Module:
There is no setup required; the radio module comes pre-configured with a reasonable selection of radio stations, and you may add stations through the uiMimic Interface Architect if you so desire.
Alternatively, you may also add stations by editing the RadioStationList.txt file in your uiMimic Interface Architect directory (if you were adding a long series of stations, for example). If you are adding stations directly, enter them using the format “displayname;internet_address_of_the_radio_station”.
Using The Radio Module:
Using the radio module is a very straight-forward process. When you first open the radio module, you will see a display with two distinct sections; a command list on the left and a station browser on the right.
1) The Command List
The command list allows you to carry out specific actions (usually in relation to the station that is currently selected in the station browser). The following commands are available:
Command |
Description |
---|---|
Tune Station |
If you select this command, the radio module will immediately attempt to connect to the radio station highlighted in the station browser. If the connection is successful, you will hear the audio of the radio broadcast. If the connection is NOT successful, you will hear nothing. Please be aware that some radio stations will respond faster than others, and very busy radio stations may not respond at all.. |
Add Station |
If you select this command, the radio module will add a radio station to your radio station list. You will be asked to supply a name, which can be anything you like, and then you will be asked to supply the Internet URL of the radio station.. |
Remove Station |
If you select this command, the radio module will remove the currently highlighted radio station in the station browser from your radio station list. |
Move Up |
If you select this command, the radio module will move the currently highlighted radio station in the station browser up one position. |
Move Down |
If you select this command, the radio module will move the currently highlighted radio station in the station browser down one position. |
2) The Station Browser
The station browser shows the content of your radio station list. To learn about navigation within the station browser, refer to the section of the user's manual entitled “Navigation” (sub-section “Media Lists”).
BEYOND TV MODULE
Introduction:
The uiMimic Interface Architect Beyond TV module is designed to allow the uiMimic Interface Architect to act as a “front-end” for the Snapstream Beyond TV PVR software package (www.snapstream.com). If you use this module, the uiMimic Interface Architect will look and operate almost exactly like Beyond TV.
The the uiMimic Interface Architect Beyond TV module provides:
|
Setting Up The Beyond TV Module:
The first time you start the Beyond TV module, will detect that configuration is required. You will be prompted to supply several pieces of information, each of which is described below:
Item |
Description |
---|---|
Beyond TV Server Address |
This is the TCP/IP address of the Beyond TV server. If is installed on the same computer as the Beyond TV server, enter “localhost”. Otherwise, enter the TCP/IP address of the computer on which Beyond TV is installed. |
Beyond TV Server Communication Port |
This is the TCP/IP port of the Beyond TV server. In a default Beyond TV installation, this is “8129”. If you have explicitly set a different port, enter that port now. |
Beyond TV Server Password |
This is the password of the Beyond TV server. In a default Beyond TV server installation, there is no password. If you have explicitly set a password, enter that password now. |
Beyond TV Connection Delay |
This is the number of seconds that should wait (upon startup) before attempting to communicate with the Beyond TV server. This is required to allow Beyond TV time to start accepting network connections on a system reboot. Typically, entering a value of “120” is suitable for most users. |
Beyond TV Status Update Frequency |
This is the number of seconds that should wait between queries against the Beyond TV server. Typically, entering the default value of “15” is suitable for most users. |
Beyond TV Automatic Logoff |
This should always be set to “false”. |
Using The uiMimic Interface Architect With Beyond TV Link:
If you are using Beyond TV Link, then it is likely that your music, pictures, playlists, and slideshows are stored on a computer other than the computer that Beyond TV Link is installed on. The uiMimic Interface Architect allows you to access your music, pictures, playlists, and slideshows that are stored on another computer by utilizing a tool called the uiMimic Interface Architect Network Media Server. The uiMimic Interface Architect Network Media Server is installed by default when the uiMimic Interface Architect is installed (as long as you select the Beyond TV Server configuration).
1) Starting & Configuring The uiMimic Interface Architect Network Media Server
To start the uiMimic Interface Architect Network Media Server, double-click its icon on the desktop or click “Start --> All Programs --> Network Media Server”.
The first time that the uiMimic Interface Architect Network Media Server starts, you will receive a warning that the default password is in use and that it should be changed. After acknowledging this message by clicking “OK”, the uiMimic Interface Architect Network Media Server will open. You are expected to supply several pieces of information, each of which is described below:
Item |
Description |
---|---|
Server Password |
When a remote computer connects to the Network Media Server, it will be asked to supply a password. If the password supplied is incorrect, the remote computer will not be able to access your music, pictures, playlists, or slideshow. |
Server Port |
This is the TCP/IP port that Network Media Server will use for all communications. If you have a firewall protecting your computer, you will need to unblock this port in order for the Network Media Server to operate. On Windows XP (SP2) you will automatically be asked if you want to allow this to occur. |
Music Path |
This is the location of your music library. You may type the location, or click the “Browse” button and navigate to it using the folder browser. |
Picture Path |
This is the location of your picture library. You may type the location, or click the “Browse” button and navigate to it using the folder browser. |
Playlist Path |
This is the location of your playlist collection. You may type the location, or click the “Browse” button and navigate to it using the folder browser. |
Slideshow Path |
This is the location of your slideshow collection. You may type the location, or click the “Browse” button and navigate to it using the folder browser. |
Start w/ Windows |
If you want the Network Media Server to start when Microsoft Windows starts, place a check mark beside this option. |
Start In System Tray |
If you want the Network Media Server to place itself in the system tray (the group of icons in the lower right corner of your screen) when it starts, place a check mark beside this option. |
After you have supplied the information in the table above, click “Apply Changes” and then restart the uiMimic Interface Architect Network Media Server.
SECURITY NOTE #1: The uiMimic Interface Architect Network Media Server will only transfer files from the four locations listed in the table above. It will refuse to transfer files from any other location on your computer.
SECURITY NOTE #2: The uiMimic Interface Architect Network Media Server displays the server status, number of files served to remote computers, number of commands processed, and current activity at all times. This information is updated every ten seconds. This information can be useful for monitoring access to your music, pictures, playlists, and slideshows.
2) Configuring The uiMimic Interface Architect
The first time you start the uiMimic Interface Architect Beyond TV Link module, it will detect that configuration is required. You will be prompted to supply several pieces of information, each of which is described below:
Item |
Description |
---|---|
Server Address |
This is the TCP/IP address of the computer hosting the Network Media Server. Typically, this will be the same address as the computer hosting Beyond TV (though this is not a requirement). |
Server Communication Port |
This is the TCP/IP port of the Beyond TV server. In a default Beyond TV installation, this is “8129”. If you have explicitly set a different port, enter that port now. |
Server Password |
This is the password of the Beyond TV server. In a default Beyond TV server installation, there is no password. If you have explicitly set a password, enter that password now. |
8. Developing uiMimic Interface Architect Displays & Plugins
Introduction
The uiMimic Interface Architect is extremely configurable.
The essential premise of the uiMimic Interface Architect is that it can be modified to meet the needs of virtually any user. This section of the user manual will attempt to describe the foundation of the uiMimic Interface Architect.
Foundation Overview
Before reading further, it would be advisable to learn some of the terminology used by the uiMimic Interface Architect:
Screen Development Glossary |
|
---|---|
Screen |
A screen is a collection of user interface elements (buttons, decorations, animations, labels, shortcuts, media lists, media previews, text entry boxes, date/time entry boxes, and list entry selection boxes). |
Screen Definition |
A screen definition is a file, in the XML (eXtensible Markup Language) format, containing all the information necessary for the uiMimic Interface Architect to render and display a screen. |
Screen Merge Definition |
A screen merge definition is identical to a screen definition. The purpose of a screen merge definition is to allow a screen developer to place elements that are shared in common between multiple screen definitions in a single central location (such as header/footer graphics, standard keyboard shortcuts, or standard labels). |
Element Group |
An element group is a collection of elements of the same type. For example, a group of “Button” elements would form the “Buttons” element group. |
Element |
An element is a single component of a user interface. For example, a “Button” or a “Label”. |
Attribute |
An attribute is a single component of an element. For example, “Font” and “FontSize” are attributes of a “Button” element. |
Action |
An action is a command issued by a screen to the uiMimic Interface Architect. An action may be: a) a simple built-in command. For example, “ExecuteNormal”, “Set_Metadata”, or “ChangeDisplay” are built-in commands. b) a plugin invocation c) an event (which can consist of multiple built-in commands or plugin invocations) |
Plugin Development Glossary |
|
---|---|
Plugin |
A plugin is a piece of software that adds additional functionality to the uiMimic Interface Architect. A plugin may be written in any Microsoft .NET language (such as C#, VB.NET, or Managed C++). A plugin, unlike an external application, is merged with the uiMimic Interface Architect at startup and its functionality becomes usable as if it were a built-in feature. The ability to utilize plugins allows for infinite expandability and flexibility. |
Plugin Definition |
A plugin definition is a file, in the XML (eXtensible Markup Language) format, that describes a plugin to the uiMimic Interface Architect (specifying both the name by which it will be known and the location of the plugin software). |
Screen Extension |
A screen extension is identical to a screen definition – its purpose is to allow a plugin developer to modify an existing screen definition without changing the actual screen definition file. Use of a screen extension makes it possible to easily add elements of any type to an existing screen definition. |
Invocation |
An invocation is a command issued by the uiMimic Interface Architect to a plugin. There are two types of invocations; those which request a plugin to supply data (usually a bitmap or a string) and those which simply trigger functions within a plugin. |
Message |
A message is a command issued by a plugin to the uiMimic Interface Architect. A message may be handled by the uiMimic Interface Architect itself, or it may be forwarded to a screen for processing. |
General Glossary |
|
---|---|
Master Configuration Definition |
The master configuration definition is a file, in the XML (eXtensible Markup Language) format, containing configuration information that determines the behavior of the uiMimic Interface Architect as a whole. |
Master Configuration Definition
This section describes the structure and content of the master configuration definition. Please note that element groups, elements, and attributes must be presented in the order illustrated below:
Structure |
<MasterConfiguration> <Mimic> <Default> ... attributes ... </Default> </Mimic> </MasterConfiguration> |
Attributes |
|
---|---|
Attribute |
Description |
ApplicationTitle |
This attribute is the application name to use when displaying messages to the user. (type = text) |
MenuNavigationStyle |
This attribute is the navigation style that the screen employs. It may be set to “Circular” or “Standard”. (type = text) |
MouseInputInterval |
This attribute is the number of milliseconds that the uiMimic Interface Architec will wait between polling the mouse position to check for mouse input from the user. (type = numeric) |
ClockUpdateInterval |
This attribute is the number of milliseconds that the uiMimic Interface Architect will wait between updating the on-screen clock display. (type = numeric) |
AnimationFrameInterval |
This attribute is the number of milliseconds that the uiMimic Interface Architect will wait between drawing the individual frames of an animation. (type = numeric) |
DateFormat |
This is the date format that will be used to display dates on the screen. It may be set to any legal date expression (as defined by Microsoft Visual Studio .NET 2003). For information on date/time formats, refer to:
(type = text) |
TimeFormat |
This is the time format that will be used to display times on the screen. It may be set to any legal date expression (as defined by Microsoft Visual Studio .NET 2003). For information on date/time formats, refer to:
(type = text) |
DateTimeFormat |
This is the full date and time format that will be used to display complete date/time information on the screen. It may be set to any legal date expression (as defined by Microsoft Visual Studio .NET 2003). For information on date/time formats, refer to:
(type = text) |
SoundOnQuit |
This attribute is the name of the file containing the sound to play when the uiMimic Interface Architect exits.. It may be set to any legal path and filename (absolute or relative). (type = text) |
SoundOnStartup |
This attribute is the name of the file containing the sound to play when the uiMimic Interface Architect starts.. It may be set to any legal path and filename (absolute or relative). (type = text) |
ForceAsynchronousSound |
This attribute determines whether or not sounds are played in their entirety before user input is allowed to resume. It may be set to “TRUE” or “FALSE”. (type = boolean) |
AllowMouseInput |
This attribute determines whether or not mouse input is allowed. It may be set to “TRUE” or “FALSE”. (type = boolean) |
AllowDisplayScaling |
This attribute determines whether or not display scaling is allowed. If display scaling is allowed, the uiMimic Interface Architect will magnify or shrink screens such that they are sized appropriately to the current resolution. It may be set to “TRUE” or “FALSE”. (type = boolean) |
Screen Definition
This section describes the structure and content of a screen definition. Please note that element groups, elements, and attributes must be presented in the order illustrated below:
Structure |
<Screen> ... local documentation and control section ... <Variables> ... a series of 'Variable' elements ... </Variables> <Merges> ... a series of 'Merge' elements ... </Merges> <MediaLists> ... a series of 'MediaList' elements ... </MediaLists> <MediaPreviews> ... a series of 'MediaPreview' elements ... </MediaPreviews> <Visualizations> ... a series of 'Visualization' elements ... </Visualizations> <Labels> ... a series of 'Label' elements ... </Labels> <Shortcuts> ... a series of 'Shortcut' elements ... </Shortcuts> <Decorations> ... a series of 'Decoration' elements ... </Decorations> <Animations> ... a series of 'Animation' elements ... </Animations> <Buttons> ... a series of 'Button' elements ... </Buttons> <Events> ... a series of 'Event' elements ... </Events> <PopupTemplates> ... a series of 'PopupTemplate' elements ... </PopupTemplates> <PopupFileSelectorTemplates> ... a series of 'PopupFileSelectorTemplate' elements ... </PopupFileSelectorTemplates> <PopupFolderSelectorTemplates> ... a series of 'PopupFolderSelectorTemplate' elements ... </PopupFolderSelectorTemplates> <PopupListSelectorTemplates> ... a series of 'PopupListSelectorTemplate' elements ... </PopupListSelectorTemplates> <PopupCalendarSelectorTemplates> ... a series of 'PopupCalendarSelectorTemplate' elements ... </PopupCalendarSelectorTemplates> <Timers> ... a series of 'Timer' elements ... </Timers> </Screen> |
Local Documentation & Control Section |
|
---|---|
Description |
|
These attributes are screen-wide control and documentation attributes; they provide general information not only about the screen itself (title, version, scaling, sound, screen behavior, sound, background image) but also information about how the screen relates to other screens (parent screen). |
|
Attributes |
|
Attribute |
Description |
InternalID |
This attribute is a unique identifier for the screen. (type = text) |
Version |
This attribute is the version number of the screen. (type = text) |
Title |
This attribute is the title of the screen. (type = text) |
ParentScreen |
This attribute is the path and filename (either absolute or relative) of the screen that should be invoked when this screen closes (or “DYNAMIC” if this screen should simply return control to the invoking screen upon closing. (type = text) |
BackgroundImage |
This attribute is the path and filename (either absolute or relative) of the image to display as the background behind the user interface elements that form the screen. (type = text). |
SoundOnOpen |
This attribute is the path and filename (either absolute or relative) of the sound to play when this screen is opened.. (type = text) |
SoundOnClose |
This attribute is the path and filename (either absolute or relative) of the sound to play when this screen is closed.. (type = text) |
FullScreenStretchMode |
This attribute determines how images are displayed when shown full-screen. It can be set to “Fill” (the image is stretched such that it fills the entire available space) or “Scale” (the image is scaled in size up or down to fit the available space without distorting its proportions). (type = text) |
OptimalDisplayWidth |
This attribute specifies the width for which the screen was originally designed. It is used during the display scaling process to assist in the magnification or shrinking of the screen to fit the current display resolution. (type = numeric) |
OptimalDisplayHeight |
This attribute specifies the height for which the screen was originally designed. It is used during the display scaling process to assist in the magnification or shrinking of the screen to fit the current display resolution. (type = numeric) |
The MediaList Element |
|
---|---|
Description |
|
The “MediaList” element displays textual data in a list format. When utilized without a plugin, it can display the content of a directory structure on any accessible filesystem. In this mode, it can display both a primary data source and a secondary data source. An example usage of this scenario would be to use the primary data source to show individual audio files and the secondary data source to show audio playlists. To use the MediaList element in this manner, refer to the information presented in the table below (in particular, the “DataSourceUserPrompt”, “DataSource”, “DataExtensions”, “AlternateDataSourceUserPrompt”, “AlternateDataSource”, and “AlternateDataExtensions” attributes). When paired with a plugin, it can display any other type of textual data. An example usage of this scenario would be to show the content of an audio playlist. To use the MediaList element in this manner, refer to the information presented in the table below (in particular, the “DataSource”, “DefaultAction”, “NotifyOnSelect”, and “NotifyOnRetreat” attributes). You may also wish to review the “RefreshMediaList” action, which is often used to allow a plugin to programmatically inform the MediaList element that it should request a content update. The MediaList element is one of the most configurable widgets available within the uiMimic Interface Architect. In addition to the data display capabilities it has, it can also be completely modified to suit your needs (graphics, fonts, sounds, number of rows to display, row spacing, and even clickable areas). The MediaList element can be manipulated through the keyboard, the mouse, or programmatically (through the MediaList action and its sub-actions). |
|
Attributes |
|
Attribute |
Description |
InternalID |
This attribute is a unique identifier for the MediaList. (type = text) |
MediaType |
This attribute specifies what type of data the media list will show. It may be set to “Data” or “Image”. (type = text) |
DataSouceUserPrompt |
This attribute specifies the text of the prompt that will be shown to the user if the directory specified by the “DataSouce” attribute is invalid. (type = text) |
DataSource |
This attribute is either: a literal path (either absolute or relative) in which the MediaList element should search for files when showing its alternate data souce OR a registry reference (using the registry.class.key.item_name notation) indicating the path (either absolute or relative) in which the MediaList element should search for files when showing its alternate data souce Example: registry.hkey_current_user.software\electric storm software.picture_path OR A plugin invocation in the “In-Line Construct” format. The invoked plugin function will be responsible for supplying the data to the MediaList element (as an array of strings). For more information on plugin invocations, refer to the section of this user manual entitled “Mimic Plugin Invocations”. (type = text) |
DataExtensions |
This attribute specifies which file extensions (if the primary data source is a directory) the MediaList element will display when showing its primary data source. If the “DefaultAction” attribute is either “PLAY” or “QUEUE”, this attribute must be one of the following extensions: “.gif”, “.jpg”, “.jpeg”, “.bmp”, “.png”, “.m3u”, “.sld”, or any valid music file extension that Windows Media Player is capable of playing. If the “DefaultAction” attribute is “RAISEEVENT <eventname>”, then any extension is valid (since the selected item will most likely be dealt with by a plugin). For example, you could show “.xls” files, raise an event named “Open_XLS”, and then have the “Open_XLS” event invoke a plugin that opened and displayed a Microsoft Excel file. (type = text) |
AlternateDataSourceUserPrompt |
This attribute specifies the text of the prompt that will be shown to the user if the directory specified by the “AlternateDataSouce” attribute is invalid. (type = text) |
AlternateDataSource |
This attribute is either: a literal path (either absolute or relative) in which the MediaList element should search for files when showing its alternate data souce OR a registry reference (using the registry.class.key.item_name notation) indicating the path (either absolute or relative) in which the MediaList element should search for files when showing its alternate data souce Example: registry.hkey_current_user.software\electric storm software.picture_path (type = text) |
AlternateDataExtensions |
This attribute specifies which file extensions (if the alternate data source is a directory) the MediaList element will display when showing its alternate data source. If the “DefaultAction” attribute is either “PLAY” or “QUEUE”, this attribute must be one of the following extensions: “.gif”, “.jpg”, “.jpeg”, “.bmp”, “.png”, “.m3u”, “.sld”, or any valid music file extension that Windows Media Player is capable of playing. If the “DefaultAction” attribute is “RAISEEVENT <eventname>”, then any extension is valid (since the selected item will most likely be dealt with by a plugin). For example, you could show “.xls” files, raise an event named “Open_XLS”, and then have the “Open_XLS” event invoke a plugin that opened and displayed a Microsoft Excel file. (type = text) |
RowsToDisplay |
This attribute specifies the number of rows to display within the MediaList element. (type = numeric) |
RowGap |
This attribute specifies the distance, expressed in pixels, between rows within the MediaList element. (type = numeric) |
DefaultAction |
This attribute specifies the default action to take when the user selects an item within the element. This is a textual value, and may be set to: Play The selection will be opened immediately. Queue The selection will be added to the current playlist/slideshow. RaiseEvent <event> The selection will be passed as a parameter to the specified event. |
X |
This attribute is the horizontal screen coordinate at which the element will be drawn, expressed in pixels. (type = numeric) |
Y |
This attribute is the vertical screen coordinate at which the element will be drawn, expressed in pixels. (type = numeric) |
W |
This attribute is the width of the element, expressed in pixels. (type = numeric) |
H |
This attribute is the height of the element, expressed in pixels. (type = numeric) |
Font |
This attribute is the font face which will be used to draw text within the element. It may be set to any valid (installed) font face. (type = text) |
FontSize |
This attribute is the font size which will be used when drawing text within the element, expressed in points. (type = numeric) |
FontStyle |
This attribute is the font style which will be used when drawing text within the element. It may be set to any valid style or combination of styles (example: “bold”, “bold, italic”, “underline”). The following styles are valid: bold, italic, underline, strikeout (type = text) |
FontColor |
This attribute is the font color which will be used when drawing text within the element. This is a textual value, and may be set to any valid standard color name (as defined by Microsoft Visual Studio .NET 2003) such as “White”, “Black”, “Red”, “Blue”, or “Green”. The complete list of valid standard color names is available at: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemdrawingknownColorclasstopic.asp (type = text) |
FontOpacity |
Reserved. (type = numeric) |
FontRotation |
Reserved. (type = numeric) |
Image |
This attribute is the path and filename (either absolute or relative) of the image to display as the background behind the element. (type = text) |
Transparent |
This attribute determines whether the image specified by the “Image” attribute should be forced to be transparent. It may be set to “TRUE” or “FALSE”. The top-left pixel of the image will be used to determine which color within the image represents the transparency color. This is NOT an ideal method of dealing with transparency; it is included for backward compatibility! Transparency should really be applied directly to the image using the graphic design tool of your choice. (type = boolean) |
TextOffsetX |
This attribute is the number of pixels to indent the text shown in the MediaList element (from the left). (type = numeric) |
TextOffsetW |
This attribute is the number of pixels to indent the text shown in the MediaList element (from the right). (type = numeric) |
TextOffsetY |
This attribute is the number of pixels to indent the text shown in the MediaList element (from the top). (type = numeric) |
ImageOnRollover |
This attribute is the path and filename (either absolute or relative) of the image to display as the highlight bar of the MediaList element. (type = text) |
ImageOnRolloverTransparent |
This attribute determines whether the image specified by the “ImageOnRollover” attribute should be forced to be transparent. It may be set to “TRUE” or “FALSE”. The top-left pixel of the image will be used to determine which color within the image represents the transparency color. This is NOT an ideal method of dealing with transparency; it is included for backward compatibility! Transparency should really be applied directly to the image using the graphic design tool of your choice. (type = boolean) |
ScrollbarImage |
This attribute is the path and filename (either absolute or relative) of the image to display as the scrollbar of the MediaList element. (type = text) |
ScrollbarImageTransparent |
This attribute determines whether the image specified by the “Scrollbar” attribute should be forced to be transparent. It may be set to “TRUE” or “FALSE”. The top-left pixel of the image will be used to determine which color within the image represents the transparency color. This is NOT an ideal method of dealing with transparency; it is included for backward compatibility! Transparency should really be applied directly to the image using the graphic design tool of your choice. (type = boolean) |
ScrollbarImageX |
This attribute is the horizontal screen coordinate at which the scrollbar portion of the MediaList element will be drawn, expressed in pixels. (type = numeric) |
ScrollbarImageY |
This attribute is the vertical screen coordinate at which the scrollbar portion of the MediaList element will be drawn, expressed in pixels. (type = numeric) |
ScrollbarImageW |
This attribute is the width of the scrollbar portion of the MediaList element, expressed in pixels. (type = numeric) |
ScrollbarImageH |
This attribute is the height of the scrollbar portion of the MediaList element, expressed in pixels. (type = numeric) |
PositionImage |
This attribute is the path and filename (either absolute or relative) of the image to display as the position indicator of the MediaList element. (type = text) |
PositionImageTransparent |
This attribute determines whether the image specified by the “PositionImage” attribute should be forced to be transparent. It may be set to “TRUE” or “FALSE”. The top-left pixel of the image will be used to determine which color within the image represents the transparency color. This is NOT an ideal method of dealing with transparency; it is included for backward compatibility! Transparency should really be applied directly to the image using the graphic design tool of your choice. (type = boolean) |
DefaultImage |
This attribute is the path and filename (either absolute or relative) of the image to display (in associated MediaPreview elements) if no other meaningful image can be derived from the selected item in the MediaList. (type = text) |
SoundOnSelect |
This attribute is the path and filename (either absolute or relative) of the sound to play when an entry is selected from the MediaList element.. (type = text) |
SoundOnFolderOpen |
This attribute is the path and filename (either absolute or relative) of the sound to play when the user advances to a new level within the hierarchy of the MediaList element. (type = text) |
SoundOnFolderClose |
This attribute is the path and filename (either absolute or relative) of the sound to play when the user retreats to a previous level of the hierarchy within the MediaList element. (type = text) |
SoundOnNavigateUp |
This attribute is the path and filename (either absolute or relative) of the sound to play when the highlight bar is moved up within the MediaList element.. (type = text) |
SoundOnNavigateDown |
This attribute is the path and filename (either absolute or relative) of the sound to play when the highlight bar is moved down within the MediaList element.. (type = text) |
SoundOnNavigateHalt |
This attribute is the path and filename (either absolute or relative) of sound to play when the highlight bar cannot move any further in the desired direction. (type = text) |
DefaultVisible |
This attribute determines whether or not the element is initially visible. It may be set to “TRUE” or “FALSE”. (type = boolean) |
NotifyOnSelect |
A plugin invocation in the “In-Line Construct” format. If this attribute is set, the plugin will be invoked when the user selects an item within the MediaList element. The invoked function is passed a single parameter, which is a string containing the name of the item that was selected by the user. For more information regarding plugin invocations, refer to the “Plugin Invocations” section of this document. (type = text) |
NotifyOnRetreat |
A plugin invocation in the “In-Line Construct” format. If this attribute is set, the plugin will be invoked when the the user retreats a level within the MediaList element. For more information regarding plugin invocations, refer to the “Plugin Invocations” section of this document. (type = text) |
The MediaPreview Element |
|||
---|---|---|---|
Description |
|||
The “MediaPreview” element is used to display graphical or textual “preview” data to the user. A MediaPreview element may either be associated with a MediaList or it may be associated with a plugin. When used with a MediaList element, the MediaPreview element will update its content whenever the highlighted item in the associated MediaList element changes. An example usage of this scenario would be to display a list of picture files in the MediaList element and a preview of the highlighted picture in the MediaPreview element. When used with a plugin, the MediaPreview element will invoke the plugin whenever an update is required. An example usage of this scenario would be to display a graphical representation of the used/free space on the user's computer. The user can (optionally) interact with the MediaPreview element by clicking on it. If the MediaPreview element is associated with a plugin, the plugin will be notified as to the location of the click. |
|||
Attributes |
|||
Attribute |
Description |
||
InternalID |
This attribute is a unique identifier for the mediapreview. (type = text) |
||
MediaType |
This attribute specifies what type of content the MediaPreview element will show. It may be set to “Data”, “Image”, “Plugin/TextMultiLine” or “Plugin/Bitmap”. If this attribute is set to to “Plugin/Bitmap” (in which case the “DataSource” attribute must be a plugin invocation) the MediaPreview will display a bitmap. If this attribute is set to “Plugin/TextMultiLine” (in which case the “DataSource” attribute must be a plugin invocation) the MediaPreview will display a multi-line text block. If this attribute is set to “Data” or “Image” (in which case the “DataSource” attribute MUST be set to the “InternalID” attribute of a MediaList element on the same screen) the MediaPreview will determine what type of content to show based on a combination of the value of the associated MediaList element's “MediaType” attribute AND the type of item (directory, file, or other) being previewed. The following table summarizes this behavior: |
||
Associated MediaList Element “MediaType” Attribute |
Item Type Being Previewed |
MediaPreivew Will... |
|
Data |
Directory |
Search within the directory for an image file named “cover.<ext>”, where <ext> is a known image extension and display the image. |
|
Data |
File |
Display audio metadata of the file (which must be an audio file). |
|
Data |
Other |
Invoke a plugin function returning a string and display the returned string. |
|
Image |
Directory |
Search within the directory for an image file named “summary.<ext>”, where <ext> is a known image extension and display the image. |
|
Image |
File |
Display the file (which must be an image). |
|
Image |
Other |
Invoke a plugin function returning a bitmap and display the returned bitmap. |
|
(type = text) |
|||
DataSource |
This attribute specifies the datasource that drives the content of the MediaPreview. It can be any of the following: The “IntenalID” attribute of a MediaList element. OR A plugin invocation in the “In-Line Construct” format. The plugin function, which accepts NO parameters, will be required to supply a string or an image (depending on the value of the “MediaType” attribute). This feature is meant to be used for MediaPreview elements that are NOT bound to a MediaList element (ie: situations where the MediaPreview is simply being used as a display area for a plugin). If you want to bind the MediaPreview to a MediaList, but still have the content of the preview rendered by a plugin, refer to the “DataSourceRenderer” attribute (below). (type = text) |
||
DataSourceRenderer |
A plugin invocation in the “In-Line Construct” format. For a MediaPreview element that is bound to a MediaList (meaning that the DataSource is set to the InternalID of a MediaList element on the same screen) this attribute allows you to specify the name of a plugin function that will be executed to render the content of the MediaPreview. The invoked function will be supplied with a single parameter which is a string containing the currently selected item within the MediaList element. For more information regarding plugin invocations, refer to the “Plugin Invocations” section of this document. (type = text) |
||
StretchMode |
This attribute governs how images are displayed by the MediaPreview element. It can be set to “Fill” (the image is stretched such that it fills the entire available space) or “Scale” (the image is scaled up or down to fit the available space without distorting its proportions). (type = text) |
||
X |
This attribute is the horizontal screen coordinate at which the element will be drawn, expressed in pixels. (type = numeric) |
||
Y |
This attribute is the vertical screen coordinate at which the element will be drawn, expressed in pixels. (type = numeric) |
||
W |
This attribute is the width of the element, expressed in pixels. (type = numeric) |
||
H |
This attribute is the height of the element, expressed in pixels. (type = numeric) |
||
Font |
This attribute is the font face which will be used to draw text within the element. It may be set to any valid (installed) font face. (type = text) |
||
FontSize |
This attribute is the font size which will be used when drawing text within the element, expressed in points. (type = numeric) |
||
FontStyle |
This attribute is the font style which will be used when drawing text within the element. It may be set to any valid style or combination of styles (example: “bold”, “bold, italic”, “underline”). The following styles are valid: bold, italic, underline, strikeout (type = text) |
||
FontColor |
This attribute is the font color which will be used when drawing text within the element. This is a textual value, and may be set to any valid standard color name (as defined by Microsoft Visual Studio .NET 2003) such as “White”, “Black”, “Red”, “Blue”, or “Green”. The complete list of valid standard color names is available at: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemdrawingknownColorclasstopic.asp (type = text) |
||
FontOpacity |
Reserved. (type = numeric) |
||
FontRotation |
Reserved. (type = numeric) |
||
Image |
This attribute is the path and filename (either absolute or relative) of the the image to display as the background behind the element. (type = text) |
||
Transparent |
This attribute determines whether the image specified by the “Image” attribute should be forced to be transparent. It may be set to “TRUE” or “FALSE”. The top-left pixel of the image will be used to determine which color within the image represents the transparency color. This is NOT an ideal method of dealing with transparency; it is included for backward compatibility! Transparency should really be applied directly to the image using the graphic design tool of your choice. (type = boolean) |
||
OffsetX |
This attribute is the number of pixels to indent (from the left) the data being previewed, expressed in pixels. (type = numeric) |
||
OffsetW |
This attribute is the number of pixels to indent (from the right) the data being previewed, expressed in pixels. (type = numeric) |
||
OffsetY |
This attribute is the number of pixels to indent (from the top) the data being previewed, expressed in pixels. (type = numeric) |
||
DefaultVisible |
This attribute determines whether or not the element is initially visible. It may be set to “TRUE” or “FALSE”. (type = boolean) |
||
NotifyOnClick |
A plugin invocation in the “In-Line Construct” format. If this attribute is set, the plugin will be invoked when the user clicks within the display area of the MediaPreview element. A single parameter is passed to the invoked function, which is a string in the format “x;#;y;#;” (the coordinates of the click, relative to the top left corner of the MediaPreview element). For more information regarding plugin invocations, refer to the “Plugin Invocations” section of this document. (type = text) |
||
NotifyOnInitialize |
A plugin invocation in the “In-Line Construct” format. If this attribute is set, the plugin will be invoked when the MediaPreivew is initially created. A single parameter is passed to the invoked function, which is a string in the format "x;#;y;#;w;#;h;#;offsetx;#;offsety;#;offsetw;#;fontfamily;#;fontsize;#;fontstyle;#;fontcolor;#;" (the x, y, width, height, x offset, y offset, w offset, font family, font size, font style, and font color). If display scaling is enabled, all values are AFTER adjustment (including the font size). For more information regarding plugin invocations, refer to the “Plugin Invocations” section of this document. (type = text) |
The Visualization Element |
|
---|---|
Description |
|
The “Visualization” element is used to display audio visualization on the screen. The user can switch between standard visualization and full-screen visualization by clicking on the visualization window. A screen can also programmatically switch between visualization modes. |
|
Attributes |
|
Attribute |
Description |
InternalID |
This attribute is a unique identifier for the visualization. (type = text) |
X |
This attribute is the horizontal screen coordinate at which the element will be drawn, expressed in pixels. (type = numeric) |
Y |
This attribute is the vertical screen coordinate at which the element will be drawn, expressed in pixels. (type = numeric) |
W |
This attribute is the width of the element, expressed in pixels. (type = numeric) |
H |
This attribute is the height of the element, expressed in pixels. (type = numeric) |
DefaultVisible |
This attribute determines whether or not the element is initially visible. It may be set to “TRUE” or “FALSE”. (type = boolean) |
The Label Element |
|
---|---|
Description |
|
The “Label” element is used to display text on the screen. The user can interact (optionally) with the label element by clicking on it. A label element may consist of literal text, the value of one or more “Variable” elements, one of several predefined substitution keywords, or even an invocation of a plugin function that will return a string containing the text that the Label element should display. |
|
Attributes |
|
Attribute |
Description |
InternalID |
This attribute is a unique identifier for the label. (type = text) |
X |
This attribute is the horizontal screen coordinate at which the element will be drawn, expressed in pixels. (type = numeric) |
Y |
This attribute is the vertical screen coordinate at which the element will be drawn, expressed in pixels. (type = numeric) |
W |
This attribute is the width of the element, expressed in pixels. (type = numeric) |
H |
This attribute is the height of the element, expressed in pixels. (type = numeric) |
Font |
This attribute is the font face which will be used to draw text within the element. It may be set to any valid (installed) font face. (type = text) |
FontSize |
This attribute is the font size which will be used when drawing text within the element, expressed in points. (type = numeric) |
FontStyle |
This attribute is the font style which will be used when drawing text within the element. It may be set to any valid style or combination of styles (example: “bold”, “bold, italic”, “underline”). The following styles are valid: bold, italic, underline, strikeout (type = text) |
FontColor |
This attribute is the font color which will be used when drawing text within the element. This is a textual value, and may be set to any valid standard color name (as defined by Microsoft Visual Studio .NET 2003) such as “White”, “Black”, “Red”, “Blue”, or “Green”. The complete list of valid standard color names is available at: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemdrawingknownColorclasstopic.asp (type = text) |
FontOpacity |
Reserved. (type = numeric) |
FontRotation |
Reserved. (type = numeric) |
DataSource |
This attribute specifies the content of the label. It can be any of the following: “Artist”, “Title”, “Album”, “Bitrate”, “TrackNumber”, “Duration”, “Filename”, “DateTime”, “Date”, “Time” OR A plugin invocation in the “In-Line Construct” format. The plugin will be invoked when it is necessary to determine the value of the label. The invoked function is required to return a string value. For more information regarding plugin invocations, refer to the “Plugin Invocations” section of this document. OR some text with a %VARIABLE% or even several %OTHER% %VARIABLES% OR LITERAL=some text (type = text) |
DefaultVisible |
This attribute determines whether or not the element is initially visible. It may be set to “TRUE” or “FALSE”. (type = boolean) |
NotifyOnClick |
A plugin invocation in the “In-Line Construct” format. If this attribute is set, the plugin will be invoked when the label is clicked. For more information regarding plugin invocations, refer to the “Plugin Invocations” section of this document. (type = text) |
The Shortcut Element |
|
---|---|
Description |
|
The “Shortcut” element is a non-visual element used to enable keyboard shortcut functionality within a screen. |
|
Attributes |
|
Attribute |
Description |
InternalID |
This attribute is a unique identifier for the shortcut. (type = text) |
KeyBinding |
This attribute specifies which key is associated with the shortcut. It may be any valid member of the “Keys” enumeration (as specified by Visual Studio .NET 2003). For example, this attribute may be set to “F12”, “A”, “B”, or “C”. For a list of valid values, refer to: For a complete list of valid values for this attribute, refer to: (type = text) |
ActionType |
This attribute specifies the action to take when the event is raised. Please see the “Mimic Action Types” section of this document for information regarding valid action types. (type = text) |
ActionData |
This attribute provides additional information (if required) that is specific to the action cited in the “ActionType” attribute. (type = text) |
ActionDataParameters |
This attribute provides additional information (if required) that is specific to the action cited in the “ActionType” attribute. (type = text) |
The Decoration Element |
|
---|---|
Description |
|
The “Decoration” element is used to display static graphical elements on the screen. A decoration element may be static (always visible or always invisible until its state is changed programmatically) or its visibility may be dynamically controlled by pairing it with a plugin through the “DataSource” attribute. The user can interact (optionally) with the decoration element by clicking on it. |
|
Attributes |
|
Attribute |
Description |
InternalID |
This attribute is a unique identifier for the decoration. (type = text) |
X |
This attribute is the horizontal screen coordinate at which the element will be drawn, expressed in pixels. (type = numeric) |
Y |
This attribute is the vertical screen coordinate at which the element will be drawn, expressed in pixels. (type = numeric) |
W |
This attribute is the width of the element, expressed in pixels. (type = numeric) |
H |
This attribute is the height of the element, expressed in pixels. (type = numeric) |
Image |
This attribute is the path and filename (either absolute or relative) of the image to display. (type = text) |
Transparent |
This attribute determines whether the image specified by the “Image” attribute should be forced to be transparent. It may be set to “TRUE” or “FALSE”. The top-left pixel of the image will be used to determine which color within the image represents the transparency color. This is NOT an ideal method of dealing with transparency; it is included for backward compatibility! Transparency should really be applied directly to the image using the graphic design tool of your choice. (type = boolean) |
DataSource |
A plugin invocation in the “In-Line Construct” format. If this attribute is set, the plugin will be invoked when it is necessary to determine whether or not the decoration should be visible. The invoked function is required to return a string value which may be either “TRUE” or “FALSE”. For more information regarding plugin invocations, refer to the “Plugin Invocations” section of this document. (type = text) |
DefaultVisible |
This attribute determines whether or not the element is initially visible. It may be set to “TRUE” or “FALSE”. (type = boolean) |
NotifyOnClick |
A plugin invocation in the “In-Line Construct” format. If this attribute is set, the plugin will be invoked when the decoration is clicked. For more information regarding plugin invocations, refer to the “Plugin Invocations” section of this document. (type = text) |
The Animation Element |
|
---|---|
Description |
|
The “Animation” element is used to display dynamic elements on the screen (they gradually fade in or fade out). An animation element may be static (always visible or always invisible until its state is changed programmatically) or its visibility may be dynamically controlled by pairing it with a plugin through the “DataSource” attribute. The user can interact (optionally) with the animation element by clicking on it. |
|
Attributes |
|
Attribute |
Description |
InternalID |
This attribute is a unique identifier for the animation. (type = text) |
X |
This attribute is the horizontal screen coordinate at which the element will be drawn, expressed in pixels. (type = numeric) |
Y |
This attribute is the vertical screen coordinate at which the element will be drawn, expressed in pixels. (type = numeric) |
W |
This attribute is the width of the element, expressed in pixels. (type = numeric) |
H |
This attribute is the height of the element, expressed in pixels. (type = numeric) |
Image |
This attribute is the path and filename (either absolute or relative) of the image to animate. (type = text) |
Transparent |
This attribute determines whether the image specified by the “Image” attribute should be forced to be transparent. It may be set to “TRUE” or “FALSE”. The top-left pixel of the image will be used to determine which color within the image represents the transparency color. This is NOT an ideal method of dealing with transparency; it is included for backward compatibility! Transparency should really be applied directly to the image using the graphic design tool of your choice. (type = boolean) |
FrameCount |
This attribute specifies the number of frames to use when drawing the animation. The greater the number of frames, the more memory the animation will require. (type = numeric) |
AnimationSpeed |
This attribute is the number of milliseconds the uiMimic Interface Architect will pause between drawing frames of the animation. (type = numeric) |
DataSource |
A plugin invocation in the “In-Line Construct” format. If this attribute is set, the plugin will be invoked when it is necessary to determine whether or not the animation should be visible. The invoked function is required to return a string value which may be either “TRUE” or “FALSE”. For more information regarding plugin invocations, refer to the “Plugin Invocations” section of this document. (type = text) |
DefaultVisible |
This attribute determines whether or not the element is initially visible. It may be set to “TRUE” or “FALSE”. (type = boolean) |
NotifyOnClick |
A plugin invocation in the “In-Line Construct” format. If this attribute is set, the plugin will be invoked when the animation is clicked. For more information regarding plugin invocations, refer to the “Plugin Invocations” section of this document. (type = text) |
The Button Element |
|
---|---|
Description |
|
The “Button” element is used to display a button on the screen. The user can interact with the button element by clicking on it. |
|
Attributes |
|
Attribute |
Description |
InternalID |
This attribute is a unique identifier for the button. (type = text) |
X |
This attribute is the horizontal screen coordinate at which the element will be drawn, expressed in pixels. (type = numeric) |
Y |
This attribute is the vertical screen coordinate at which the element will be drawn, expressed in pixels. (type = numeric) |
W |
This attribute is the width of the element, expressed in pixels. (type = numeric) |
H |
This attribute is the height of the element, expressed in pixels. (type = numeric) |
Font |
This attribute is the font face which will be used to draw text within the element. It may be set to any valid (installed) font face. (type = text) |
FontSize |
This attribute is the font size which will be used when drawing text within the element, expressed in points. (type = numeric) |
FontStyle |
This attribute is the font style which will be used when drawing text within the element. It may be set to any valid style or combination of styles (example: “bold”, “bold, italic”, “underline”). The following styles are valid: bold, italic, underline, strikeout (type = text) |
FontColor |
This attribute is the font color which will be used when drawing text within the element. This is a textual value, and may be set to any valid standard color name (as defined by Microsoft Visual Studio .NET 2003) such as “White”, “Black”, “Red”, “Blue”, or “Green”. The complete list of valid standard color names is available at: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemdrawingknownColorclasstopic.asp (type = text) |
FontOpacity |
Reserved. (type = numeric) |
FontRotation |
Reserved. (type = numeric) |
Text |
This attribute is the text shown within the element. (type = text) |
SoundOnActivate |
This attribute is the path and filename (either absolute or relative) of the file containing the sound to play when the button is activated. (type = text) |
SoundOnRollover |
This attribute is the path and filename (either absolute or relative) of the file containing the sound to play when the mouse rolls over the button (or the user navigates to it using the keyboard). (type = text) |
ImageOnNormal |
This attribute is the path and filename (either absolute or relative) of the image to display when the button is not active and not highlighted. (type = text) |
ImageOnNormalTransparent |
This attribute determines whether the image specified by the “ImageOnNormal” attribute should be forced to be transparent. It may be set to “TRUE” or “FALSE”. The top-left pixel of the image will be used to determine which color within the image represents the transparency color. This is NOT an ideal method of dealing with transparency; it is included for backward compatibility! Transparency should really be applied directly to the image using the graphic design tool of your choice. (type = boolean) |
ImageOnActivate |
This attribute is the path and filename (either absolute or relative) of the image to display when the button is activated. (type = text) |
ImageOnActivateTransparent |
This attribute determines whether the image specified by the “ImageOnActivate” attribute should be forced to be transparent. It may be set to “TRUE” or “FALSE”. The top-left pixel of the image will be used to determine which color within the image represents the transparency color. This is NOT an ideal method of dealing with transparency; it is included for backward compatibility! Transparency should really be applied directly to the image using the graphic design tool of your choice. (type = boolean) |
ImageOnRollover |
This attribute is the path and filename (either absolute or relative) of the image to display when the button is highlighted (either by the user moving the mouse over it or by navigating to it with the keyboard). (type = text) |
ImageOnRolloverTransparent |
This attribute determines whether the image specified by the “ImageOnRollover” attribute should be forced to be transparent. It may be set to “TRUE” or “FALSE”. The top-left pixel of the image will be used to determine which color within the image represents the transparency color. This is NOT an ideal method of dealing with transparency; it is included for backward compatibility! Transparency should really be applied directly to the image using the graphic design tool of your choice. (type = boolean) |
IconOffsetX |
This attribute is the horizontal screen coordinate at which the image specified by the “IconImage” attribute will be drawn, expressed in pixels. It is relative to the value of the “X” attribute. (type = numeric) |
IconOffsetY |
This attribute is the vertical screen coordinate at which the image specified by the “IconImage” attribute will be drawn, expressed in pixels. It is relative to the value of the “Y” attribute. (type = numeric) |
IconImage |
This attribute is the path and filename (either absolute or relative) of the image to display as a graphical icon on the button. (type = text) |
IconImageTransparent |
This attribute determines whether the image specified by the “IconImage” attribute should be forced to be transparent. It may be set to “TRUE” or “FALSE”. The top-left pixel of the image will be used to determine which color within the image represents the transparency color. This is NOT an ideal method of dealing with transparency; it is included for backward compatibility! Transparency should really be applied directly to the image using the graphic design tool of your choice. (type = boolean) |
IconScale |
This attribute allows the image specified by the “IconImage” attribute to be resized to a fraction of its original size. It may be set to any value > 0.1. For example, setting this attribute to 0.5 would resize the image to half its original size and setting it to 2.0 would resize the image to twice its original size. (type = decimal) |
TextOffsetX |
This attribute is the number of pixels to indent (from the left) the text of the button. (type = numeric) |
TextOffsetY |
This attribute is the number of pixels to indent (from the right) the text of the button. (type = numeric) |
ActivationBoxX |
This attribute is the top-left corner of the mouse activation box, expressed in pixels. (type = numeric) |
ActivationBoxY |
This attribute is the top-left corner of the mouse activation box, expressed in pixels. (type = numeric) |
ActivationBoxW |
This attribute is the width of the mouse activation box for the element, expressed in pixels. (type = numeric) |
ActivationBoxH |
This attribute is the height of the mouse activation box for the element, expressed in pixels. (type = numeric) |
ActionType |
This attribute specifies the action to take when the event is raised. Please see the “Mimic Action Types” section of this document for information regarding valid action types. (type = text) |
ActionData |
This attribute provides additional information (if required) that is specific to the action cited in the “ActionType” attribute. (type = text) |
ActionDataParameters |
This attribute provides additional information (if required) that is specific to the action cited in the “ActionType” attribute. (type = text) |
TabOrder |
This attribute is the position of the element in relation to other elements of its type. It is a numeric value, and must be unique. This sequence is used when the user navigates using the arrow keys. If this attribute is set to “0”, the element will be assigned the next available value in sequence. (type = numeric) |
DefaultVisible |
This attribute determines whether or not the element is initially visible. It may be set to “TRUE” or “FALSE”. (type = boolean) |
The Event Element |
|
---|---|
Description |
|
The “Event” element is used to provide multi-step scripting within a screen. This makes it possible for an entire series of actions to occur when the user performs one interaction with the screen. The “Event” element is tremendously important to plugin developers because it provides the primary means of interaction between the plugin and the user (screen). It is very important to understand this concept; the screen is in control. If a plugin wants to affect the screen, it must do so through events that the screen exposes. A plugin can only communicate directly with the uiMimic Interface Architect in very rare circumstances. For an example of this concept, consider the following scenario: A plugin raises an event named “UpdateList” which is passed to the screen by the uiMimic Interface Architect (since it is not one of the very few messages that it will handle directly). The screen contains a group of “Event” elements named “UpdateList” which cause the “SetDecorationState” action to be triggered to show a busy icon, a “RefreshMediaList” action to be triggered to update the content of the MediaList, and a “SetLabelState” action to update a text field showing a count of items in the MediaList element. To perform multiple actions in a single event, create multiple “Event” elements with the same “Name” attribute. When an event contains multiple actions, the actions are executed sequentially in order. |
|
Attributes |
|
Attribute |
Description |
InternalID |
This attribute is a unique identifier for the event. (type = text) |
Name |
This attribute is the name of the event. (type = text) |
ActionType |
This attribute specifies the action to take when the event is raised. Please see the “Mimic Action Types” section of this document for information regarding valid action types. (type = text) |
ActionData |
This attribute provides additional information (if required) that is specific to the action cited in the “ActionType” attribute. (type = text) |
ActionDataParameters |
This attribute provides additional information (if required) that is specific to the action cited in the “ActionType” attribute. (type = text) |
The Timer Element |
|
---|---|
Description |
|
The “Timer” element is used to perform automatic actions on a periodic basis. |
|
Attributes |
|
Attribute |
Description |
InternalID |
This attribute is a unique identifier for the timer. (type = text) |
Name |
This attribute is the name of the timer. (type = text) |
Frequency |
This attribute (expressed in milliseconds) determines how often the timer will be triggered. (type = numeric) |
ActionType |
This attribute is the action to take when the timer is triggered. Please see the “Mimic Action Types” section of this document for information regarding valid action types. (type = text) |
ActionData |
This attribute provides additional information (if required) that is specific to the action cited in the “ActionType” attribute. (type = text) |
ActionDataParameters |
This attribute provides additional information (if required) that is specific to the action cited in the “ActionType” attribute. (type = text) |
The Variable Element |
|
---|---|
Description |
|
The “Variable” element is used to allow a screen to dynamically store configuration information in the system registry. If the variable is undefined when the screen opens, the user will be prompted to supply the appropriate value (which will then be stored for later use). |
|
Attributes |
|
Attribute |
Description |
InternalID |
This attribute is a unique identifier for the variable. (type = text) |
Name |
This attribute is the name of the variable. (type = text) |
Type |
If the uiMimic Interface Architect is unable to determine the value of the variable (either through the supplied default value or the system registry entry indicated by the “DataSource” attribute) the user will be prompted to supply it. The type of prompt displayed is determined by the value of this attribute: When set to "Folder", the user will be shown a prompt containing the text indicted by the “UserPrompt” attribute and a folder browser. When set to "File", the the user will be shown a prompt containing the text indicated by the “UserPrompt” attribute and a file browser. When set to "Text", the user will be shown a prompt containing the text indicated by the “UserPrompt” attribute and a text entry field. The text indicated by the "DefaultValue" attribute is shown in the text field. When set to "List", the user will be shown a prompt containing the text indicated by the “UserPrompt” attribute and a list of choices. The "DefaultValue" attribute of the variable determines the content of the list. It is a “;” (semi-colon) separated list of values. When set to "DateTime", the user will be shown a prompt containing the text indicated by the “UserPrompt” attribute and a date selector. The text indicated by the "DefaultValue" attribute is shown in the date selector. NOTE: You can specify a format with the "DateTime" type. To do so, simply include the format as part of the type name. For example, “DateTime dddd - d – MMMM” is a valid value for the “Type” attribute. For information of date formats, refer to this web page: (type = text) |
UserPrompt |
This attribute specifies the text of the prompt that will be shown to the user if it is necessary to prompt the user to supply the value of the variable. (type = text) |
DataSource |
This attribute specifies the location within the system registry where the value of the variable will be stored. It must be specified using the following notation: registry.class.key.item_name Example: registry.hkey_current_user.software\electric storm software.beyondtv_path (type = text) |
DefaultValue |
This is the default value of the variable. If the “Type” attribute is set to “List”, this field must be a “;” (semi-colon) separated list of values. (type = text) |
The Merge Element |
|
---|---|
Description |
|
The “Merge” element is used to allow commonly used elements (ie: shared elements such as logos, keyboard shortcuts, labels) to be stored in a single central location to minimize duplication and make screen development easier. |
|
Attributes |
|
Attribute |
Description |
File |
The name of the file to be merged into the current screen definition. It may be set to a valid path and filename (either absolute or relative). The file must be a complete and valid screen definition file! It is perfectly valid to leave every element block empty except those which are desirable for the screen merge definition. (type = text) |
The PopupTemplate Element |
|
---|---|
Description |
|
The “PopupTemplate” element is used to provide an extremely customizable user-input tool to the developer. It allows a default value to be retrieved from the registry, modified by the user, and stored in the system registry again. When used in conjunction with a plugin, the PopupTemplate is an extremely powerful tool. |
|
Attributes |
|
Attribute |
Description |
InternalID |
This attribute is a unique identifier for the PopupTemplate. (type = text) |
X |
This attribute is the horizontal screen coordinate at which the element will be drawn, expressed in pixels. (type = numeric) |
Y |
This attribute is the vertical screen coordinate at which the element will be drawn, expressed in pixels. (type = numeric) |
W |
This attribute is the width of the element, expressed in pixels. (type = numeric) |
H |
This attribute is the height of the element, expressed in pixels. (type = numeric) |
Image |
This attribute is the name of the image to display. It may be set to any valid path and filename (either absolute or relative). If the template is going to be used as a message box, the image specified should not have a text entry field. Likewise, if the template is going to be used as a text entry field, it should (obviously). (type = text) |
Transparent |
This attribute determines whether the image specified by the “Image” attribute should be forced to be transparent. It may be set to “TRUE” or “FALSE”. The top-left pixel of the image will be used to determine which color within the image represents the transparency color. This is NOT an ideal method of dealing with transparency; it is included for backward compatibility! Transparency should really be applied directly to the image using the graphic design tool of your choice. (type = boolean) |
Font |
This attribute is the font face which will be used to draw text within the element. It may be set to any valid (installed) font face. (type = text) |
FontSize |
This attribute is the font size which will be used when drawing text within the element, expressed in points. (type = numeric) |
FontStyle |
This attribute is the font style which will be used when drawing text within the element. It may be set to any valid style or combination of styles (example: “bold”, “bold, italic”, “underline”). The following styles are valid: bold, italic, underline, strikeout (type = text) |
FontColor |
This attribute is the font color which will be used when drawing text within the element. This is a textual value, and may be set to any valid standard color name (as defined by Microsoft Visual Studio .NET 2003) such as “White”, “Black”, “Red”, “Blue”, or “Green”. The complete list of valid standard color names is available at: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemdrawingknownColorclasstopic.asp (type = text) |
FontOpacity |
Reserved. (type = numeric) |
FontRotation |
Reserved. (type = numeric) |
MessageTextBoundingBoxX |
This attribute is the horizontal screen coordinate at which the message text will be drawn, expressed in pixels. (type = numeric) |
MessageTextBoundingBoxY |
This attribute is the vertical screen coordinate at which the message text will be drawn, expressed in pixels. (type = numeric) |
MessageTextBoundingBoxW |
This attribute is the width of the area in which the message will be drawn, expressed in pixels. If the message is wider than this value when drawn, it will be wrapped in an aesthetically pleasing manner. (type = numeric) |
MessageTextBoundingBoxH |
This attribute is the height of the area in which the message will be drawn, expressed in pixels. If the message is higher than this value when drawn, it will be clipped (which may or may not look aesthetically pleasing, so it is a very good idea to ensure that there is adequate space available). (type = numeric) |
ResponseTextBoundingBoxX |
This attribute is the horizontal screen coordinate at which the text typed by the user will be drawn, expressed in pixels. (type = numeric) |
ResponseTextBoundingBoxY |
This attribute is the vertical screen coordinate at which the text typed by the user will be drawn, expressed in pixels. (type = numeric) |
ResponseTextBoundingBoxW |
This attribute is the width of the area in which the text typed by the user will be drawn, expressed in pixels. If the text typed by the user is wider than this area when drawn, it will be wrapped in an aesthetically pleasing manner. (type = numeric) |
ResponseTextBoundingBoxH |
This attribute is the height of the area in which the text typed by the user will be drawn, expressed in pixels. If the text typed by the user is higher than this area when drawn, it will be clipped (which may or may not look aesthetically pleasing, so it is a very good idea to ensure that there is adequate space available). (type = numeric) |
MaximumSize |
This attribute is the number of characters that the user will be allowed to input when the template is drawn. If this value is set to 0, the user is not allowed to input any characters and the template will vanish when the first key is pressed (ie: a simple messagebox). If this value is >0, the user may type up to the specified number of characters. The characters will be drawn on the screen, with their position being determined by the TextOffsetX and TextOffsetY attributes. (type = numeric) |
The PopupFileSelectorTemplate Element |
|
---|---|
Description |
|
Reserved. |
|
Attributes |
|
Attribute |
Description |
Reserved. |
Reserved. |
The PopupFolderSelectorTemplate Element |
|
---|---|
Description |
|
Reserved. |
|
Attributes |
|
Attribute |
Description |
Reserved. |
Reserved. |
The PopupListSelectorTemplate Element |
|
---|---|
Description |
|
Reserved. |
|
Attributes |
|
Attribute |
Description |
Reserved. |
Reserved. |
The PopupCalendarSelectorTemplate Element |
|
---|---|
Description |
|
Reserved. |
|
Attributes |
|
Attribute |
Description |
Reserved. |
Reserved. |
Plugin Definition
This section describes the structure and content of a plugin definition. Please note that element groups, elements, and attributes must be presented in the order illustrated below:
Structure |
<PluginList> <Plugin> ... attributes ... </Plugin> </PluginList> |
Attributes |
|
---|---|
Attribute |
Description |
InteralID |
This attribute is the name by which the plugin will be referenced in screen definitions. (type = text) |
Location |
This attribute is the path and filename (either absolute or relative) of the .NET assembly containing the plugin. (type = text) |
Actions
The uiMimic Interface Architect supports the following actions (which may be invoked from any element containing an “ActionType”, “ActionData”, and “ActionDataParam” group of attributes:
Action Type |
Description |
||
---|---|---|---|
ChangeDisplay |
This action is used to move from one display to another. The path and filename (absolute or relative) of the new display to open should be supplied in the <ActionData> attribute. The <ActionDataParameters> attribute should be left empty. |
||
InvokePlugin |
This action is used to invoke the functionality of a plugin. For more information regarding the use of this action, refer to the section of this user manual entitled “Plugin Invocations”. |
||
InvokePluginThroughPopup |
This action prompts the user to answer a question (through the use of a PopupTemplate) and then invokes the functionality of a plugin. The default value of the prompt is supplied by the plugin (it is passed a single parameter which is a string containing the text “MIMIC_QUERY”). After the user has responded to the prompt, the plugin invocation is called again with the value the user entered (prefixed by the text “MIMIC_TEXT=”). NOTE: Any function that is to be invoked by this action must return a string value (returning “” is acceptable) when supplied with a parameter of “MIMIC_QUERY” and must also be able to accept the result of the user input as a string prefixed by “MIMIC_TEXT=”. The “MIMIC_TEXT=” portion of the string should be eliminated prior to acting upon the user input. For more information regarding the use of this action, refer to the section of this user manual entitled “Plugin Invocations”. |
||
InvokePluginAfterAllPopups |
This action invokes the functionality of a plugin when all PopupTemplates in the PopupTemplate Queue have been dealt with by the user. This is most useful when you are using a series of PopupTemplates to prompt the user for configuration information and want to do something meaningful at the end of the configuration. |
||
AcceptInput |
This action type is used to programmatically accept the current user input entered into the text entry field of the currently displayed PopupTemplate. This is useful when creating OK/Cancel buttons in your PopupTemplates. |
||
CancelInput |
This action type is used to programmatically reject the current user input entered into the text entry field of the currently displayed PopupTemplate. This is useful when creating OK/Cancel buttons in your PopupTemplates. |
||
ExecuteNormal |
This action type is used to start another application. The <ActionData> attribute should contain the complete path to the application to launch, and the <ActionDataParameters> attribute should contain the command line arguments you wish to pass to the application. The current directory will not change when the application is launched if you use this action. If you want to launch an application and change the current directory at the same time, use the “Execute*ChangeCWD” variants of this action type. |
||
ExecuteMinimized |
This action type is used to start another application. Unlike the ExecuteNormal action type, this action type will start the application already minimized. The <ActionData> attribute should contain the complete path to the application to launch, and the <ActionDataParameters> attribute should contain the command line arguments you wish to pass to the application. The current directory will not change when the application is launched if you use this action. If you want to launch an application and change the current directory at the same time, use the “Execute*ChangeCWD” variants of this action type. |
||
ExecuteHidden |
This action type is used to start another application. Unlike the ExecuteNormal action type, this action type will start the application hidden (meaning that the user cannot see it in the taskbar). The <ActionData> attribute should contain the complete path to the application to launch, and the <ActionDataParameters> attribute should contain the command line arguments you wish to pass to the application. The current directory will not change when the application is launched if you use this action. If you want to launch an application and change the current directory at the same time, use the “Execute*ChangeCWD” variants of this action type. |
||
ExecuteNormalWithoutFocus |
This action type is used to start another application. This action type functions exactly like the ExecuteNormal action type, with the sole difference being that the newly started application will not appear in the foreground. The <ActionData> attribute should contain the complete path to the application to launch, and the <ActionDataParameters> attribute should contain the command line arguments you wish to pass to the application. The current directory will not change when the application is launched if you use this action. If you want to launch an application and change the current directory at the same time, use the “Execute*ChangeCWD” variants of this action type. |
||
ExecuteMinimizedWithoutFocus |
This action type is used to start another application. This action type functions exactly like the ExecuteMinimized action type, with the sole difference being that the newly started application will not appear in the foreground. The <ActionData> attribute should contain the complete path to the application to launch, and the <ActionDataParameters> attribute should contain the command line arguments you wish to pass to the application. The current directory will not change when the application is launched if you use this action. If you want to launch an application and change the current directory at the same time, use the “Execute*ChangeCWD” variants of this action type. |
||
ExecuteNormalChangeCWD |
This action type is used to start another application. The <ActionData> attribute should contain the complete path to the application to launch, and the <ActionDataParameters> attribute should contain the command line arguments you wish to pass to the application. Prior to starting the application, the uiMimic Interface Architect will change the current directory to the directory that contains the application. |
||
ExecuteMinimizedChangeCWD |
This action type is used to start another application. Unlike the ExecuteNormal action type, this action type will start the application already minimized. The <ActionData> attribute should contain the complete path to the application to launch, and the <ActionDataParameters> attribute should contain the command line arguments you wish to pass to the application. Prior to starting the application, the uiMimic Interface Architect will change the current directory to the directory that contains the application. |
||
ExecuteHiddenChangeCWD |
This action type is used to start another application. Unlike the ExecuteNormal action type, this action type will start the application hidden (meaning that the user cannot see it in the taskbar). The <ActionData> attribute should contain the complete path to the application to launch, and the <ActionDataParameters> attribute should contain the command line arguments you wish to pass to the application. Prior to starting the application, the uiMimic Interface Architect will change the current directory to the directory that contains the application. |
||
ExecuteNormalWithoutFocusChangeCWD |
This action type is used to start another application. This action type functions exactly like the ExecuteNormal action type, with the sole difference being that the newly started application will not appear in the foreground. The <ActionData> attribute should contain the complete path to the application to launch, and the <ActionDataParameters> attribute should contain the command line arguments you wish to pass to the application. Prior to starting the application, the uiMimic Interface Architect will change the current directory to the directory that contains the application. |
||
ExecuteMinimizedWithoutFocusChangeCWD |
This action type is used to start another application. This action type functions exactly like the ExecuteMinimized action type, with the sole difference being that the newly started application will not appear in the foreground. The <ActionData> attribute should contain the complete path to the application to launch, and the <ActionDataParameters> attribute should contain the command line arguments you wish to pass to the application. Prior to starting the application, the uiMimic Interface Architect will change the current directory to the directory that contains the application. |
||
Evaluate_Tokens |
This action type, only available to plugins, is used to determine the value of a token. This is a very useful way in which to acquire information from the uiMimic Interace Architect. For a complete list of tokens which may be used with this action type, refer to the “Plugin Invocations” section of this document. |
||
Record_Message |
This action type, only available to plugins, will record a message, but not show it on the full message center display. This is used to display "live" informational messages to the user. There is no guarantee that the user will see the message. |
||
Record_Significant_Message |
This action type, only available to plugins, will record a message both a a “live” informational message AND as a message entry in the full message center display. This should only be used for messages that the user is expected to not want to miss. |
||
Send_Plugin_Event |
This action type, only available to plugins, will send an event from one plugin to another. The format of the event is: “<target>.<eventname>.<eventdata>” The event cannot contain “.” characters other than those shown above. |
||
Broadcast_Plugin_Event |
This action type, only available to plugins, will send an event from one plugin to all other plugins that are capable of receiving and processing events. The format of the event is: “<eventname>.<eventdata>” The event cannot contain “.” characters other than those shown above. |
||
Get_Metadata |
This allows you to set a textual metadata field in a media file. |
||
Set_Metadata |
This allows you to retrieve a textual metadata field from a media file. |
||
Get_Formatted_Metadata |
This allows you to request a formatted metadata string from a media file. |
||
Fade |
This action type will fade in an animation (if it is not visible) or fade out an animation (if it is visible). The <ActionData> attribute should contain the InternalID of the animation, and the <ActionDataParameters> attribute should be left empty. |
||
MessageBox |
This action type will display a message. The <ActionData> attribute should contain the message to show, and the <ActionDataParameters> attribute should be left empty. |
||
FatalPluginError |
This action type will write a message to the the uiMimic Interface Architect log indicating that a plugin has encountered a fatal error and cannot continue operation. The <ActionData> attribute should be set to the name of the plugin, and the <ActionDataParameters> attribute should be set to the text of the message. |
||
FatalPluginErrorTerminateAll |
This action type will write a message to the the uiMimic Interface Architect log indicating that a plugin has encountered a fatal error and cannot continue operation. The <ActionData> attribute should be set to the name of the plugin, and the <ActionDataParameters> attribute should be set to the text of the message. Unlike Fatal_Plugin_Error, this action type will cause the uiMimic Interface Architect to terminate. The error message will be displayed to the user prior to termination. |
||
FatalPluginErrorConfigureAndTerminateAll |
This action type will write a message to the the uiMimic Interface Architect log indicating that a plugin has encountered a fatal error and cannot continue operation. The <ActionData> attribute should be set to the name of the plugin, and the <ActionDataParameters> attribute should be set to the text of the message. Unlike Fatal_Plugin_Error, this action type will cause the uiMimic Interface Architect to terminate. The error message will be displayed to the user prior to termination. Unlike Fatal_Plugin_Error_Terminate_All, this action will ALSO raise the “Configure” event and then wait for user input to complete on all open PopupTemplates prior to termination. |
||
MediaList |
This action type is used to control a MediaList element. It is used to both to navigate within the MediaList element programmatically and to control the datasource of the MediaList element. |
||
Sub-Action |
Description |
||
LineUp |
To move the highlight bar up one line within the MediaList, set the <ActionData> to “LineUp”. |
||
LineDown |
To move the highlight bar down one line within the MediaList, set the <ActionData> to “LineDown”. |
||
PageUp |
To move the highlight bar up one page within the MediaList, set the <ActionData> to “PageUp”. |
||
PageDown |
To move the highlight bar down one page within the MediaList, set the <ActionData> to “PageDown”. |
||
Top |
To move the highlight bar to the top of the MediaList, set the <ActionData> to “Top”. |
||
Bottom |
To move the highlight bar to the bottom of the MediaList, set the <ActionData> to “Bottom”. |
||
Select |
To cause the currently highlighted item within the MediaList to be selected, set the <ActionData> to “Select”. |
||
Back |
To retreat to the previous layer of the MediaList, set the <ActionData> to “Back”. |
||
ShowPrimaryDataSource |
To cause the MediaList to refresh its data, using its primary data source, set the <ActionData> to “ShowPrimaryDataSource”. |
||
ShowSecondaryDataSource |
To cause the MediaList to refresh its data, using its secondary data source, set the <ActionData> to “ShowSecondaryDataSource”. |
||
|
|||
MediaControl |
This action type is used to access the multitude of multimedia functions available within the uiMimic Interface Architect. It is used to control all aspects of the built-in music player and the built-in picture viewer. |
||
Sub-Action |
Description |
||
Play |
To start playback, set the <ActionData> to “Play”. The <ActionDataParameters> should be left empty. |
||
Pause |
To pause playback, set the <ActionData> to “Pause”. The <ActionDataParameters> should be left empty. |
||
PlayPause |
To toggle between playback and pause depending on the current state, set the <ActionData> to “PlayPause”. The <ActionDataParameters> should be left empty. If the current state is neither playing nor paused, the queue will be restarted from the first track. |
||
Stop |
To stop playback, set the <ActionData> to “Stop”. The <ActionDataParameters> should be left empty. |
||
Mute |
To mute playback, set the <ActionData> to “Mute”. The <ActionDataParameters> should be left empty. |
||
NextTrack |
To jump to the next track in the playlist, set the <ActionData> to “NextTrack”. The <ActionDataParameters> should be left empty. |
||
PreviousTrack |
To jump to the previous track in the playlist, set the <ActionData> to “PreviousTrack”. The <ActionDataParameters> should be left empty. |
||
Shuffle |
To shuffle the playlist randomly, set the <ActionData> to “Shuffle”. The <ActionDataParameters> should be left empty. |
||
Queue |
To add to the playlist the item currently highlighted on the screen's medialist, set the <ActionData> to “Queue”. The <ActionDataParameters> should be left empty. |
||
QueueAll |
To add to the playlist all the items currently shown on the screen's medialist, set the <ActionData> to “QueueAll”. The <ActionDataParameters> should be left empty. |
||
PlayQueue |
To start playback of the entire playlist, set the <ActionData> to “PlayQueue”. The <ActionDataParameters> should be left empty. |
||
RestartQueue |
To restart playback of the entire playlist, set the <ActionData> to “RestartQueue”. The <ActionDataParameters> should be left empty. |
||
ClearQueue |
To clear the current playlist, set the <ActionData> to “ClearQueue”. The <ActionDataParameters> should be left empty. |
||
Fullscreen |
To change to fullscreen visualization mode, set the <ActionData> to “Fullscreen”. The <ActionDataParameters> should be left empty. |
||
Show |
To show the item currently highlighted on the screen's medialist, set the <ActionData> to “Show”. The <ActionDataParameters> should be left empty. |
||
QueueSlide |
To add the item currently highlighted on the screen's medialist to the current slideshow, set the <ActionData> to “QueueSlide”. The <ActionDataParameters> should be left empty. |
||
ViewSlideshow |
To view the current slideshow, set the <ActionData> to “ViewSlideshow”. The <ActionDataParameters> should be left empty. |
||
ClearSlideshow |
To clear the current slideshow, set the <ActionData> to “ClearSlideshow”. The <ActionDataParameters> should be left empty. |
||
RememberPlaylistPosition |
To remember the title (URL) of the playlist item currently being played for later retrieval, use this action. |
||
RestorePlaylistPosition |
To set the current playlist item to the remembered playlist position (by URL), use this action. |
||
|
|||
RefreshMediaList |
This action type is used to manually trigger a refresh for a MediaList element. The <ActionData> attribute should be set to the <InternalID> of the MediaList element to refresh. |
||
RefreshMediaPreview |
This action type is used to manually trigger a refresh for a MediaPreview element. The <ActionData> attribute should be set to the <InternalID> of the MediaPreview element to refresh. |
||
SetAnimationState |
This action type is used to manually set the visibility of an Animation element. The <ActionData> attribute should be set to the <InternalID> of the Animation element whose state is to be changed, and the <ActionDataParameters> attribute should be set to “TRUE” or “FALSE”, indicating whether or not the Animation should be visible. |
||
SetDecorationState |
This action type is used to manually set the visibility of a Decoration element. The <ActionData> attribute should be set to the <InternalID> of the Decoration element whose state is to be changed, and the <ActionDataParameters> attribute should be set to “TRUE” or “FALSE”, indicating whether or not the Decoration should be visible. |
||
SetMediaPreviewState |
This action type is used to manually set the visibility of a MediaPreview element. The <ActionData> attribute should be set to the <InternalID> of the MediaPreview element whose state is to be changed, and the <ActionDataParameters> attribute should be set to “TRUE” or “FALSE”, indicating whether or not the MediaPreview should be visible. |
||
SetLabelState |
This action type is used to manually set the value of a Label element. The <ActionData> attribute should be set to the <InternalID> of the Label element whose value is to be changed, and the <ActionDataParameters> attribute should be set to the desired value. The new label text may contain references to Variable elements – they will be automatically evaluated and set to their correct values. |
||
RaiseEvent |
This action type is used to raise an event. The primary reason for using this action type is to allow more than one action to occur based on a single user action (which is made possible by creating more than one event element with the same “Name” attribute; they will be executed in order). NOTE: Events are also commonly raised by plugins. This is the primary method by which a plugin may affect the screen (update screen elements, trigger actions, etc.) |
||
ChangeMonitor |
This action type is used to switch from the current monitor to the next monitor known to the operating system. This action type allows the uiMimic Interface Architect to be more effectively used on multi-monitor systems. |
||
ProcessKeys |
This action type is used to simulate the pressing of the key specified in the <ActionData> attribute. The <ActionDataParam> attribute should be set to TRUE to denote that the shift key should be depressed as part of the key simulation, or FALSE to denote that the shift key should not be depressed as part of the key simulation. For a list of valid values for the “ActionDataParam” attribute, refer to: |
||
StartFilesystemMonitor |
This action type is used to start monitoring the filesystem for changes. There are many configuration options available to determine the scope and type of the filesystem monitoring. |
||
StopFilesystemMonitor |
This action type is used to stop monitoring the filesystem for changes. |
||
SetFilesystemMonitorPath |
This action type is used to determine which path within the filesystem to monitor for changes. |
||
SetFilesystemMonitorFilenameFilter |
This action type is used to determine which files (within the path being monitored) to monitor for changes. This may be set to “ALL”, an explicit filename, or a wild-card (such as *.txt). |
||
SetFilesystemMonitorIncludeChildren |
This action type is used to activate monitoring of sub-directories of the path being monitored. |
||
SetFilesystemMonitorExcludeChildren |
This action type is used to deactivate monitoring of sub-directories of the path being monitored. |
||
ResetFilesystemMonitorChangeTypeFilter |
This action type is used to reset the change type filter which is used to determine what types of changes the filesystem monitor will watch for. |
||
SetFilesystemMonitorChangeTypeFilterAttributes |
This action type is used to activate file attribute change monitoring. |
||
SetFilesystemMonitorChangeTypeFilterCreationTime |
This action type is used to activate file creation time change monitoring. |
||
SetFilesystemMonitorChangeTypeFilterDirectoryName |
This action type is used to activate folder size change monitoring. |
||
SetFilesystemMonitorChangeTypeFilterFilename |
This action type is used to activate filename change monitoring. |
||
SetFilesystemMonitorChangeTypeFilterLastAccess |
This action type is used to activate last access time monitoring. |
||
SetFilesystemMonitorChangeTypeFilterLastWrite |
This action type is used to activate last write time change monitoring. |
||
SetFilesystemMonitorChangeTypeFilterSecurity |
This action type is used to activate security permissions change monitoring. |
||
SetFilesystemMonitorChangeTypeFilterSize |
This action type is used to activate file size change monitoring. |
||
SetStandardDialogOptionBackgroundColor SetStandardDialogOptionLabelForegroundColor SetStandardDialogOptionLabelBackgroundColor SetStandardDialogOptionListBackgroundColor SetStandardDialogOptionListForegroundColor SetStandardDialogOptionButtonBackgroundColor SetStandardDialogOptionButtonForegroundColor SetStandardDialogOptionCalendarForegroundColor SetStandardDialogOptionCalendarMonthBackgroundColor SetStandardDialogOptionCalendarTitleBackgroundColor SetStandardDialogOptionCalendarTitleForegroundColor SetStandardDialogOptionCalendarTrailingForegroundColor |
These action types are used to set the colors used by the standard user input dialog windows. To use these actions, set the color of the desired element by setting ActionData to a valid value (ie: White) from the following site: |
||
ShowMessageWindowDialog |
This action type is used to invoke the standard message window dialog to show the user a message. The “ActionData” attribute should be set to the message that the user will be shown. |
||
ShowTextEntryDialog1 ShowTextEntryDialog2 ShowTextEntryDialog3 ShowTextEntryDialog4 ShowTextEntryDialog5 ShowTextEntryDialog6 |
This action type is used to invoke the standard message window dialog to ask the user to enter some text. The “ActionData” attribute should be set to the prompt that the user will be shown, and the “ActionDataParam” attribute should be set to the default value. The results of these standard dialogs are stored in the variables %DIALOGRESULT_TEXT1% - %DIALOGRESULT_TEXT6%. |
||
ShowListEntryDialog1 ShowListEntryDialog2 ShowListEntryDialog3 ShowListEntryDialog4 ShowListEntryDialog5 ShowListEntryDialog6 |
This action type is used to invoke the standard message window dialog to ask the user to select an item from a list of items. The “ActionData” attribute should be set to the prompt that the user will be shown, and the “ActionDataParam” attribute should be set to list of items which the user is expected to choose from (separated by the “;” character).. The results of these standard dialogs are stored in the variables %DIALOGRESULT_LIST1% - %DIALOGRESULT_LIST6%. |
||
ShowDateTimeEntryDialog1 ShowDateTimeEntryDialog2 ShowDateTimeEntryDialog3 ShowDateTimeEntryDialog4 ShowDateTimeEntryDialog5 ShowDateTimeEntryDialog6 |
This action type is used to invoke the standard message window dialog to ask the user to select a date using a calendar control. The “ActionData” attribute should be set to the prompt that the user will be shown, and the “ActionDataParam” attribute should be set to the default value. NOTE: If you want to specify a specific date/time format to be used on this display, you can do so by setting the “ActionType” attribute to (for example) “ShowDateTimeEntryDialog1 dddd – d – MMMM”. The results of these standard dialogs are stored in the variables %DIALOGRESULT_DATETIME1% - %DIALOGRESULT_DATETIME6%. |
Plugin Invocations
There are two ways in which plugin functions can be invoked.
Method #1: The <ActionType>, <ActionData> & <ActionDataParameters> Construct
The first method (which may be used with any element containing an <ActionType>, <ActionData>, and <ActionDataParameters> group of attributes) will invoke a plugin function that will either accept no parameters (if the <ActionData> attribute is empty) or one parameter (if the <ActionData> is not empty).
It is important to note that the uiMimic Interface Architect will enforce its expectation – if you attempt to invoke a plugin function that requires a parameter, but do not supply the parameter, the plugin function will not be invoked. Inversely, if you attempt to invoke a plugin function that does not require a parameter, but do supply a parameter, the plugin function will not be invoked.
The return value of the invoked plugin function (if any) is discarded.
To invoke a function in this manner, use the following syntax: ActionType = “InvokePlugin” ActionData = “<Plugin>.<Function>” ActionDataParameters = “ParameterString” |
The ParameterString can be a text value of any length. The ParameterString may also contain one or more tokens that will be replaced with an appropriate value prior to the invocation. For more information on token, refer to the section of this document entitled “Tokens”.
Method #2: The In-Line Construct
The second method, which may be used with any element containing a <DataSource>, <DataSourceRenderr>, <NotifyOnInitialize>, <NotifyOnClick>, or <NotifyOnSelect> attribute, will invoke a plugin function whose parameters are dependent upon the circumstances of the invocation (and will be supplied automatically).
|
To invoke a function in this manner, use the following syntax:
<Plugin>.<Function>
An example plugin invocation might be:
<DataSource>System Monitor.DrawGraph</DataSource> |
Token Replacement
When using the “<ActionType>, <ActionData> & <ActionDataParam” construct to invoke a plugin function OR when using the “EVALUATE_TOKENS” action, you may use one or more of the following tokens in the “<ActionDataParam>” attribute. All of the tokens used in the <ActionDataParam> attribute will be replaced with appropriate values, as described below:
Token |
Description |
---|---|
%MIMIC_APPLICATIONTITLE% |
The application title as defined by the current screen. |
%MIMIC_CURRENTSCREENNAME% |
The screen name, as defined by the current screen. |
%MIMIC_PARENTSCREENNAME% |
The name of the screen that will be opened when the current screen closes, or “DYNAMIC” (meaning that the screen that called the current screen will be opened). |
%MIMIC_DATEFORMAT% |
The date format defined by the current screen. For information on date/time formats, refer to:
|
%MIMIC_TIMEFORMAT% |
The time format defined by the current screen. For information on date/time formats, refer to:
|
%MIMIC_FULLDATETIMEFORMAT% |
The full date/time format defined by the current display. For information on date/time formats, refer to:
|
%MIMIC_CURRENTMEDIALISTCOUNT% |
The total number of items in the MediaList. |
%MIMIC_CURRENTPLAYLISTCOUNT% |
The total number of items in the playlist. |
%MIMIC_CURRENTSLIDESHOWCOUNT% |
The total number of items in the slideshow. |
%MIMIC_CURRENTMEDIALISTPATH% |
The path currently being displayed by the MediaList (if applicable). |
%MIMIC_CURRENTMEDIALISTLEVEL% |
The name (without a path) of the directory currently being shown by MediaList. |
%MIMIC_CURRENTMEDIALISTSELECTIONINDEX% |
The numeric index of the currently selected MediaList item. |
%MIMIC_CURRENTMEDIALISTSELECTION% |
The textual name of the currently selected MediaList item. |
%MIMIC_ACTIVEPLUGINLIST% |
A ";" separated list of currently active plugins. |
%MIMIC_ACTIVEEVENTHANDLINGPLUGINLIST% |
A ";" separated list of currently active plugins that are capable of receiving and processing events. |
%DATE_CURRENTDATE% |
The current date, in the format defined by the %MIMIC_DATEFORMAT% token. For information on date/time formats, refer to:
|
%DATE_CURRENTTIME% |
The current time, in the format defined by the %MIMIC_TIMEFORMAT% token. For information on date/time formats, refer to:
|
%DATE_CURRENTDATETIME% |
The current date and time, in the format defined by the %MIMIC_FULLDATETIMEFORMAT% token. For information on date/time formats, refer to:
|
%DATE_CURRENTYEAR% |
The current year, using the "yyyy" format. For example, “2005”. |
%DATE_CURRENTMONTH% |
The current month, using the "MMMM" format. For example, “January”. |
%DATE_CURRENTDAYOFMONTH% |
The current day of the month, using the "dd" format. For example, “01” or “22”. |
%DATE_CURRENTDAYOFWEEK% |
The current day of the week, using the "dddd" format. For example, “Thursday”. |
%ENV_CURRENTUSER% |
The name of the current user logged-in (to the operating system). |
%ENV_CURRENTUSERDOMAIN% |
The name of the domain to which the current user logged-in to the operating system belongs. |
%ENV_MACHINENAME% |
The name of the computer on which the uiMimic Interface Architect is running. |
%ENV_OSVERSION% |
The version of the operating system on which the uiMimic Interface Architect is running. |
%ENV_APPLICATIONDATAFOLDER% |
The location of the "application data" special folder for the current user logged-in (to the operating system). |
%ENV_COMMONAPPLICATIONDATAFOLDER% |
The location of the "common application data" special folder for the current user logged-in (to the operating system). |
%ENV_COMMONPROGRAMFILESFOLDER% |
The location of the "common program files" special folder for the current user logged-in (to the operating system). |
%ENV_COOKIESFOLDER% |
The location of the "cookies" special folder for the current user logged-in (to the operating system). |
%ENV_DESKTOPFOLDER% |
The location of the "desktop" special folder for the current user logged-in (to the operating system). |
%ENV_FAVORITESFOLDER% |
The location of the "favorites" special folder for the current user logged-in (to the operating system). |
%ENV_HISTORYFOLDER% |
The location of the "history" special folder for the current user logged-in (to the operating system). |
%ENV_INTERNETCACHEFOLDER% |
The location of the "internet cache" special folder for the current user logged-in (to the operating system). |
%ENV_LOCALAPPLICATIONDATAFOLDER% |
The location of the "local application data" special folder for the current user logged-in (to the operating system). |
%ENV_MYCOMPUTERFOLDER% |
The location of the "my computer" special folder for the current user logged-in (to the operating system). |
%ENV_MYMUSICFOLDER% |
The location of the "my music" special folder for the current user logged-in (to the operating system). |
%ENV_MYPICTURESFOLDER% |
The location of the "my pictures" special folder for the current user logged-in (to the operating system). |
%ENV_PERSONALFOLDER% |
The location of the "personal" special folder for the current user logged-in (to the operating system). |
%ENV_PROGRAMSFOLDER% |
The location of the "programs" special folder for the current user logged-in (to the operating system). |
%ENV_PROGRAMFILESFOLDER% |
The location of the "program files" special folder for the current user logged-in (to the operating system). |
%ENV_RECENTFOLDER% |
The location of the "recent" special folder for the current user logged-in (to the operating system). |
%ENV_SENDTOFOLDER% |
The location of the "send to" special folder for the current user logged-in (to the operating system). |
%ENV_STARTMENUFOLDER% |
The location of the "start menu" special folder for the current user logged-in (to the operating system). |
%ENV_STARTUPFOLDER% |
The location of the "startup" special folder for the current user logged-in (to the operating system). |
%ENV_SYSTEMFOLDER% |
The location of the "system" special folder for the current user logged-in (to the operating system). |
%ENV_TEMPLATESFOLDER% |
The location of the "templates" special folder for the current user logged-in (to the operating system). |
%ENV_CURRENTDIRECTORY% |
The current directory (this is specific to the uiMimic Architect core; it is not a system-wide current directory). |
%MEDIA_FILENAME% |
The filename of the currently playing media. |
%MEDIA_PLAYLIST% |
The entire content of the current playlist, separate by “;” characters. |
%MEDIA_SLIDESHOW% |
The entire content of the current slideshow, separated by “;” characters. |
%MEDIA_LASTPLAYLISTLOADED% |
The friendly name (no extension, standard sentence case) of the last playlist loaded. |
%MEDIA_LASTPLAYLISTLOADEDFILENAME% |
The filename of the last playlist loaded. |
%MEDIA_LASTSLIDESHOWLOADED% |
The friendly name (no extension, standard sentence case) of the last slideshow loaded. |
%MEDIA_LASTSLIDESHOWLOADEDFILENAME% |
The filename of the last slideshow loaded. |
%MEDIA_DURATION_FMT% |
The duration of the currently playing media in the format “mm:ss”. |
%MEDIA_POSITION_FMT |
The current position within the currently playing media in the format “mm:ss”. |
%MEDIA_DURATION_RAW% |
The duration of the currently playing media in seconds. |
%MEDIA_POSITION_RAW% |
The current position within the currently playing media in seconds. |
%MEDIA_PLAYERSTATE% |
The current state of the media player. |
%MEDIA_ARTIST% |
The artist of the current media, or "~". |
%MEDIA_TITLE% |
The title of the current media, or "~". |
%MEDIA_ALBUM% |
The album of the current media, or "~". |
%MEDIA_BITRATE% |
The bitrate of the current media, or "~". |
%MEDIA_TRACKNUMBER% |
The tracknumber of the current media, or "~". |
DIALOGRESULT_TEXT1 DIALOGRESULT_TEXT2 DIALOGRESULT_TEXT3 DIALOGRESULT_TEXT4 DIALOGRESULT_TEXT5 DIALOGRESULT_TEXT6 |
The result of the specified standard text entry dialog window. |
DIALOGRESULT_DATETIME1 DIALOGRESULT_DATETIME2 DIALOGRESULT_DATETIME3 DIALOGRESULT_DATETIME4 DIALOGRESULT_DATETIME5 DIALOGRESULT_DATETIME6 |
The result of the specified standard date/time entry dialog window. |
DIALOGRESULT_LIST1 DIALOGRESULT_LIST2 DIALOGRESULT_LIST3 DIALOGRESULT_LIST4 DIALOGRESULT_LIST5 DIALOGRESULT_LIST6 |
The result of the specified standard list selection dialog window. |
9. Further Information
In addition to the information contained in this user manual, there is also additional information regarding development of plugins for the uiMimic Interface Architect at http://uimimic.sourceforge.net.
There is also a sample plugin available illustrating the concepts discussed within this user manual.