You are not logged in.

Dear visitor, welcome to krpano.com Forum. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

1

Tuesday, August 4th 2015, 3:54pm

krpano 1.19 - Pre Release 3

Hi,

here the next snapshot of the development state of the next 1.19 version. Even though it's not finished and feature complete yet, there are some new features and fixes and it's ready to use.

News and changes in krpano 1.19 Pre-Release 3

For information about the previous pre-releases, please see here:

WebVR / MobileVR Support

  • Wakelock support - avoid that the mobile device turns itself off while being in VR mode.
  • Chromatic aberration correction support for Mobile VR (=better visual quality).
  • Additional post-processing Lens distortion for Mobile VR.
  • New multiresolution locking - when enabled all tiles from a certain multiresolution level will be preloaded when being in VR mode. This avoids loading interrupts during the viewing.
  • Improved Fake Mode - direct mouse control (when pointerlock is supported by the browser), resetsensor() emulation. The fake mode is now enabled by default in the vtourskin.xml.
  • Improved headset tracking stability for mobile devices (skip invalid browser events and invalid gyro data, limit the extrapolation time to avoid bad tracking on low framerates or short pauses).
  • Other news, changes and fixes:
    • Optional, additional touch control.
    • Optional automatic gyroscope calibration.
    • Support more Android devices for automatic screen-size detection.
    • New havesettings to allow checking if user settings were loaded (could be used to show a first time setup screen).
    • The load/savesettings(storage) action support an additional parameter to optionally load and store the vr settings also only locally (to avoid a cross-domain web access).
    • The cross-domain settings storage iframe will be loaded into the into the viewer DOM to avoid problems with dynamically removing the viewer from the webpage.
    • The webvr.xml was updated and has got some smaller fixes.

krpano 1.19 Pre-Release VR Demonstration:


krpano HTML5 Viewer

  • Microsoft Edge (Windows 10) browser support.
  • Improved pano blending (when WebGL is availabe) - support seamless blending across an infinite number of panos, new nice blending modes/effects - Demo: Pano Blending
  • Improved pixelgrid-fitting when using a fractional page-scaling / page-zoom (some Android and Windows Phone devices are doing that by default).
  • New display.framebufferscale setting for custom adjusting of the internal WebGL buffer size. Use lower values to improve the rendering performance on slower devices (e.g. in VR mode on Android devices) and higher values to do oversampling for better image quality.
  • New webglsettings settings (via embedding script) for customizing the WebGL usage.
  • Colored krpano log and colored browser console log.
  • Improved backward compatibility for the new action parser (especially for empty string parameter checks).
  • Fixes:
    • The loading of multiresolution stereoscopic images wasn't fully working.
    • A wrong (too low) WebVR rendering target resolution was used in the native WebVR mode.
    • Respect the stereooverlap setting when hit-testing in stereo rendering mode.
    • Wrong mouse cursor in some cases when using WebGL hotspot rendering.
    • Filter invalid 0-bytes from decrpyted encrypted xml files.
    • Inaccurate CSS3D transforms number rounding in some cases.
    • Polygon hotspots were kept visible when switching to stereo mode.
    • Flat pano-videos weren't working when they were defined as flat already on startup.
    • The progress.progress values tracks now the loading of the locked level.
    • The device.pixelratio will be updated on resizes - the user might have changed the page zoom.
    • Use the correct pixelratio for the mulitres level selection on desktop.
    • Partial wmode=transparent support in WebGL.
    • Workaround for the iOS9 turn-off/turn-on WebGL canvas size bug.
    • Bypass control keyboard keys (like TAB) for browser-side handling.

VTour Skin

  • The new Flat skin will be used by default now.
  • Little planet intro - the vtourskin.xml has now a build-in little planet intro support, just set the 'littleplanetintro' setting in the tour.xml to 'true'.
  • Deep linking - the vtourskin.xml has now a build-in deep-linking support. That means the browser url will get automatically updated to link to the current scene and viewing point. To enable it, just set the 'deeplinking' setting in the tour.xml to 'true'.
  • The VR fake mode will be enabled by default - to give the desktop user an idea of the possibilities when watching the tour with a VR headsets.
  • Use different pano-blending modes when switching to the previous-pano (slide-left-effect), or to the next pano (slide-right-effect) or when opening a pano via thumbnails or hotspots (open-zoom-effect).
  • New 'startactions' startup setting - passes custom startup actions via the tour url.
  • Support additionally to PAGEUP, PAGEDOWN also the HOME, END keys for the tour keyboard navigation.
  • Flat skins - calculate the contextmenu background color for touch devices automatically from the base skin color. That means only one color would need to be changed to change all skin colors.
  • New skin_hideskin('instant') action for instantly hiding the vtour skin (e.g. on startup).
  • Changes / Fixes:
    • The circles around the zoom button icons in the vtourskin_light.png were removed.
    • The vtourskin.xml uses now a relative url for skin style image.
    • Correct non-stereo portrait mode when switching the VR mode without resizing.
    • Missing 'var' definition for the 'dh' variable in 'webvr_menu_following' action.
    • Hide the VR navigation hotspots when there is only one pano in the tour.
    • Flat skins - no controlbar overlap devices with a fractional scaling (to avoid visual problems due browser-side scaling and rounding).

XML / Actions

  • New <style> and style="..." behavior of the krpano xml parser:
    • When a xml element will be parsed into objects and values, then first the values from the assigned <style> will be loaded and then as second step the values that were defined at the xml element itself.
    • That means values from a <style> can be overwritten at the xml element definition now.
    • style="..." can be used now on all xml elements (not just plugin, layer and hotspot).
  • Additionally Javascript actions:
  • Support the bitwise operators <<, LSHT (left bitshift), >>, RSHT (right bitshift), BAND (bitwise-AND), BOR (bitwise-OR) in expressions.
  • New Array sorting via arrayname.sortby(attr).
  • Support using get:var and calc:expr inside <include> url values.
  • Support using calc(...) inside array[] indices.
  • New txtsplit() action for splitting texts into arrays.
  • New parameter for the error(msg, fatal=true) action for tracing non-fatal error messages.
  • New parameters for the lookat(h,v,fov, distortion, archi, pannini) action.
  • New xml.view object - it will store the initial <view> element from the xml. Could be used to get the startup view settings of the current pano.
  • New image.cubelabels setting for defining custom lables for %s cube side placeholder.
  • The view.fisheye setting has been renamed to view.distortion, but the old name is still supported and working.
  • New device.fractionalscaling device check for detecting devices or browsers with a fractional page scaling.
  • The addplugin/addlayer/addhotspot actions are now returning the new created element (when called from Javascript or AS3).
  • New hotspot.polyline setting to draw line-polygons instead of filled-polygons.
  • Fixes:
    • The screentosphere() action supports stereo rendering.
    • Changing the autorotate waittime during autorotating.
    • Action parser error when using '|' in a string.
    • Dispatching events - check if the event has got removed during dispatching.
    • Check multi-variable tweens for valid values to avoid a script crash.

Gyro2 Plugin

  • Touch support (several modes).
  • Automatic gyroscope calibration.
  • New friction setting for dampening the vibration of the gyro movement. When using friction=auto the dampening will automatically depend on the zoom level (helpful on large gigapixel panos when zooming in, works like an lens image stabilizer).
  • support for flat panos - pan relatively to device motion
  • Improved tracking stability - skip invalid browser events and invalid startup gyro data, limit the extrapolation time to avoid bad tracking on low framerates or short pauses.

Other...

  • Textfield Plugin - automatically convert any occurrence of '0x' to '#' in the css setting to allow using the same color value syntax as in the krpano xml.
  • Soundinterface Plugin - don't re-resume paused sounds on window restore, avoid script crashes when passing invalid values.
  • Videoplayer Plugin - avoid script errors when the posterimage finished loading after removing the videoplayer plugin, the use_as_videopano settings returned null instead of false.
  • Maps Plugins - automatically use the HTTPS mapsapi for HTTPs pages.
  • Update Tool - support updating xml plugins.

Why still a Pre-Release?

  • The WebGL hotspot rendering is still not finished yet.
  • The krpano tools are not finished yet.
  • Several features and some known bugs (e.g. videopano autorotate, video pano/layer switching) are not finished/fixed yet.
  • The krpano webpage, the documentation and the examples are not fully updated yet.
  • But beside of this, the pre-release version itself should be stable and ready to use.

Download



Best regards,
Klaus


benji33

Intermediate

Posts: 244

Location: France

Occupation: Senior Software engineer

  • Send private message

2

Tuesday, August 4th 2015, 4:41pm

*thumbup*

herrpedro

Intermediate

Posts: 207

Location: Lisbon

Occupation: Programmer/analyst

  • Send private message

3

Tuesday, August 4th 2015, 6:33pm

*thumbsup*

ramirox3

Intermediate

Posts: 351

Location: La Ceja, Colombia

Occupation: photographer

  • Send private message

4

Tuesday, August 4th 2015, 8:07pm

Thank for this new update *thumbsup*
when I try extract files in windows 10 ! a screen appears with the following : C:\Users\Ramiro\Downloads\krpano-1.19-pr3-win.exe: Cannot open C:\Users\Ramiro\Downloads\krpano-1.19-pr3-win.exe.

When I try execute krpano-1.19-pr3-win.exe a screen appears with the following : Can no open file "C:\Users\Ramiro\Downloads\krpano-1.19-pr3-win.exe" as archive


When I try extract with winrar : ! C:\Users\Ramiro\Downloads\krpano-1.19-pr3-win.exe: The archive is corrupt


Ramiro



5

Tuesday, August 4th 2015, 8:30pm

Hi,

that means the file was downloaded only partially and therefore is corrupt now.
Clear the browser cache and try downloading again.

Try also switching the download server (krpano.com or Amazon CloudFront). Depending on your location the one or the other should work better.

Best regards,
Klaus

ramirox3

Intermediate

Posts: 351

Location: La Ceja, Colombia

Occupation: photographer

  • Send private message

6

Tuesday, August 4th 2015, 9:32pm

Thanks, already all is fine *g*

7

Tuesday, August 4th 2015, 10:55pm

Great !

I don't know if it's documented (as i didn't found mention of it) but with the new Style,
You have to set your maps spot style outside of the maps <> otherwise <spotstyle> create errors...not finding style
( i got errors when having several <spotstyle> inside the <maps plugin> and with spots having a style="" attribute )

All is fine,
Great job Klaus *thumbsup*

andrew22222

Intermediate

Posts: 395

Location: Australia

  • Send private message

8

Wednesday, August 5th 2015, 2:22am

Many thanks for the update.

I'm working on an tour app and used the Update tool to get the new prerelease .js & .swf files plus added added the newer plugins. All seems to work fine except the audio plugin that I use is a now a no show.

Source code

1
<style name="audio" url="%HTMLPATH%/skin/speaker.png" scale="0.5" />


This is the plugin that's added to the scene

Source code

1
2
3
<plugin name="audio" style="audio" align="topleft" keep="false" zorder="8" alpha="1.0" scale="" enabled="true" x="0" y="0" onhover="showtext(Audio, buttons)" onclick="onclickA();"				
onclickA="if( activesound !== name,set(plugin[get(activesound)].onclick,onclickA()););	play_sound_1(sound1, sounds/dakota.mp3,get(name)); 		set(plugin[get(name)].onclick,onclickB());"				
onclickB="pause_sound_1(sound1);set(plugin[get(name)].onclick,onclickA());"/>


and here's part of my actions page

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<events onnewscene="
		callwith(hotspot[get(activesound)], onclickB());
		set(activesound, none);
		stopallsounds();"
		/> 	

<plugin name="soundinterface" url="plugins/soundinterface.swf" alturl="plugins/soundinterface.js" keep="true" preload="true" rootpath="" volume="1" onloaded=""/>

	
<action name="play_sound_1">
	stopallsounds(); 
	set(is_playing, true); 
	set(volume_level, 1); 
	set(activesound,%3);
	playsound(%1,%2, 1,
<!--  oncomplete actions  -->
	set(plugin[sound].onclick, play_sound_1()); 
	set(activesound,none); );
</action>
<action name="pause_sound_1">
	pausesound(%1)); 
	set_(plugin[sound].onclick, resume_sound_1());
</action>
<action name="resume_sound_1">
	resumesound(%1); 
</action>



Do you know offhand what would cause the no show issue when using the newer Pre release 3? Seems a shame for me not to be able to use it especially when all the rest is good *sad*

Many thanks,

Andrew

*****************

Thanks for noticing that Red. It still worked with the code as is so I must have missed it. I completed the code but no change. What's odd is that the plugin 'audio' doesn't actually display with Pre release 3 so thought I'd ask here. Perhaps it's something to do with style?

*****************

This post has been edited 1 times, last edit by "andrew22222" (Aug 5th 2015, 3:48am)


Red

Trainee

Posts: 99

Location: Australia

Occupation: Virtual tour creator, VR app developer

  • Send private message

9

Wednesday, August 5th 2015, 2:38am

Thanks for another great release Klaus!

Andrew, not sure if this will solve your issue but noticed one of the lines of code in your actions is not complete.

playsound(%1,%2, 1,

10

Wednesday, August 5th 2015, 6:35am

Hi,

don't know if it's documented (as i didn't found mention of it) but with the new Style,
You have to set your maps spot style outside of the maps <> otherwise create errors...not finding style
Right, the new style xml behavior unfortunately conflicts with the maps plugin where 'style' was also used as attribute. I will think about compatibility solutions, but it might be necessary to rename the 'style' attribute in the maps plugins spots to 'spotstyle'...


All seems to work fine except the audio plugin that I use is a now a no show.
The reason should be the new style behavior here too, but the problem happens only because an invalid value for 'scale' will be used.

Look at the 'scale' values:
<style name="audio" ... scale="0.5" />
<plugin name="audio" style="audio" ... scale="" ... />


In the older versions the scale value from the style was used (0.5), but now the scale value from the plugin itself will be used and this value is "" - and that's an invalid value and causes that the element has a no scale/size and will be invisible due this.

Remove either the invalid scale="" or use a valid value for it and it should work.

Best regards,
Klaus

martyhr

Intermediate

Posts: 384

Location: CZ

  • Send private message

11

Wednesday, August 5th 2015, 9:31am

SUPER.
Thank you.
I like the pano blending!

andrew22222

Intermediate

Posts: 395

Location: Australia

  • Send private message

12

Wednesday, August 5th 2015, 10:33am

Many thanks o Wise One

I didn't notice the additional
scale="" on the plugin. I just did a search and replace in Dreamweaver and got rid of them all so it works now.

Apologies for hijacking the thread to get it fixed. Strange it worked on the older krpano version though.


Cheers
*thumbsup*

13

Wednesday, August 5th 2015, 11:55am

Offline Problem

Hi

I notice a problem when i watch Pano offline
(iPhone 5s - software Goodreader - whits this software i storage Pano on iPhone)

with Version PR 2 - in VR mode Pano after few minuts lock-up.

now with Version PR 3 its not lock up - but after a while change view from VR to normal view

1. i opened Tour on phone
2. i change the view to vr mode
3. after few minuts its change from Vr to normal view

i made video with this issue:


https://www.youtube.com/watch?v=J-godUf528s&feature=youtu.be
Cheers
Tom

This post has been edited 1 times, last edit by "torentvr" (Aug 5th 2015, 12:13pm)


benji33

Intermediate

Posts: 244

Location: France

Occupation: Senior Software engineer

  • Send private message

14

Wednesday, August 5th 2015, 3:37pm

After a reset of the webvr settings I can have the new ca and dist2 with ca value empty and dist2 (first part to 1.000 and other parts empty).
Also the textfields can have a bad alignement.

Seems tlinked to the receive of null rather than a 0.00 value on get(i_dist) into the setup for instance.
Is it linked to the online storage of the data which is pre2 and not pre3 compatible ?

This post has been edited 2 times, last edit by "benji33" (Aug 5th 2015, 4:08pm)


15

Wednesday, August 5th 2015, 4:15pm

Hi,

Quoted

i made video with this issue:
https://www.youtube.com/watch?v=J-godUf528s&feature=youtu.be
Thanks for the video - that seems to be an incompatibility between the Goodreader and the wakelock hack.

The 'wakelock' should avoid that the device turns itself off when there are no touches on the screen for a while (like when using the VR mode).

As there is no browser API for avoiding the device turn-off, it's necessary to use 'browser hacks' - and the hack for the iOS Safari browser is to request a page-reload (every 15 seconds) and then directly stopping that reloading request. By doing that the Safari browser internally resets it's turn-off timeout and the device keeps on.

The hack itself works for Safari, but maybe Goodreader works internally different and than causes the page reload there...

You can disable the wakelock hack by setting the 'mobilevr_wakelock' setting in the webvr.xml to 'false':
http://krpano.com/plugins/webvr/#mobilevr_wakelock




Quoted

After a reset of the webvr settings I can have the new ca and dist2 with ca value empty and dist2 (first part to 1.000 and other parts empty).
What do you mean with 'after a reset'?
The default value for mobilevr_lens_dist2 is "1|0|0|0" and for mobilevr_lens_ca 0.0.



Quoted

Also the textfields can have a bad alignement.
Which textfields in which case?
What do you mean? *confused*

Best regards,
Klaus

16

Wednesday, August 5th 2015, 4:51pm

that seems to be an incompatibility between the Goodreader and the wakelock hack.
Hi Klaus

Thanks for quick reply!.

i change settings and it's work now propely, i play with it 10 minuts and have no problem all works great!

Thanks Klaus!!

benji33

Intermediate

Posts: 244

Location: France

Occupation: Senior Software engineer

  • Send private message

17

Wednesday, August 5th 2015, 5:44pm

Hi Klaus in fact it's seems that it's linked to an issue.

Try this with vr_setup action called on entervr with a saved distortion equal to '0.00' (VR One headset for instance).

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<action name="vr_setup">
	copy(i_dist, webvr.mobilevr_lens_dist);
	roundval(i_dist, 2);

	vr_setup_value_test(get(i_dist));
</action>

<action name="vr_setup_value_test">
set(my_value_test, %1); <!-- same with set(mytest, '%1'); -->
if (my_value_test == '',
	showlog();
	trace('If distortion is equal to 0.00 my equal to empty string test is true');
);
</action>


Work only if the condition is if ('%1' == '', ... );


EDIT : after a good night I thing that the === should be the solution ! As js the 0 == '' is working.

This post has been edited 1 times, last edit by "benji33" (Aug 6th 2015, 7:51am)


Zephyr

Professional

Posts: 1,003

Location: Netherlands

Occupation: Web developer

  • Send private message

18

Wednesday, August 5th 2015, 10:13pm

Awesome Klaus!

That calc is so powerfull! No more txtadd to get the correct var or doing a onloaded for setting dynamic vars. Also the jsget and jscall saves a lot of boilerplate. And that <style improvement was something I waited for a long time. All in all alot of great features for us coders :D

Could the calc also be used for more complex calculations? Like xoffset + Math.sin(angle * Math.PI / 180) * radius

Alexey Tkachenko

Professional

Posts: 770

Location: Russian Federation

Occupation: Interpreting, Building virtual tours

  • Send private message

19

Thursday, August 6th 2015, 10:29am

Thank you, Klaus for this great release!

Just one question. In 1.18 tours I used the following js function to select html5 usage:

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
function selecthtml5usage()
	  {
	  var ua = navigator.userAgent; 
	  
		if (ua.search(/Chrome/) > 0)
		 return "prefer";
		 
		if (ua.search(/Firefox/) > 0)
		 return "prefer";
		 
		 // for all other cases use html5=auto:
		 return "auto";
	  }


and it was returning "prefer" for Chrome and Firefox and "auto" for all other cases.

With 1.19.pr3, however, it uses Flashplayer in Chrome despite the html5:"prefer". Maybe I'm missing something...
Regards,

Alexey

20

Thursday, August 6th 2015, 10:38am

Hi,
Could the calc also be used for more complex calculations? Like xoffset + Math.sin(angle * Math.PI / 180) * radius
Calling functions like Math.sin() in an expressions is not possible yet.

See here the updated documentation about the current possibilities of expressions:
http://krpano.com/docu/actions/#expressions


With 1.19.pr3, however, it uses Flashplayer in Chrome despite the html5:"prefer". Maybe I'm missing something...
That means you using local 'file://' urls - and Chrome doesn't allow loading local xml files in HTML5 by default. There would be always an xml network loading error in this case. Therefore the embedding script falls back to Flash when using html5=prefer and Chrome with local file:// urls (btw - this is not new to 1.19).

For local testing I would always recommend using a localhost server, e.g. like the krpano Testing Server.

Best regards,
Klaus