Main Lobby Suite Notes by 0y3UmzEf


Main Lobby Suite
Cinemar Main Lobby Suite Documentation
Tablet of Contents
Introduction ........................................................................................................... 2

                                                   Page 1 of 15
This is an attempt to begin documentation of the Cinemar Main Lobby Suite of
products. I will attempt to keep it as free of opinions as possible and as direct as I
am able.
The Main Lobby Suite of applications are designed to provide a user-friendly
front-end for controlling home theater, home audio, and home automation
systems. In many ways, it is capable of rivaling very expensive high-end systems
designed for the same purpose and often provides much more flexibility than
they do by nature of its open architecture for supporting many different solutions
under its friendly user interface.
The Main Lobby Suite is a user interface for controlling home theater, audio, and
automation systems and software. It is not itself any of the things. It is the “front
end” or control interface to these other systems.

                                    Page 2 of 15
Summary of Elements of Main Lobby Suite
      Main Lobby – the primary client-based application under which all user-
      facing functions are run.

      Music Lobby
      DVD Lobby
      Weather Lobby
      Web Lobby

      Music Lobby PPC (Pocket PC version)
      DVD Lobby PPC (Pocket PC version)

      Main Lobby Server – the distributed server system allowing Main Lobby
      client facing systems to call to many different functions via the Main Lobby
      Server plug-in architecture. Current Plug-Ins include (details later):

             File Open
             Scene Changing
             Window Functions
             Server Redirect

             Caller ID

             Theater Tek
             Zoom Player
             Matrix Orbital MX2
             Media Center
             Music Player

             Sony MLCX777ES DVD/CD/SACD player
             X10 Firecracker

There are additional adjunct elements which are supported by or help support a
Main Lobby Suite implementation. Some of these are third-party products; some
are offered by Cinemar. These products may or may not be desirable to include

                                  Page 3 of 15
in one’s HTPC / AVPC / HAPC environment, depending on needs and
expectations. Examples include:
       Zoom media player
       Theater Tek media player
       J. River’s Media Center media player
       Nirvis Slink-E
       Sony CD and DVD changers
       Media Storm’s Velocity Server
       Kenwood CD changers
       GuiGraphix Graphics Library
       TechTalker audio clip library
       ThinSoft’s WinConnect Server XP

The overall structure of the Main Lobby Suite when running with Main Lobby
Server runs over an IP network environment. The Suite has been tested over
VPN connectivity, though it is designed for in-premise functionality. It is possible
to run all the above applications on one machine; that is to say that while an IP
network environment is supported, it is not required, per se.
To restate the above: if a PC or Pocket PC device in a home, office, club, coffee-
shop or any other IP-connected environment can – by means of VPN or direct
connection – communicate with the Main Lobby Server(s) of a given premise, the
functions of that client device should work.

applications and products:
       Caller ID via modems
       Theater Tek
       Zoom Player
       Matrix Orbital MX2
       Media Center
       Music Player
       Sony MLCX777ES DVD/CD/SACD player
       X10 Firecracker

The following applications are supported directly, but primarily serve as indirect
solutions to control other environments.
       Girder automation software ( – automating many PC-
       based devices and just about any program that will run on a Windows-
       based PC.
       Homeseer ( – providing home automation for
       just about every aspect imaginable if you’ve got the time and energy to
       make it happen.

                                    Page 4 of 15
       Showshifter Home Media Center ( –
       providing DVR, TV, Movie, Music, and Photo solutions for home media
       Slink-E ( – providing IR, S-Link, and Control-AI/II
       connections to IR-controlled devices.

The following Commands allow direct manipulation of the PC that Main Lobby
Server is running on, thus allowing support for nearly any application or product
that can be controlled by keyboard, mouse, serial, command line, or any mix of
these and the above options:
       File Open
       Scene Changing
       Window Functions
       Server Redirect

Support on the direct support applications is fairly straight forward. If you want to
use these applications, native support is the best way to do so.
       “Caller ID via modems” is exactly west it sounds like: got a modem? Got a
       phone line with Caller ID? Plug the line in the modem and tell the Main
       Lobby Server Caller ID plug in what port the modem is in; that’s it. Now
       any Main Lobby client …..

… for Girder and others, original docs might work.

… after all the server info…

Now that you have on idea of all the capabilities of Main Lobby Sever, to connect
the Main Lobby client, you need only tell the client what IP address or name the
server is on. To do this, ….

                                    Page 5 of 15
… then main Lobby user interface docs… mostly copied from original docs. Need
to eliminate all direct command references.

… then back to the complex commands such as macro and conditional...

… then the third party products, such as Zoom, TT, Velocity, Media Center,
Slink-E, GuiGraphix, Tech Talker, Win Connect, etc.

… Need drawings …

Anyone willing and able to assist, please let me know.

                                  Page 6 of 15
Whew, I'm finally starting to get the macro command working but now it's on to
conditionals but the examples I see on the forum and the help files assume a
decent level of competance coming in. Sorry for being slow on this but could
someone please tell me what are the rules for capitalization and what are all
these special characters that I see in commands for?
## {{ :: ~ | ! :
As used in this example command:
C1::5004::MLServeCmd.Macro|MLFileOpen|subst~Z: /D~0!MLFileOpen|subst~Z:
Files\Zoom Player\zplayer.exe~/DVD
Files\Zoom Player\zplayer.exe~/DVD /PLAY

Wysocki, let me read the MLServeCmd back in english and it might make more
C1::5004::MLServeCmd.Macro|MLFileOpen|subst~Z: /D~0!MLFileOpen|subst~Z:
Files\Zoom Player\zplayer.exe~/DVD
Files\Zoom Player\zplayer.exe~/DVD /PLAY
If variable "location" is equal to "Theater", then send HTPC1 PC on port 5004 a
file open command to substitute drive Z with the path of the movie who's name
was passed by MLServer DVDLobby plugin. Then, pause 1/2 a second (to wait
for the file to be loaded on drive Z), and then open Zoomplayer in DVD mode and
Play the movie. But, if "location" is not equal to "theater", then send PC XPPro on
port 5004 the same thing.
As far as the ## and ~ and |'s go, just copy them. For each sub command, there
is a syntax. Unfortunately, the syntax's are spread around the forum, and
cinemar's website. This, at least in my mind, would be the most beneficial info to
aggregate into a doc. I have my own text document cheat sheet, but it's in my
shorthand so it would be hard for someone else to understand.

I'd benefit from a consolidated cheat sheet, too. I've been in a
programming/scripting profession for over 10 years and am having a difficult time
sorting it out myself...
Looks like:

                                   Page 7 of 15
## Separates blocks of a conditional
{{word}} Indicates a variable in a conditional (?)
! Separates MLServe Commands
| Separates arguments to MLServe Commands
~ Indicates a literal space in an argument (?)
<<word>> Indicates a variable from an MLServe plugin

I'll try to edit this post as people make corrections and additions.

Actually, I think there should be a nice, neat post stickied to the top of each forum
with every possible command, it's correct syntax and usage. Or a nice pdf file
with the same.
I really like the way the MLHomeSeer plugin help is done, but don't like the fact
that I can't print it. As I'm learning to use MLServe Commands, I find myslef
having to flip back-and-forth between different help files and forum threads when
trying to assemble commands. I've locally saved several of these threads due to
occasional internet hiccups, so I can access them whenever I need to.

                                    Page 8 of 15
The math I did on this came out so:
8 250G drives @ $150 each plus controller at $250 = $1450.
Case and power supply to hold drives and other PC parts: $200
Motherboard & 3GHz P4: $450
1G RAM: $200
Video card with SVID, DVI & VGA: $100
Two more drives for boot with mirror: $300
Audio card for multi-zone audio: $150
Total: $2850.

This machine is now running all my audio and some of my DVD video. It works
fantastic. Essentially, there is 1.7T of "storage" plus another 250G for whatever
and all is redundant.

In terms of raw DVD storage, with an average of about 6G per DVD, 1.7T gives
me about 280 movies. If I thought about that as just adding an array to an
existing system (the least possible way to consider it - though that was not what I
did), that's about $5 per disc for storage. The advantage to it is that I can watch a
movie off this machine AND stream the same movie to another system for
watching simultaneously (to many such systems, really). If this were a purpose-
built system and I added another external (small) PC to be another playback
zone, I'd be looking at more like $12 per DVD.

Contrast: I also have a CX777ES. $600 for 400 DVDs. $1.50 per movie. Down-
side is one movie at a time, per changer. As would become obvious very quickly,
the concept of trying to allow one movie to play in one zone and another off a
different changer in another zone and "lock" the various sets of movies as one
changer becomes in use gets pretty ugly.

To me it comes to cost per DVD storage and purpose for using those DVDs for
playback: $5 to $12 or $1.50 to have varied levels of playback availability.

As I said, I did both. I expect to buy another changer before I buy another 2T of
storage, but the other server is ready to go when I do get there.

                                    Page 9 of 15
The premise of my model is rather simple: assuming two possible DVD Lobby /
TheaterTek playback systems, one button (let's say the "play in the den" button)
reads exactly as the standard TT launch line would for the system that the DVD
Lobby data is on; the other button ("play in the bedroom) just does a redirect to
the MLS server in that room of the same command.

(I'm not putting my TT or Zoom commands in here because I use .ISOs and I
don't want to confuse. I'll put my examples in an attachment.)

If that doesn't make sense, I hope this helps (if it doesn't, please wipe it from your
mind and just do the above):
- The DVD Lobby client interface looks up records in the DVD Lobby database
which have a field for movie name, cover art, and such; the record also has
cooresponding fields for some variables that can be used in the DVD Lobby
client button commands.
- The commands that are sent by the built-in or added buttons on the DVD Lobby
client use the variable values from the database record that is currently being
viewed in the client.
- For this reason, a "play in the den" button can send a command using the
<<FILE>> variable on one MLServer by simply NOT sending a redirect, while a
"play in the bedroom" button can send the same command with the same
<<FILE>> variable (or a different one if you want to call across a file share, for
example), but start it with a "MLServerCmd.Redirect|BedroomHTPC" preface.

Is that making sense?

Slightly different story, if you care to read:

I'm attaching my DVD Lobby launch commands. These are NOT doing any
redirects, but they are using a single default play command in DVD Lobby and
conditionals to determine whether they should play through the DVD changer or
through the HTPC. I have separated the file location into variable
<<CUSTOM5>> so that I can use the <<FILE>> command to determine how to
play the trailer file - or not to play it if there is not one. If you're not comfortable
with the language, this may look like gibberish. If you take your time and read it
slowly, I think it starts to make sense.

                                     Page 10 of 15

Joined: 14 Feb 2004
Posts: 6

 Posted: Sat Feb 14, 2004 7:31 pm                Post subject: Idiots guide to MC10/MuL &
the choking problem!


I'm obviously pretty dense because I searched these forums up and down and
didn't understand all the guides that explained how to solve this problem...finally
a combo of smoothtlk's assistance and trial and error got me to the promised
land - so I thought I'd share for all the other idiots out there like me.

First - the problem - if you find MuLobby 'locking up' as it inexplicably fills the
playlist with all songs -- then read on.

If you keep getting a Flash message complaining about a slow on...

If you just can't get MuLobby to work at all - read on...

OK - we start this adventure in MC9 or MC10.

Right click on Media Library/Edit View Scheme
Set it up as per the smoothtlks picture here:
But - Do Not set Step 4 as shown in this picture. Make sure it's cleared. (Just
says Search).

                                            Page 11 of 15
'Below' Media Library you will see an entry 'Audio'.
Right click on it and set it thus:

Below Audio -- clear out (delete) any existing views.
Add your own. For example, to add a Artist based View copy this view:

All LEVEL 3 views must have the Populate tree checkbox selected.
You can enter as many LEVEL 3 views as you like.
I have one called 'Album' that has Album and Album Artist as view items.
I have one called 'Genre' that has Genre and Artist as view items.
I have one called Artist [Alpha] that has Artist [grouped] Artist and Album as view

The key is to Populate Tree for all such entries.

In MuLobby I set my Base View (Options/Setup) to Media Library\Audio\.
For some reason, I have found the final backslash to be required.

Now run MuLobby and choose Options/Library.
Select one of your Level 3 views (at the top in Yellow) and all works and
it works well.

Hope this helps others.

                                     Page 12 of 15


I saw your post on the nirvlist group as well. At first, I thought you were just being
lazy, as this has been discussed many times on the yahoo groups. However,
doing a few archive searches, it seems they have deleted a huge amount of
archived posts, including all those that discuss the CCF -> CDE conversion.
Seems crazy.

The posts are still there, just not searchable. I dug up the link from my post

I now have a different way to do it.

First, Prontoedit / Tonto will not reliably tell you the carrier signal. I'm guessing
that is where you problem is. There is a better program called "irtool" which can
take the learned IR from pronto edit, and spit out what you need for your CDE
file, including an accurate carrier signal. There are many versions of it on the
web, the best one I've found is downloadable from the "JP1" group on Yahoo.
That's a group of crazies that program their own cheap Radio Shack remotes
with custom configs. They also happen to be the most knowledgable group of IR
folks on the internet (better than remotecentral....), and rewrote irtool to go after
CCF learned codes for their own use.

It's an invitation only group, so I can't post a link directly to the file, but here is the

This has also been discussed here on Cinemar's site:

                                     Page 13 of 15
Note however, in this link I was still advocating Tonto, as that was before I
learned about the new irtool version.


I just went to the JP1 group to make sure irtool was still there. I found an updated
program called decodeCCF which will find the carrier frequency quickly, as well
as a lot of other goodies. I packed it, with decodir.dll, and decodeccfviewer (an
HTA file to view the resulting text file in a browser) into one file here as an
attachment. This should help you a lot.

You will still want the irtool, as it will convert the raw/learned hex into a binary
string suitable for a cde file

                                    Page 14 of 15

To top