Premise Newbie issues

Motorola Premise
I'm using a very simple arrangement (MediaZone with ComputerAudio driver) and all the UI controls, in Current Options and in the main workspace, work correctly. You might want to create a similar MediaZone just to confirm it also works for you. If it doesn't, then something, somewhere has become corrupted. If it works, then we can focus on the TXNR905.

Here are the instructions for creating a simple MediaZone. You can also see the steps in this short video.
  1. Ensure Devices > ComputerAudio driver is installed.
  2. Ensure you have a Media > Content > FileProvider with some MP3 files.
  3. Create a MediaZone.
  4. In the Properties window, find the AudioVideo Output property and select Devices > ComputerAudio > DirectSound...
  5. Right-click the MediaZone and click New > MediaShortcut and select the FileProvider containing your Mp3 files.
  6. Go to Premise Browser and confirm you can play the mp3 files.

BTW, the 'double-binding' you described is like nothing I've seen in the documentation. Chuck has a lot more experience with A/V gear ... maybe he's seen such a thing.
 
[*]Ensure Devices > ComputerAudio driver is installed. - Yes.
[*]Ensure you have a Media > Content > FileProvider with some MP3 files. - Yes
[*]Create a MediaZone. - Yes
[*]In the Properties window, find the AudioVideo Output property and select Devices > ComputerAudio > DirectSound... - is the direct sound the only option? I am using speakers...
[*]Right-click the MediaZone and click New > MediaShortcut and select the FileProvider containing your Mp3 files. - Yes.
[*]Go to Premise Browser and confirm you can play the mp3 files.- Yes.

BTW, the 'double-binding' you described is like nothing I've seen in the documentation. Chuck has a lot more experience with A/V gear ... maybe he's seen such a thing.
[/quote] The double binding is shown in the middle picture of post #14. I'm going to rewatch Daemon's video tonight. I watched it last week and did an example, but didn't keep the file and don't remember. I know the double binding fixed a lot of my issues.

What is also interesting is if I play a song and start another without stopping the first (media ->go to content ->file provider->mp3 from a different subdirectory then hit play in the current options pane and click media zone, it stops the current song, but then the new song does not play and "Nothing Playing" is shown. I'll record a video of this process for you to look at when I get home from work. Premise is getting stable with practice and thanks to you and Chuck. So far all the problems were either bad code in my 2 way driver or me missing a step somewhere.

I'm also wondering if you guys know an easy method to include zones in my receiver driver? I'm thinking I'd like to incorporate them, but since the zones on the receiver all share the same inputs (vcr, aux1 etc..) I'm kind of stumped on how to implement them. I know I'd need some method to track which input was being used by which zone.
 
Damon's videos are very informative and packed with useful tips and tricks; well worth watching more than once.

Don't overlook the examples found in Premise's Help file. Check out this topic in the Content section:
Premise Home Control Builder > Designing a Premise Solution > Controlling Media and AV Devices > Audio-Video Examples

Disclaimer: I haven't used Premise with A/V gear so my opinions are based on experiences wth other aspects of Premise. I realize the 'double-binding' may have improved a few things but I've never seen this technique in the examples. I suspect it may be masking a problem rather than truly fixing it ... and may explain why Premise is functioning erratically. Attached are some of the MediaZone configurations from the Help file.
 

Attachments

  • MediaZone1.jpg
    MediaZone1.jpg
    21.1 KB · Views: 18
  • MediaZone2.jpg
    MediaZone2.jpg
    33.6 KB · Views: 21
  • TheaterZone.jpg
    TheaterZone.jpg
    23 KB · Views: 17
If I recall, when viewing the devices and zones from the main pane, you'll see the connections as 123 has put up. The samples all show the view from the mediazone perspective, indicated by the 'mediazone' at the top of the image. If you put the focus on the device you have within the zone, you'll get the 'double binding' action as, I believe, you have shown in your image.

The 3rd image that 123 has put up is the view that you should get while putting focus on the mediazone. Instead of manually adding the device to the zone, you can use the device palette (View->Palette...it works as a toggle), then you can drag your custom receiver device from the palette, and overlay it to the mediazone output. (the 'stop' circle will change to a '+'). Then you will see a) single binding of the mediazone to the zone output B ) no reciever device in the media zone (when looking at the explorer view). You can do the same thing with any of the sources, such as computer audio. Grab the audio, and drag it into one of the inputs of your receiver....Add a mediashortcut to the zone, open your browser and you're off to the races.

The reason to put the customer receiver device into the mediazone from the explorer view is if you want local control, as well, meaning when browsing the mediazone, you want to use individual controls, such as changing surround effects, ejecting dvds, etc. In my setup, the Family Room is a 'zone' (I have an output of the Xantech ZPR68-10 as an input into the receiver (DVR1, in my case)), I have the receiver bound to the Pioneer custom device. Now I have local control, in addition to zone control. All of the other rooms are content driven, meaning if I want to listen to a 'cd', I select what I want to listen to and it plays in that zone (of course). As the receiver is simply an 'amplifier' as far as Premise and Xantech are concerned, when I group, the receiver turns on, the receiver switches to DVR1, and I'm listening to the Beach Boys throughout the house (at least when my wife's not listening to her smooth jazz thanks to John's Kenwood driver). And then, if I choose, I can browse to the Family Room, and use the local controls of the receiver.

Probably long-winded, and I think mostly correct, as I am doing this from memory....
 
Chuck,

Thanks for shedding light on this topic! You've revealed a subtlety that I never appreciated (and also explains the double-binding effect).

1) mSense
mSense simply requires that you describe the A/V gear that connects to a MediaZone's "AudioVideoOutput". Choose some media and mSense will know how to operate the A/V gear to play it. The generated user-interface will be minimal (basic playback controls). This uses MediaZones like "Premise intended", namely from the perspective of media and not equipment.

2) A/V
If you want manual control over the equipment in a MediaZone, you need to add generic A/V objects to the MediaZone (Switchers, Receivers, etc) and then bind each one to an appropriate A/V driver. This will generate user-interfaces for each A/V device.

If you use both techniques, you get the 'double-binding' effect seen in etc6849's screenshot.
 
yep, that makes a lot of sense.

So, the good news is I have found the source of the issue when using msense, but I don't know how to fix it without commenting out the code below.

Previously, when I was playing one song, and I went to play a different song, msense would say "Nothing Play" even though I selected a song that should play.

The problem once again was in the 2 way driver for my receiver and I don't know how to fix it? The issue is the code is not setting the source to Input1, but instead seems toggle the source selection to on/off for Input1! This meant when I played the second song it'd say "Nothing playing", but the 3 song selection would play and so forth...

Basically, I have the msense source as a sound card that is connected to "Input1." The code below is placed below

Case "!1SLI03": 'Input1
If not this.CurrentSource is nothing Then
If Not this.CurrentSource.ObjectID = this.Input1.ObjectID Then
Set this.CurrentSource = this.Input1 'this line here appears to toggle input1 instead of set input1
End If
end if


OnChangeNewData found under the custom drivers class in modules (msense works when I comment the case out as shown):
'When new data is received
If sysevent.newVal = True Then
'store received code
this.lastRx = this.RxTextLine
this.lastRxLen = len(this.RxTextLine)
'Read incoming ascii data line by line
For i = 0 To this.RxLinesRemaining
If len(this.RxTextLine) < 8 then

'Read queued command
Select Case this.RxTextLine
'If received command matches any of these...
Case "!1PWR01": 'Power On
this.PowerState = true
Case "!1PWR00": 'Power Off
this.PowerState = false

'Case "!1SLI03": 'Input1
'If not this.CurrentSource is nothing Then
'If Not this.CurrentSource.ObjectID = this.Input1.ObjectID Then
'Set this.CurrentSource = this.Input1 'this line here appears to toggle input1 instead of set input1
'End If
'end if

End Select
if left(this.RxTextLine,5) = "!1MVL" and not right(this.RxTextLine,3) = "N/A" then
this.Received = true
if not this.Volume = cInt("&H" & right(this.RxTextLine,2))/100 then
this.Volume = cInt("&H" & right(this.RxTextLine,2))/100
end if
end if
if this.RxTextLine = "!1AMT01" then
this.ReceivedMute = true
this.lastRx = "mute rcvd: " & this.RxTextLine
this.mute = true
end if

if this.RxTextLine = "!1AMT00" then
this.ReceivedMute = false
this.lastRx = "unmute rcvd: " & this.RxTextLine
this.Mute = false
end if

else
this.lastRx = this.RxTextLine
this.lastRxLen = "greater than 7:" & len(this.RxTextLine)
end if
'goto next command in buffer
this.RxNextLine = True
Next

End If
 
So I came back tonight after leaving and the media zone started doing the same issue again! However, I think I have figured out how to avoid the playback "Nothing playing" issue:

It seems to only occur when I click very fast (less than 1-2 seconds) from song to song. I have been able to play over 20 songs now without a hiccup by clicking slower when I browse for the next song.

I'm still hoping one you will look at my code though incase it is wrong. I just started using this thing last week, so I'm no expert by any means. The code is similar to what Damon made in the integra driver, but with addition of 2-way mute commands and traps I had to add to capture extraneous commands like !MVLN/A and a long initial string that was appearing after repower following power loss (something like !1PWR01->!1SLI01->!1MVL5A appears when you first power up the onkyo).

OnChangeNewData found under the custom drivers class in modules (msense works when I comment the case out as shown):
'When new data is received
If sysevent.newVal = True Then
'store received code
this.lastRx = this.RxTextLine
this.lastRxLen = len(this.RxTextLine)
'Read incoming ascii data line by line
For i = 0 To this.RxLinesRemaining

'necessary as receiver will output a long initial string upon power loss
If len(this.RxTextLine) < 8 then

'Read queued command
Select Case this.RxTextLine
'If received command matches any of these...
Case "!1PWR01": 'Power On
this.PowerState = true
Case "!1PWR00": 'Power Off
this.PowerState = false

'Case "!1SLI03": 'Input1
'If not this.CurrentSource is nothing Then
'If Not this.CurrentSource.ObjectID = this.Input1.ObjectID Then
'Set this.CurrentSource = this.Input1 'this line here appears to toggle input1 instead of set input1
'End If
'end if

End Select
if left(this.RxTextLine,5) = "!1MVL" and not right(this.RxTextLine,3) = "N/A" then
this.Received = true
if not this.Volume = cInt("&H" & right(this.RxTextLine,2))/100 then
this.Volume = cInt("&H" & right(this.RxTextLine,2))/100
end if
end if
if this.RxTextLine = "!1AMT01" then
this.ReceivedMute = true
this.lastRx = "mute rcvd: " & this.RxTextLine
this.mute = true
end if

if this.RxTextLine = "!1AMT00" then
this.ReceivedMute = false
this.lastRx = "unmute rcvd: " & this.RxTextLine
this.Mute = false
end if

else
this.lastRx = this.RxTextLine
this.lastRxLen = "greater than 7:" & len(this.RxTextLine)
end if
'goto next command in buffer
this.RxNextLine = True
Next

End If
[/quote]
 
I'm unfamiliar with the Onkyo/Integra control protocol but are you certain that !SLI03 represents Input1?

Code:
POSTED DRIVER CODE
Case "!1SLI03":  'Input1
	If not this.CurrentSource is nothing Then
		If Not this.CurrentSource.ObjectID = this.Input1.ObjectID Then
			 'this line here appears to toggle input1 instead of set input1
			Set this.CurrentSource = this.Input1
		End If
	end if

I ask because the Integra Serial driver uses !SLI00 to represent Video1.

Code:
INTEGRA DRIVER CODE
Case "!1SLI00":  'Video1
	If not this.CurrentSource is nothing Then
		If Not this.CurrentSource.ObjectID = this.Video1.ObjectID Then
			Set this.CurrentSource = this.Video1
		End If
	end if

Is it possible that !SLI00 should represent Input1?
 
I represent !1SLI03 as Input1 because it is labeled on as Aux 1 on the front of the tx-nr905. Input1 is just an object name in premise, so it shouldn't matter what I call if I understand things correctly?

Yes, for the !1SLI03 code, the integra documentation says something like "sets VIDEO 4 Aux1(Aux)" so maybe I should have used video 4 for others who may use the driver. Interestingly, today it appears my hard disk (secondary drive thank goodness) with the msense music quit working today. I rebooted and the bios hanged when it tried to load the SATA device so I unhooked it and everything else works. I wonder if this was another source of my original problems with msense. Once I get my music back on my primary drive, I can test msense again, but I suspect things will work a lot better using the primary hard disk.
 
So, msense works great now :) The whole time my secondary hard drive was going bad!

Anyways, how does everyone handle the whole input naming issue? What I did was change the "display name" attribute of the input object to change how it is displayed in the gui. For Input1, I label this as HTPC.

I'm also hoping someone could point me in the right direction on how to handle zones with an audio/video receiver in msense? What I want to do is use the integra zone2 commands to control the zone2 output of my receiver. This involves setting up stereo speakers in the other room, but my issue is how do I tell premise that the receiver is multizone so that I can use msense to manage the second zone? I'm completely lost on where to start...

At any rate, thanks for all of your support thus far in getting me started with premise ;-)
 
Msense essentially doesn't care if your music is on another HDD that is failing...so to speak. Of course, you won't hear music, but you won't receive the 'no device configured...blah, blah...)
Serial codes. Has to be EXACTLY what the manufacturer says. How you name it in Premise only affects how you may use it in a script (or so and so), but NOT how it interacts with the device.
This is initially complex SW. Once you get it, then it just becomes a pain in the a.... and then it will suck you into the depths of the cult..... :lol:

I've been using it since 2002?2003?2004? and I 1) Am absolutely amazed how far it STILL is ahead of its time (I dont think there is much that has gotten even close, yet) 2) Continue to learn....

I have to heap praise on ya for giving it a shot and getting your device to work....I'm sure the other folks feel the same....

Now for the two zone thing.....

I'm going to have to think that one thru, but essentially, you will have two separate zones....(Living Room and Family Room). I THINK, they should get set up as two zones....the device will be the same (the receiver). I think you may have to extend the class in some way to have two zones, similar to the Vaux, AudioAccess or Zpr68-10....I'll have to ponder it ....

BTW, Welcome!
 
So, I have finally figured out the 2 way communication error, yes it came back. I am able now to replicate it 100% of the time for a week now, so I know I have found my problem (I'm using Vista)!

What happens is if I'm using a 2 way driver (wether it's my driver or Damon's Integra driver) and I stop the premise services, then restart I only get one way communication (device->computer) when using a 2 way serial cable. This also happens if I reboot my computer as this also stops/restarts the service.

The only way I can get 2 way communication again is to remove the device, then re add it and not restart my computer ever. I'm not sure if this is a receiver issue, a serial driver issue or a premise issue? I'm going to try this on xp and see how it works then. I feel really stupid for not noticing the pattern in failure before!
 
Behaves the exact same way on an xp laptop. Only one way control after reboot or restart of the premise services. I'm using completely different COM hardware (same cable though). I reset premise and used Damon's Integra driver from scratch. I've attached the Integra driver and the Integra documentation. Port spy shows the volume levels being received is what's strange, but it's not triggering a new event in the software?

So, I have finally figured out the 2 way communication error, yes it came back. I am able now to replicate it 100% of the time for a week now, so I know I have found my problem (I'm using Vista)!

What happens is if I'm using a 2 way driver (wether it's my driver or Damon's Integra driver) and I stop the premise services, then restart I only get one way communication (device->computer) when using a 2 way serial cable. This also happens if I reboot my computer as this also stops/restarts the service.

The only way I can get 2 way communication again is to remove the device, then re add it and not restart my computer ever. I'm not sure if this is a receiver issue, a serial driver issue or a premise issue? I'm going to try this on xp and see how it works then. I feel really stupid for not noticing the pattern in failure before!
 

Attachments

  • Integra_RS_232_Receiver.zip
    98.8 KB · Views: 75
Behaves the exact same way on an xp laptop. Only one way control. I'm using completely different COM hardware (same cable though). I reset premise and used Damon's Integra driver from scratch. I've attached the Integra driver and the Integra documentation. Port spy shows the volume levels being received is what's strange, but it's not triggering an on event in the software?

So, I have finally figured out the 2 way communication error, yes it came back. I am able now to replicate it 100% of the time for a week now, so I know I have found my problem (I'm using Vista)!

What happens is if I'm using a 2 way driver (wether it's my driver or Damon's Integra driver) and I stop the premise services, then restart I only get one way communication (device->computer) when using a 2 way serial cable. This also happens if I reboot my computer as this also stops/restarts the service.

The only way I can get 2 way communication again is to remove the device, then re add it and not restart my computer ever. I'm not sure if this is a receiver issue, a serial driver issue or a premise issue? I'm going to try this on xp and see how it works then. I feel really stupid for not noticing the pattern in failure before!
 

Attachments

  • Integra_Serial_V2.zip
    12.3 KB · Views: 14
Back
Top