API / Embed Navigator into frontends
  • I use www.centrafuse.com as my frontend in my car and the current integration with Navigator leaves a lot to be desired.


    Are there any APIs available today, or future plans to make it easier to integrate Navigator into front-ends for a more seamless experience?


    JJ

  • 38 Comments sorted by
  • Hi, what exactly do you mean by current integration? Do you use TCP commands?
  • No, not TCP commands, the application itself.

    Current integration means Centrafuse (www.centrafuse.com) tries to embed an external application (Navigator) into itself, but it does not work very well. Even launching is an issue. It takes 3 to 4 attempts to launch Navigator from within CF. (The GUI start to become visible and then dies)

    In reality its more like two applications, centrafuse and navigator running concurrently, but when using a touch screen in a car its difficult to switch between the two applications and more often than not are they overlaying themselves on the same piece of screen real estate. If I press Menu in Navigator, sometimes CF overlays itself on top of Navigator causing issues.

    Here's a snipped from one of the CF developers:
    "... you'll need to capture the application window and place it into a panel in your application. This is what apploader is doing. With the Sygic app for example, the Sygic API provide a method for assigning the video output of the program to the handle of a control that you pass it. So we pass it the handle of a panel in our app, and Sygic embeds there. Same thing... just Sygic doing it on their end rather than us finding the output window handle and doing it our self."

    Note that apploader no longer works with Navigator. Something about the way Navigator starts and is probably why CF has such problems launching it too.

    If you download the 30 day trial version of centrafuse and try it yourself, you'll see the way Navigator works with CF its not great. With an API to launch / integrate with CF (and other front-ends?) it could be improved. 

    The CF developers will probably be very helpful in creating a wrapper plugin to embed Navigator into CF if they're approached. I'm more than happy to help out where I can.

    JJ

  • and can you tell me what do you mean by 'current integration'? what exactly have you done to integrate?
  • As above.

    "Current integration means Centrafuse (www.centrafuse.com) tries to embed an external application (Navigator) into itself "

    CF has a path to the navigator EXE and startup parameters. That's the current integration and is exactly what I've done to integrate.


    JJ
  • sorry, I do not understand, please give example
  • Tomas,

    We can go back and forward like this forever, but it's like explaining the concept of color to someone who's blind and you'll never understand.

    The only way is for you to educate yourself on some of the issue CarPC users using Windows and a front-end are facing:

    Download www.centrafuse.com (free trial) and run it in full screen. Swap to navigator and back using only single click of mouse. (to simulate a touchscreen in a car), no keyboard! Then try clicking on "Menu" in Navigator and see what happens. (Navigator disappears!). Now try and and find a way to switch back to Navigator to see where you're supposed to be driving.

     

    Then, try using Destinator (included in Centrafuse trial) or adding the Sygic or Garmin plugins for Centrafuse and there's a world of difference in the user experience. They 'integrate' w/CF. Navigator does not.

     

    FYI: Centrafuse controls my radio, temperature sensors, WiFi/3G, OBD, Phone via Bluetooth, Music/DVD collection etc etc. Navigator is built as if it's the only application running. Its not.

     

    JJ

  • Hi JJ, I need to know how you start Navigator, otherwise I cannot try it in the same way.
    Please let me know what parameters do you use.
  • tomas,

    This is what I use:

    C:\Program Files\Navigator12\PC_Navigator\PC_Navigator.exe

    --atlas='C:\ProgramData\Navigator\12.1\atlas_pcn_free.idc' --window_border=no --window_position=77,123,874,522 -tcpserver=any:4242

     

    JJ

  • I cannot see any problem, once I click on Menu I can see it quite clearly without any distortion - it could be your screen resolution?


  • No, there's no distortion such and resolution is 1024 x 768?. Are you running CF in full screen and launching Navigator from a CF button?


    And nothing "bad" happens when you press "menu" at the top? Very strange, on my CF, navigator usually goes to the background and CF gets the focus?


    It also takes me 4-5 attempts to launch Navigator from the CF button? Works instantly on your copy?


    JJ

  • unfortunately centrafuse does not work on my windows7 and neither on my XP, so I was unable to try it, but the following command works:
    "c:\program files\navigator12\pc_navigator\PC_Navigator.exe" --window_border=no --window_position=77,123,874,522  -tcpserver=any:4242
    I cannot see why would not the same command work in CF
  • Ah, well that's sortof the point of the thread, the integration of Navigator with a frontend like CF, which is why there are plugins for sygic, garmin, destinator and others.... :(

    Launching Navigator directly defeats the purpose of the front-end... I'm suprised no-one at Mapfactor has come across frontends before, but suspect this is why navigator behaves so badly when used with one :(

     

    No idea why you didn't manage to install CF given how many use it, suspect you're missing one or more pre-reqs like .NET 4.

     

    JJ

  • I have it working now - did you have full screen off?
  • Hi and good work!


    No, CF in full scren (no keyboard in car and tiny screens)


    Define Navigator as an external application in CF using the same parameters as above, and assign it a button in CF. Press the button, and navigator _might_ start on first attempt, sometimes it takes me 5 attempts.


    Try pressing menu in navigator, most of the time Navigator will vanish, and CF will take over the screen, so please try multiple times. You then need to re-locate the navigator button and re-launch Navigator.


     


    JJ


    PS: To cheat, make the initial definition for the external application in CF and then exit CF. Then finalize the change in the file external.xml, and then launch CF. Then assign it a button.

  • I have tried it many times, both with free and paid version, and it always opens first time and nothing disappears when I click any button in Menu. In fact I click more or less all buttons and it worked.
    I am using XP, on W7 I cannot get CF working at all.
    Here is what I have in external.xml
    <EXTERNAL>
      <APPLICATION APPNAME="Navigator">
        <PATH>C:\Program Files\Navigator12\PC_Navigator\PC_Navigator.exe</PATH>
        <PARAMETERS>--atlas='C:\documents and settings\all users\application data\navigator\12.1\atlas_pcn_free.idc' --window_border=no --window_position=87,123,640,480</PARAMETERS>
        <WINDOWNAME>NaviMf</WINDOWNAME>
        <PAUSEMUSIC>True</PAUSEMUSIC>
        <LINECONTROL>SigmaTel Audio|Wave</LINECONTROL>
        <STARTFULLSCREEN>False</STARTFULLSCREEN>
        <GUIAPPLICATION>True</GUIAPPLICATION>
        <DISPLAY>1</DISPLAY>
        <DISPLAYNAME>Navigator</DISPLAYNAME>
      </APPLICATION>
      <APPLICATION APPNAME="Mf">
        <PATH>C:\Program Files\Navigator12\PC_Navigator\PC_Navigator.exe</PATH>
        <PARAMETERS />
        <WINDOWNAME>Fm</WINDOWNAME>
        <PAUSEMUSIC>False</PAUSEMUSIC>
        <LINECONTROL>-1|-1</LINECONTROL>
        <STARTFULLSCREEN>False</STARTFULLSCREEN>
        <GUIAPPLICATION>True</GUIAPPLICATION>
        <DISPLAY>1</DISPLAY>
        <DISPLAYNAME>Mf</DISPLAYNAME>
      </APPLICATION>
    </EXTERNAL>
  • That's just depressing :(  Not sure if W7 is different from XP, but W7 is what I'm running, with free edition.

    I see you've got False on startfullscreen. I assume you pressed the button to make Navigator go fullscreen and still no issues? (non-full screen is pretty poor user experience in 1024x768)

     

    I have had 4 different builds, all with the same issues. Can't really expect you to fix anything you're not experiencing. :(

     

    Guess I'll either need to swap to a different app, or live with the Navigator issues :(

     

    JJ

  • full screen means that you cannot see most of the CF screen, is that what you want?
    may be you could contact CF, because I cannot get CF working on W7 at all
  • Full screen: Yes. Button at top right corner With two arrows toggles between the two modes.

    CF: Not sure what to tell them as I dont have access to your computer, the error messages, or the log files Their support forum is forums.centrafuse.com ?

     

    JJ

  • Hi John

    Did you have any luck with this? I have just purchased Navigator after testing the free version and been very happy with it working with centrafuse, unfortunately now I can't get it to load, it looks like centrafuse is tyring to take control of Navigator before it has finished loading causing it to crash. Really not sure though.

    Jon
  • Not sure why tomas can't reproduce the issue, but on the CF forums there are plenty of people with this issue. I can only asume tomas is doing (or knows) something we don't. Also, no idea why it would work with the free edition, but not paid. Very strange.

     

    Assuming you can see the MapFactor logo etc and then it just "dies"?

     

    If that's the issue, keep trying to launch it. It will/should launch by the 5th or 6th attempt.... :(

     

    Also, see one of my posts on the CF forum on how to change the CF GUI for external apps. Optimizes the GUI layout for external apps in non-full screen (home button and radio text visible while using Navigator)

     

    JJ

     

    PS: The lack of integration with CF is causing me such grief I'm considering switching to Garmin Mobile PC with free OSM maps. Even if GMPC is no longer maintained or updated by Garmin, it can still handle new maps and IMG files.

     

    1) There's a CF plugin to integrate Garmin Mobile PC with CF (Not tested it myself yet, but installig in a dev machine now for test purposes). http://www.tempgp.com/dynamic/?page=3. Mutes radio when navigation "speaks" + other features.

     

    2) You can update your maps anytime you want using http://garmin.openstreetmap.nl/ (Copy the IMG file to c:\garminmobilePC) and GMPC will "see it". Or use commercial maps.

     

    JJ

  • Hi John,

    Yep thats the problem, the logo flashes up and then dies, I think the issue may be caused by the way processes are handled by windows and centrafuse embeds them.

    As of yet haven't had it load however many times I try.

    I have another plan though, I have managed to make a .net application which loads navigator, I think the key is to start the process and then wait a second or two to give it time to fully initilise before trying to resize and embed the application.

    I am hoping to make this into a centrafuse plugin simlar to the sygic one, I am hoping to share this in the end but not sure how reliable it will be and don't have the time to spend much time on it in addition to getting it working with my machine.

    Jon
  • just to clarify, I tested it on Windows XP, I could not get CF working on W7 at all
  • Hi Tomas,

    I noted that, CF is not the easiest of software at times!

    I think the issue may only be apparent on Vista / 7 / 8 as I believe processes are handled differently to how they were in XP.

    I think the way centrafuse embeds apps may be a bit outdated, I think it launches the app then tries to grab the application based on the window name, this causes a problem as it tries to grab the application before its fully initialized.

    If you like I can take some screen casts showing you the issue as there may be a tweak that could be made to Navigator to help the issue?

    Jon
  • Just had a break through! Its a really simple idea but works nicely, I need to do some more testing / optermising but think it solves the issue perfectly.

    Basically, rather then writing a plugin for centrafuse (may do this in the future) I am using my application as a host for navigator.

    Basically rather than adding navigator as the external application I add my application which on runtime runs and embeds navigator sucsessfuly then centrafuse embeds my application.

    I will update once I have done some more testing!

    Jon
  • Would be great if you've got a foolproof way to embed Navigator into CF. If you can share the source and MapFactor updates their TCP commands. I'm happy to add features like mute CF audio when Navigator Speaks and other nice to haves. (if MapFactor adds the required interfaces to TCP)


    JJ

  • Well so far so good, its working in the car I will take a few screen shots when I have some time.

    I think there are still a few bugs that need ironing out.

    If you send me your email as a private message I will send you through the exe to embed and see how you get on with it.

    I also made some changes to the external skin for centrafuse to remove the keyboard and buttons given lots of extra space for map factor.

    I would still like to make a centrafuse plugin so the interface is a bit more customisable.

    Have you used the sygic application in centrafuse? It has a button next to the home button allowing the audio interface to be shown and hidden, once I have things running nicely thats my next step.

    Jon
  • PM Sent. I too would like a proper plugin for MapFactor, would allow for much better integration and functionality.


    Btw, ths is my attempt at modifying the CF skin for Navigator: http://forums.centrafuse.com/showthread.php?11582-Embedding-applications-without-extra-buttons (Post #5). I'd be interested in seeing how yours looks.


    Not tested the sygic plugin, I'll go hunting for a screenshot, unless you've got one?


    Looking forward to test the exe.


    JJ

  • Sygic: Just re-read you post. My modifications to the CF skin allows for this (hiding audio bar at the top) using the min/max button. I think?
  • I would also be very much interested in an integration of PC Navigator in CF4.
    kuno
  • Hi, this sounds like just what I need!

    Have you got this up and running?  At the moment I am using PC Navigator free but will pay for it once I know I can integrate it with CF 4.4.1

    From what I can tell, the problem might be caused by the fact that the Window Title changes from 'Navigator' to having no name then back to 'Navigator' again when it loads.  But that might just be the free version.
  • I've taken a stab at creating a CF plugin to overcome the issues integrating MapFactor Navigator with CF. (Can't understand why Mapfactor can't replicate the issues "everyone" is facing)

    Anyway, I may just have cracked it.

    I can sucessfully launch Navigator without major issues and I can get back to CF as well launch other plugins, and then switch back to Navigator. Exit also appears to work without issues.

     

    Btw, audio is untested.

     

    Head over to the CF forums to see progress as I'll start new thread there as its a CF plugin.

     

    JJ

  • Brilliant news!  I'll take a look.  

    Thanks V much for all your work on this so far :)
  • Dear Mapfactor Developers,


    Tested my plugin on a couple of other computers and it appears to work the way it was intended. However, for better integration, would it be possible to add more TCP commands to Navigator?


    1) Navigator to send notice before audio starts, and when audio ends (navigation prompts like "turn left in 200m")
    This allows my plugin to mute the radio/media player when navigation prompts are sent.


    2) Option to tell Navigator to hide (remove) Exit and Minimize icons.
    As Navigator is embedded into a "panel" in a different app, the Exit or Minimize actions makes the Panel go white and "unresponsive". The plugin sends the "$exit" command to shut down Navigator gracefully so its better Exit and Minimize are not there for user to press.


    I'm sure I'll think for more commands to add, but adding these two would be a good start!


    JJ


    Edit: It looks like 1.7 Navigation Information can be used for audio notification? But no notification is sent when audio ends? So no way to turn on (unmute) radio again?

  • @johnjore - you can edit your menu in settings/application/Organize main menu and remove Exit and Minimize
  • Hi mdx!

    That's my current workaround. I modify the settings.xml and hope things go ok. Any suggestions on notification on audio end?

    also, for hibernation. Is there a way to avoid the "Reconnect GPS" question at startup? I can't seem to find a way to disconnect Navigator from the GPS, hibernate, re-connect GPS?

     

    Update: See Paul_S's video above for details on which prompt I'm refering too. 

     

    JJ

  • Hi there,

    I see this thread is regarding integrating Navigator into another application.

    But is it possible to embed Navigator into a website, that is, a webpage?

    Thanks indeed

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

In this Discussion

Tagged