krpano 1.19-pr4 / 1.19-pr5 / 1.19-pr6

  • Hi,

    1) This doesn't work if autorotation is paused.

    It should...!

    Bug or is there something I'm not getting?

    I can't follow/understand what you mean, but internally it works that way (maybe that helps understanding):

    • there is internally a variable that stores the time-code of the last-user-interaction
    • every frame there is a check for the elapsed time since that last-user-interaction - and there either the autorotating is handled and/or the onidle event called
    • when calling a autorotate.interrupt() only the last-user-interaction variable will be updated, that means that's the same as an normal user-interaction, it doesn't matter here if the pano is currently autorotating or if autorotate is currently paused...

    That means as said above it should work and I don't understand why it wouldn't in your case...

  • 1. Does the krpano scripting commands remain applicable to version v 1.19 and the previous onces (1.18 & 1.17 available on the download page)? Are there any 1.19 version specific commands out of them?

    The krpano xml syntax should be normally upward-compatibly for the most cases.

    I'm always trying to keep compatibly as good as possibly, e.g. when things get renamed with internal redirection from the old names to the new names to keep compatibly. Sometimes there are unfortunately also some changes, where this isn't possible and sometimes there can be also bugs of course, so when such happens just report it for analyzing the case.

    For new actions or changes in each version please check the release-notes (or in case of the pre-releases the forum new posts) and see (and optionally compare) the xml and actions documentations (you can switch between the versions by clicking the version number on the right-top of the documentation pages).

    2. Will the user plugins work for the1.19 (in VR mode) as well without any changes?

    That depends of course - 'VR mode' is basically just a different rendering mode, but in 'real' VR (WebVR) mode only WebGL content will be visible.

  • For example, in Flash image.type = "CUBE" while in HTML5 image.type = "cube". Same word, different casing. I assume that isn't intentional as problems can result.

    Right, that isn't intentional.

    At the moment the Flash version keeps the case from the xml as it is and the HTML5 version always convert it to lower-case.

    I will change the Flash version to do also an lower-case conversion. The default case for auto-detected types is also lower-case, so always using lower-case should be the best solution.

    Best regards,
    Klaus

  • The position of textfield-hotspots was wrong sometimes in some cases.

    I think the position relative issue is fixed.


    However, what problem I faced is that textfield-hotspots is set z-order by zorder property, and other image-hotspots' zorder works.
    Even if all hotspots' zorder are set properly, textfield-hotspots are on the top of top.

    After Investing the elements in chrome browser developer mode, I got to know that there's no image-hotspots but textfiled-hotspots.
    I think those image ones are in <canvas> element.

    Am I using textfield-plugin in a wrong way? or is it a kind of bug yet solved?


    Conditions.
    1. I'm using pre5.
    2. Those hotspots are inserted using JS interface dynamically.
    3. It works well in 1.18 version.

    *unsure*

  • I can't follow/understand what you mean, but internally it works that way (maybe that helps understanding):


    with no user interaction with the tour at all and:
    autoratate.enabled = true,
    autorotate.waittime = 4
    idletime = 6
    onidle="skin_nextscene(+1);"

    This works. 6 seconds after each pano loads the onidle event is triggered and a new scene loaded:

    onloadcomplete="autorotate.interrupt();"

    These don't work. No onidle event it called (after the first):

    onloadcomplete="autorotate.pause(); autorotate.interrupt();"
    onloadcomplete="autorotate.pause(); delayedcall(1, autorotate.interrupt());"
    onloadcomplete="autorotate.interrupt(); delayedcall(3,autorotate.pause());"


    But this works. Pause doesn't happen until just after autorotation starts. Then, although autorotation is paused onidle still fires:

    onloadcomplete="autorotate.interrupt(); delayedcall(5,autorotate.pause());"


    With everything else the same but with autorotation.enabled = false, all the above work.

    But even if the interrupt worked as expected it would still pause autorotation for the waittime. What if you don't want that to happen? Say if you want to cycle between multiple views of the same scene over time? Autorotate.reset() causes a distracting pause with each new pano. To me the problems caused by resetting onidle with each pano change don't out way those of not resetting. It also breaks backward compatibility.

    If you aren't convinced perhaps you can give us an onidle.reset() command.

    Of course we could build our own "on_idle" action... but why?

  • Hi,
    I have a problem with a pano containing several video and several image (all 360 scenes)
    First time I load a video scene, I have the right sources (addsource) and right title
    Then I open an image scene: the video skin is still there !!
    then I load previous or another video scene: I have only the played source in the menu and no more video title on top of timeline

    What is the right way ?
    My video scenes are like in krpano-1.19-pr5\viewer\examples\videopano

  • What I can do:

    <scene name="myvideo" title="myvideo" onstart="set(skin_video_setup_done, false);skin_video_setup()">
    <events onremovepano="removelayer(skin_layer, true);" />
    -> then video title is loaded ok between videos, and the video player isn't shown anymore on other scenes
    But menu quality is still empty on second video scene loaded and up

    what does not work (change nothing):
    <include url="skin/videointerface.xml" keep="false"/>
    <plugin name="video" keep="false"
    <events onremovepano="removeplugin(video, true);" />

  • What would be an action in videointerface.xml that delete all video sources to reset the quality sub menu ?

    Code
    removelayer(skin_settings_q1);
    removelayer(skin_settings_q2);
    removelayer(skin_settings_q3);

    doesn't work

  • also, the play/pause button stay on play when switching scene to another video. Never get back to pause state even if video is paused.

    Is there an example somewhere with 1.19pr5 and at least two video scene ?? *cry*

  • ok, this work :

    <events onremovepano="
    set(skin_video_setup_done, false);
    videosources.removearrayitem('vLow 1024');
    videosources.removearrayitem('vHigh 1920');
    " />


    maybe an action resetVideoSources in videointerface.xml would help !

  • Hi,

    we're experiencing some crashes with pr5 that didn't occur with pr3. Both Chrome and Firefox are affected. It's difficult to be specific as the crashes are not easily reproducible. In case of Chrome, the tab shows the crash message, in case of Firefox either the panorama becomes black and/or the browser completely crashes. Sorry for the lack of details, but that's all we found for now. Does anybody else have similar issues?

    Regards
    Daniel

  • Hi,

    I have a problem with a pano containing several video and several image (all 360 scenes)
    ...
    What is the right way ?

    The 'videopano' example isn't designed for tours, multiple scenes.

    Use the normal vtourskin.xml instead, this one has tour+videopano support. Add isvideopano="true" to the <scene> and use a video-pano <image> element in the scene itself.


    However, what problem I faced is that textfield-hotspots is set z-order by zorder property, and other image-hotspots' zorder works.

    Add renderer="css3d" to your image hotspots.

    Since 1.19-pr4 image- and video-hotspots are rendered by WebGL by default, text-hotspots are still rendered by CSS3D. Mixing the order between WebGL and CSS3D is not possible (WebGL is below/behind CSS3D).


    we're experiencing some crashes with pr5 that didn't occur with pr3. Both Chrome and Firefox are affected.

    One change is the usage of WebGL for the hotspot rendering, but that's not nothing that's instable or can directly lead to crash. When both browsers are crashing that's probably a problem of your graphic card drivers...

    Best regards,
    Klaus

  • Hi Klaus,

    Here's a fun one that has caused me no end of frustration to debug: If a button is used to start a process involving nexttick actions and the button is removed (with removelayer) all subsequent nexttick actions are ignored.... But only in HTML5.

    To see this in action open the HTML5 or Flash pages below. Open a trace window (click the pano then press o). Then click the YES button. A simple function is called and repeats:

    Code
    <action name="cue_test">
     	trace("Cue Test Called");
    	nexttick(trace("  Next Tick Success"));
    	delayedcall(1, cue_test);
    </action>


    After four seconds the YES button is removed. In HTML5 the nexttick actions stop. In Flash they don't. I am sure this is not the intended behavior and has caused me no end of trouble. Can this please be fixed in the next update or sooner???

    HTML5 Example

    Flash Comparison

  • It seems device check is handled differently

    In the following code:

    Code
    <layer ...   url="image1.jpg"  url.normal="another_image.jpg" />


    Run this on a desktop. In HTML5 the url.normal= gets loaded. In Flash url= gets loaded. I'm sure that isn't the intended behavior. In the above case url.mobile="image1.jpg" is an easy workaround, of course.

    This doesn't happen for all attributes, it seems. Between scale and scale.normal, scale.normal is chosen on desktops in for HTML5 and Flash.

  • Hi,
    i've tried to upgrade from 1.18.6 to 1.19-pr5 because audio on iOS seems to work only with 1.19. Works fine on iOS 9, but I've noticed on a similar test device with iOS 8, that videos don't play at all, they just seem to be stuck at the beginning. If there is extra audio, only the audio plays.
    By the way, thanks for your great work (and your creative workarounds for mobile problems).
    Best regards

  • Hi - about:

    It seems device check is handled differently

    and this code:

    Code
    url="image1.jpg"
    url.normal="another_image.jpg"


    That's invalid usage!

    See the 'Important to know' note in the device check documentation:
    https://krpano.com/docu/xml/#top

    According to the xml specification the order of the attributes is undefined!
    That means regardless of how they are ordered in the xml, it depends on the xml parser in which order they will be passed to the application.

    Some browsers use the order from xml, some others not (and e.g. pass the attributes in a random order)!

    That means in some cases krpano will get :
    1. url = "image1.jpg"
    2. url.normal = "another_image.jpg"
    and in some other cases it will get:
    1. url.normal = "another_image.jpg"
    2. url = "image1.jpg"

    The problem here is that 'url.normal' are 'url' are overlapping and not unique definition!

    The correct usage would be e.g. this one:

    Code
    url.normal = "image1.jpg"
    url.mobile = "another_image.jpg"


    The definitions 'url.normal' and 'url.mobile' are unique and so their order doesn't matter.

  • Hi,

    i've tried to upgrade from 1.18.6 to 1.19-pr5 because audio on iOS seems to work only with 1.19. Works fine on iOS 9, but I've noticed on a similar test device with iOS 8, that videos don't play at all, they just seem to be stuck at the beginning. If there is extra audio, only the audio plays.

    Please create a new/separate thread and post there your example.

    Best regards,
    Klaus

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!