Premise Best way to "trick" mSense

Motorola Premise

jimre

Member
Ok, mSense is cool - but the "pick your target media first" paradigm doesn't always work. I have two primary types of "whole house" audio, connected to inputs on a matrix switch:

1) iTunes running on PC, using Apple Remote on iPhone to pick songs & control transport.
2) Monitoring microphones in kids' bedroom & playroom.

The mSense paradigm isn't well-suited to these cases, but I still want to use it to automatically switch inputs & automatically generate UI for all rooms via MediaZones (esp in minibrowser). Would prefer not to resort to custom UI buttons & explicit commands. So what's the best way to "trick" mSense into working?

I tried setting these audio sources up as (fake) radio stations, assigned to two different (fake) tuner devices on different inputs - but I couldn't get mSense to switch properly. It would either say "no devices available to play this media" or else appear to be playing, but without actually changing the matrix switch input. Note - mSense switches things properly if I use it to play MP3 files on the server computer, so I know the matrix switch & driver are working.

Is there a better approach? Or have I missed something in setting up my (fake) tuner devices - like not fully implementing powerstatus, preset commands, etc. ? Thanks for any suggestions!
 
Must be some built-in behavior of the "radio tuner" class for custom devices. mSense doesn't seem to pay attention to which station is assigned to which tuner.
  • I create two Custom Devices, choosing Radio Tuner as the type, named TUNER1 and TUNER2.
  • I create two radio stations, and assign Station1 to a TUNER1 preset, and Station2 to a TUNER2 preset.
  • TUNER1 and TUNER2 are connected to different inputs on my matrix switch, whose output zones are connected to my MediaZones.
I thought if I played Station1, the MediaZone would switch to TUNER1's input. If I played Station2, it should switch to TUNER2's input. It switches to the new radio station, but doesn't switch the input. It always stays on the first Radio Tuner device - as if it's assuming any tuner can play any station.

If I change one of these "fake" radio stations to some different type of fake media object - say a CD track in a disc carousel - then mSense switches inputs just as expected.

Anyway, I may try to do this with custom UI buttons & input-switching macros instead. I originally thought custom buttons wouldn't be rendered in minibrowser - but I was wrong. They do show up right under the header, so this may work after all.
 
I'm not exactly sure what it is you're trying to accomplish - can you put up a diagram, screenshot or something?
 
Jim - I think you may be approaching this all wrong. At least the way I see it :)

I use iTunes currently (although I am beginning to hate it), but only to import my music and send stuff to my iPhone. Premise deals with everything else. I had to add some codecs and such to Windows to get it to play m4a files since I wanted lossless. If you use mp3's then it won't matter.

But I just import my iTunes directory into Premise, add the .m4a extension and Premise finds it all. I have 4 sound card outputs available to mSense plugged into a matrix switch and it works pretty flawlessly.

As for the microphones, I'd need to know a bit more about that setup.
 
I should add that I had to be sure to NOT let iTunes manage my folders and I had to organize my music in a Premise logical way. Fortunately, it's also a Sam logical way...
 
Thanks, yes the iTunes program itself is a bit of a mess, but the Apple Remote app for iPhone and iPad is killer. Premise's built-in media playing UI is ok - but doesn't hold a candle to the slick Apple Remote app. So that's one of my goals - just use Premise to control volume & the matrix-switch input for each room (hopefully using Premise/minibrowser/iPhone UI) - but then switch apps to Apple Remote to actually select & play music content. In this scenario the PC running iTunes (not the Premise machine) is just a dumb "server" in my basement with audio outputs connected to a matrix switch input.

My only other whole-house audio sources that get much use are monitored sound from microphones in kids' rooms, which doesn't require any selection or transport controls. All audio sources are connected to inputs on an audio matrix switch; each room has amp/speakers connected to a matrix switch output zone.

Basically all I want Premise to control, for each room's Mediazone, is source-select (ITUNES, KIDS1, KIDS2) and volume. Initially I thought I would just create Media Shortcuts (ITUNES, KIDS1, KIDS2) in each Mediazone, and boom - mSense would automatically switch everything for me. But what type of "media" should these sources be? There are just 5 built-in types (Internet URL, Hard disk directory, Disc carousel, TV Station, and Radio Station) - which would I pick? I thought that Radio Station might be best suited - but as I found out, mSense doesn't want to switch inputs between tuners, even though I've assigned different "stations" to different tuner devices.

Afer playing with this some more, I think the best thing is to use custom UI buttons in each Mediazone and commands to explicitly switch the matrix inputs. I initially dismissed this approach because I thought the custom UI buttons wouldn't render in Minibrowser (while Media Shortcuts would) - but that's not the case. They do seem to show up, just fine.

Thanks for the suggestions.
 
Actually I think you'd be better off using a CD player as your input type. That would assume some sort of outside control of the content.
 
Actually I think you'd be better off using a CD player as your input type. That would assume some sort of outside control of the content.
I tried that - but there's no way to associate a CD player with a particular piece of media. In order to get a Media Shortcut to appear in my Mediazone in MiniBrowser, it seems I'd need to use a CD Changer, and create a "fake" Disc Carousel/Disc/Track media object to play. I tried it - with even less success than the Radio Tuner. It always just said "There are no devices free to play this media". Maybe I'd have to also fake the correct "state" of the fake CD Changer - eg, power on, disc loaded, then press the Play button, etc? If so, that seems like way too much "fakery".

Instead of Media Shortcuts - I also considered creating a CD player or other device directly in the Mediabrowser zone (but still linking it's output to the matrix switcher input). That works in Automation Browser - you see the CD Player icon, can click on it to switch input, see its transport controls etc. But again, none of this appears in Minibrowser.

And another reason to maybe just forget about mSense for this: the whole "Group" thing. I want each room to be able to switch its input independently, regardless of whether the same thing is already playing somewhere else. Don't want to have to join a Group, don't want multiple zones to switch inputs together, etc. I don't even think the "Group" UI exists in Minibrowser, anyway.

The more I play with this, the more I like 3 simple buttons in each MediaZone - one for each source, with a macro or code to switch inputs on the matrix-switch. Of course that may also mean more code to display currently-selected source (which mSense would do automatically).
 
I might have to double check all this, but I believe the way I got "mSense" to actually allow me to select something like an CD Player as an input rather than local music files was to do this:

o Make sure all the actual devices (including the CD Player) under Devices are represented and configured/connected properly
o Under Home, in whatever Media Zones that I wished to be able to select the CD Player, add a CD Player under the Media Zone and bind it to the CD Player that is under Devices. This causes the CD Player to appear in the browser when you visit that media zone.
o Go to that Mediz Zone in the browser and click the CD Player and msense will flip all the necessary switchers, etc. and connect the CD Player to that media zone.

I may have missed a step here somewhere. Also, I recall being a little dissatisfied with some parts of the overall experience here and I started to try hacking a few things up to make it a tiny bit better. But I did get it to work. It would even power some devices on if they were off.

If the above steps don't get you there let me know and I can try to make time to dig further into what I did. I did it just as an experiement and shelved it a while back since I was too busy with my real job. I haven't integrated it into my real SYS system.
 
Thanks, Frank - that's how I did it, and it does work fine in Automation Browser. But in my case, I'm trying to use Minibrowser on my iPhone/iPad, not Automation Browser. These additional Mediazone device icons - like CD Player - unfortunately don't show up in Minibrowser. To select Mediazone sources in Minibrowser, it appears my choices are either Custom UI buttons or Media Shortcuts. And as this thread shows, I was unable to get Media Shortcuts to work for this purpose.
 
I know this is a little late, but Chuck and 123 both have improved drivers posted under downloads that I think do what you are trying to do. I don't use minibrowser regularly, so I'm not sure though.

If the msense stuff doesn't show the media zone sources, as you state, I would define media buttons such as play ipod or listen to kids. I know for sure that the media buttons show up under minibrowser. Another option would be to define ficticious media (i.e. content) that's associated with the source you want to play. Content is a disc, mp3 track, tv channel etc... I'm pretty sure content will show up under minibrowser? I think Chuck has a post with a picture of this somewhere from his iphone.

Thanks, Frank - that's how I did it, and it does work fine in Automation Browser. But in my case, I'm trying to use Minibrowser on my iPhone/iPad, not Automation Browser. These additional Mediazone device icons - like CD Player - unfortunately don't show up in Minibrowser. To select Mediazone sources in Minibrowser, it appears my choices are either Custom UI buttons or Media Shortcuts. And as this thread shows, I was unable to get Media Shortcuts to work for this purpose.
 
I know this is a little late, but Chuck and 123 both have improved drivers posted under downloads that I think do what you are trying to do. I don't use minibrowser regularly, so I'm not sure though.

If the msense stuff doesn't show the media zone sources, as you state, I would define media buttons such as play ipod or listen to kids. I know for sure that the media buttons show up under minibrowser. Another option would be to define ficticious media (i.e. content) that's associated with the source you want to play. Content is a disc, mp3 track, tv channel etc... I'm pretty sure content will show up under minibrowser? I think Chuck has a post with a picture of this somewhere from his iphone.
Thanks - which specific improved drivers did you have in mind?

I just started playing with this again after acquiring a Vaux Lattis switcher earlier this week. Custom media/UI buttons are definitely one way to attack this. I previously tried creating media shortcuts to fake content (fake disc in CD carousel, fake radio station, etc) but ran into control & availability problems with every type of "player" device I tried to create.

It seems to me the more "Premise-like" solution would be to define a proper new Class for such a player device. Let's call it "Manual Audio Player" or "External Audio Source", with the following properties:

- One Audio Output
- Bindable to matrix switcher or receiver
- No Transport or controls
- Always available to all zones and groups, no control contention
- Always plays one fixed piece of "content", may require a new content provider type

None of the existing class templates in the Custom Device wizard seem to fit the bill - and I'm not sure how to create a new one. The key part would be making it always available, to avoid "No devices available to play this media" errors.

Again, lots of scenarios where you might want to plug in a "dumb" audio device into your whole-house sound system:

- listen to manually-controlled iPod plugged into a dock connector
- monitor kids' room microphone
- listen to PC playing Pandora or other service that can't easily be controlled by Premise.
 
A custom module is the best approach I think. The only secret part is to know how to enter expert mode and make your new module. It will allow you to define your own modules. If you left click in the content area of an object under any module's "classes" folder, (i.e. in the white area below where it says the name and description of that object's children), then hold down control, shift and "a" you'll enter expert mode. Now right click on the "Modules" folder in the tree, then click New -> Module.

I think you'll have to add code that will handle availability etc... I don't think the hidden code that the custom device wizard makes for you will be there.
 
I still work on that approach from time to time...its not the mSense I don't want, but I'd like to control things from an iphone type of interface...I have built one for both the Kindle and the iphone for controlling devices in a room (TV, Stereo, etc), but it a crude rough method I would be embarrased to put up for public consumption (unlike my other contributions <sarcasm>). Custom buttons do work well for it. I also modified 123's minibrowser so that the custom buttons perform the actual function, as opposed to drilling down a layer, which led me to the rough device control.

It works, but isn't the way it could (and should be done)

I'll continue to plug away, but it's lower on my list....(let's just say I finally bought an Elk and am trying to figure it out...)
 
Back
Top