Posts by vragec


    I have a tour with 5 panos and 17 video hotspots (small 2d .mp4 videos, 3-5 MB each). All hotspots are loaded onstart, and I am tracing that all videos are successfully loaded (for each hotspot trace shows that loadedbytes EQ to totalbtyes).

    Problem occurs after few seconds the tour and all videos are loaded: ERROR: path_to_video_file - video decoding failed (corrupted data or unsupported codec)!

    Strange thing is that each time I reload the tour, ERROR occurs for a different video file, and always for a single file. I can actually play each video with no problem, as long as it hasn't reported error, so it is definitely not a problem with unsupported coded.

    The only reason that I can think as a cause is when loading multiple video files, one of them fails to download correctly and triggers an error. Is that possible?

    Even stranger thing is that I think I managed to avoid this error if I specify videourl like this:


    Which, in my strange logic, resulted in the following: Krpano loaded all video files, one was corrupted during download, but the existance of secondary file in videourl attribute resulted in krpano loading the secondary file (which is the same as first ) thus actually re-downloading the video file that was corrupted during initial load. Is this possible? :)

    Hi everyone,

    I have been using krpano for 3 years now, and although I don't post often i read forum almost daily.

    I somehow can't escape the feeling that Panotour has been driver for more frequent updates, at least to some degree. In previous years there used to be more than 10 updates yearly, in recent years average was around 6. Now that Kolor is dead, there hasn't been an update for 15 months.
    Since my company uses krpano for around 50% of projects (which means 50% of revenue) i have some concerns about relying on it for future projects.

    Personally, i wouldn't mind paying yearly subscription, instead of one time licence fee, if that meant regular updates, more new features and road-map on which we could count on.

    Please share your thoughts and concerns, and of course, I invite Klaus to give us his perspective.


    I suppose there are not a lot people who can code in krpano and still use PTP but i hope someone will find this usefull :)

    Intro: As Klaus informed me, PTP uses its own licence and overwrites krpano licence on each build. Panotour licence unfortunately does not include krpano googlemaps.js licence and therefore watermark is present (Demo mode) on googlemaps.js plugin.

    To resolve this we need to modify index.js file which is generated by Panotour on each build. This generates a problem, because the file would have to be modified each time a Build button is pressed, which means a lot :)

    The solution uses PTP custom templates and needs to be done only once. Here are the steps:

    1. Verify krpano licence: Run krpano tools, goto settings-> Registration information. Krpano maps plugin licence should be checked.
    2. Open your krpano install folder and navigate to subfolder viewer
    3. Open krpano.js file. Select and copy whole content of the file, we will paste it later. I recommend using Sublime text or Notepad++, or any editor of your choice
    4. Open folder of any tour you have created with PTP and navigate to /indexdata (I usually use index for Filename in Build tab, if you use some other name use it instead)
    5. Open index.js and find (function(){kpanotour. Delete everything before that line and paste previously copied code from krpano.js before that line.
    6. Save index.js

    At this point, if this tour had already included googlemaps.js in some custom code/plugin, watermark will be gone, meaning that maps are correctly licenced. Do NOT press Build for that tour in this moment.

    7. Copy index.js to indexdata\graphics folder of the tour and rename it custom_index.js. Additionally, save it on some other location, it will need to be manually copied once for each tour you bild (Or you can include in your PTP plugin for full automatic process)
    8. Navigate to: C:\Program Files\Kolor\Panotour Pro 2.5\Resources\templates\html
    9. Open htmlembedpanoscript.tmpl in editor and save it as htmlembedpanoscript_custom.tmpl.
    10. In 1. line, change {{playerFilePath}}.js to indexdata/graphics/custom_index.js. Save and close the file.
    12. Navigate to C:\Program Files\Kolor\Panotour Pro 2.5\Resources\html and open your desired template. For this example i used fullpage.html
    13. Find the line {%include "htmlembedpanoscript.tmpl" %} and replace htmlembedpanoscript.tmpl with htmlembedpanoscript_custom.tmpl.
    14. Save the file as fullpage_custom.html. If computer security settings doesn't allow it, save on some other location and copy the file back to C:\Program Files\Kolor\Panotour Pro 2.5\Resources\html
    15. Restart PTP and in build tab select fullpage_custom.html
    16. Build tour, will be without watermark

    So, bacically, we created new fullpage_custom.html template and told it to use htmlembedpanoscript_custom.tmpl template, which than points to custom_index.js located in indexdata/graphics instead of index.js (located in indexdata folder). All you need to do know is manually copy the custom_index.js to /indexdata/graphics folder of each newly build tour, or include it in some PTP plugin and put the plugin's path in htmlembedpanoscript_custom.tmpl.

    Additionally, latest PTP (also final :) enabled updating krpano version, instructions can be found under Help->Licences. I tried that, but as I wrote in the begining, PTP replaces the licence on build so it didn't worked.


    i'm using this example to show a web page as a normal layer, not distorted one.

    Is there a way to remove an iframe link and dynamically add a new one without using removelayer() ?

    I have more that 100 links in my tour which all call different links of the same website that unfortunately takes ages to load. I figured if I could just hide iframe hotspot and than show it along with add_iframe function and a new link, content od the web site would be cached in browser and loading would be faster. But i didn't manage to get it to work.

    Also, this approach could be very usefull for mobile devices, to rescale the content when user flips the device from landscape to portait mode and vise versa. Currently i'm using onresize event and than removing and adding iframe layer which calls the add_iframe function. But that is obviously not very practical :)