Search Archive

HOWTO: add voice guidance mute button

By brink094 · Oct 15, 2008in Hacks/Mods💬 89 posts👁️ 38,357 views
Page 2 of 4
Posted Nov 01, 2008 · 03:19 UTC#26

There were some small changes to the file for the 2.0 update. I had a similar problem with the nav not loading up with the modified navigatemap file. I fixed this by taking the new version of the file and adding in the appropriate lines of code. Attached is my navigate map file which works perfectly for me.

 

Edit: Also, you shouldn't need the empty button image file, just the other two. Also, make sure that you are using a program like 7zip so that you're never actually extracting and repacking the data.zip file. With 7zip you can work with, browse, edit, and inject the data.zip file without actually ever unpacking the whole thing.

navigatemap_800_480.zip

Posted Nov 02, 2008 · 17:18 UTC#27

Thanks mikeinnj for updating the zip file, I've been away on holiday while this firmware came out, so haven't had the chance to update it myself.

 

I added the empty button image so people could create their own buttons if they were not happy with mine, you don't need it if you use my images.

Posted Nov 02, 2008 · 23:45 UTC#28

I got an error that it couldn't find the buttons. I can't find the original attachment on this forum, does anyone still have it?

 

Thanks.

Posted Nov 03, 2008 · 06:58 UTC#29

Oops, I thought mikeinnj had posted a zipfile with the images included.. :shock:

 

First post is updated with a new zipfile containing the images and mikeinnj's fix.

Posted Nov 03, 2008 · 14:44 UTC#30

Haha thanks much :)

 

Scared myself when I saw the error when trying to load the map.

Posted Nov 07, 2008 · 22:20 UTC#31

Beautiful job, love it.

 

One personal tweak, and the creator of this might be able to help me out-- Is there a way I could hide that button(like it is when there is no route), when the volume is -not- muted. But be able to still touch that same area and then the button appears.

 

What I'm trying to do is avoid screen clutter, but I'm not sure if a button has a variable like isVisible or something. Though I'd like to have it on the screen when the volume is muted.

 

Either way, great job!

Posted Nov 07, 2008 · 22:30 UTC#32

With existing code, since the button follows the actual system mute status in its visiblemodel, it will hide/unhide itself automatically even if you do call button.HIDE or button.SHOW methods (this is what you use to control visibility...).

 

What you probably could do is register a variable that is set to current mute status and use _that_ in visiblemodel of the button. Then when you click on it, change the variable value in the script that is called to control button's appearance...

Posted Nov 07, 2008 · 23:34 UTC#33

; *** Voice guidance mute mod by Gert-Jan ***

; *** End Voice guidance mute mod ***

 

 

I believe this is all the needed code... So if I add another variable and check it against .has_route and .mute_status, both being on I would pass .SHOW and the first being on and the later being off I would pass .HIDE?

Posted Nov 08, 2008 · 04:30 UTC#34

If I understand you correctly, you want the button initially hiodden regardless of mute status, and show it when you press it. And you also want it hidden if it is not routing at all. SO I think you would have a variable that is set to 1 (true) somewhere in initialization script.

 

SET bHideMyButton 0

 

Then, set button original visibility with

 

Posted Nov 08, 2008 · 15:30 UTC#35

Yes-- pretty much. To put it in most simple terms, I ONLY want the button to be shown when there IS a route and when mute IS on.

 

The question that I was unsure about was, if the button is not set to visible, can I still touch where it would have been?

 

So maybe I wouldn't want to HIDE the button, but switch to an empty button that is still pressable when there is a route.

 

 

Pretty much, the only time I want to see the button is if the mute IS on, which also requires there to be a route. Then, unmuting the voice would hide the button.

Posted Nov 08, 2008 · 21:15 UTC#36

Hmmm... I'm not sure if you can touch an invisible button, but you certainly can use an invisible bitmap instead. You can either switch BMP when clicked, or use two buttons, one visible, one not.

Posted Nov 09, 2008 · 11:33 UTC#37
So maybe I wouldn't want to HIDE the button, but switch to an empty button that is still pressable when there is a route.

You can use semi-transparent button instead. I use alpha=10 for all semi-transparent buttons on my skins. Moreover, you can change ALPHA setting of your button at any time you need by different way:

 

1. permanent aplha setting of each button:

 

 

2. controlled ALPHA by different conditions depend on your needs:

 

...

runif bHideMyButton 'btnNMB_Mute.alpha 10, btnNMB_Mute.bmp "button_volume.bmp", bHideMyButton 0, run sc_unmute_guidance'

else_run 'btnNMB_Mute.alpha 32, btnNMB_Mute.bmp "button_volume_mute.bmp", bHideMyButton 1, run sc_mute_guidance_immediately'

 

I didn'check this code yet, but the similar code for other buttons already working on my old Mio C520 skin.

Posted Nov 11, 2008 · 01:22 UTC#38

First of all, thanks brink094 for sharing your work on this. Samantha was making me crazy...

 

Now, has anyone figured out how to make it remember the mute setting when the unit is turned off then back on?

 

Thanks,

 

- Mark

Posted Nov 11, 2008 · 06:39 UTC#39
how to make it remember the mute setting when the unit is turned off then back on?

Try to declare permanent variable, it should be saved in save\system.ini:


Posted Nov 11, 2008 · 12:14 UTC#40

Now, has anyone figured out how to make it remember the mute setting when the unit is turned off then back on?

 

I haven't put a lot of time in this, the mute button as it is works good enough for my needs. You would indeed need to declare some variable and have it track the sound.announcer.muted status, then read that variable when the software initializes and mute/unmute the voice depending on the saved value. Not too difficult, just need some time to do it. Right now I'm working on replacing the dull blue boxes with some nice glossy black ones, maybe I'll look into this when I'm done.

 

You could just set the voice volume at 0 in the settings, that way she is always muted ;)

Posted Nov 12, 2008 · 21:11 UTC#41

Thanks it was firefox it doesn't work with the site well as soon as I loaded internet exporer it worked! Thanks again

Posted Nov 18, 2008 · 17:30 UTC#42

It looks like this hack only works when the unit is bypassed. I did the software bypass but did not ground the parking break wire and I could only press it when i pulled my handbrake up a little bit. I wonder if adding the USE_SEPARATED_SAFETY_MODE attribute and setting it to 0 to either of the buttons would allow me to press those buttons regardless of the parking brake state.

Posted Nov 18, 2008 · 17:57 UTC#43

Yes, that should be it. This really should be a speed-independent control :)

Posted Nov 22, 2008 · 18:38 UTC#44

I confirmed today that if you are only using software bypass for the brake, you need to use USE_SEPARATED_SAFETY_MODE=0 attribute for both Button tags in order for the mute button to work while you are driving without parking brake engaged.

Posted Nov 23, 2008 · 17:28 UTC#45

Thanks for finding the separated_safety_mode bug, my Avic is hardware bypassed, so I've never had any problems ;)

 

First post is updated, the mute buttons now work without hardware bypass.

Posted Dec 10, 2008 · 17:43 UTC#46

I'm new to the hacks, and only have interest in a few, but this is one of them. I'm looking for a little reassurance before proceeding.

 

I've backup up my flash disk to my desk top, and have downloaded this mod. My assumption is that I should take this content and add it to/ over-write a new copy of my Data.zip folder in the proper sub-folder locations, and then just copy/ replace this new Data.zip folder in over my existing folder in the head unit. Is this correct, or should I be opening the Data.zip folder in the unit and adding content there?

 

I appreciate the hand holding on this one. Trying to play "better safe than sorry."

Posted Dec 10, 2008 · 18:37 UTC#47

There are two ways to do it:

 

1. Take files you want to change from the mod's DATA.ZIP to the same locations. I.e. file.ui goes into ui_pioneer\common\ui anf file_800_480.ui goes to ui_pioneer\800_480\ui folder inside the ZIP file.

 

Using WinRAR or 7ZIP isw very much preferred here because WinZIP is brain dead and won't add files to a subfolder inside an archive.

 

2. Preferred option for testing out changes: create a folder ui_pioneer on your SD card. inside create 800_480 and common subfolders, and ui folder inside each of those subfolders. Now copy changed files to those ui subfolders, as above, and copy the entire ui_pioneer to APL2\iGO folder on the head unit.

 

This way you can keep a working DATA.ZIP on the unit and test out changes. If they work, you can move them to DATA.ZIP later on. If you don't like them, roll back by deleting ui_pioneer from the head unit.

Posted Dec 10, 2008 · 22:05 UTC#48

Option 2 worked like a charm, thanks. Any reason I should do anything else?

 

I appreciate the support, the knowledge on this site helps those of us who are hack-challenged to make some much needed mods.

Posted Dec 10, 2008 · 22:07 UTC#49

Reasons for using option 1 would be a) storage space, since everything is in one archive and B) it might be a bit faster since iGO needs to check only one place for files...

Posted Dec 17, 2008 · 04:29 UTC#50

I found the navigatemap file in the ui folder no problem- but how do i add this string to it?

Page 2 of 4