Posts by billjones

    I saw the thread from last year on presentation of tours, does anyone know what technology or package they are using, and I also saw that this might be added to krpano, any updates?

    I am well aware that the tours will not provide a living, they are just the icing on the cake. I get hired for the photography and turn around.

    Thanks for pointing out the black screen. I had just added a soundinterface routine that prevents the tours from being viewed on the iPad. So no sound for now *sad*

    I am out on linkedin a lot and belong to several of the real estate photography professionals groups. We discuss what is best, yadda yadda. The common belief is that 'spinners' are dead. I don't believe so and continue to offer them. What I am looking for in this thread is a discussion on what the best possible virtual tour would be. What you like, what you don't like and try to look at the presentation as if you where a real estate buyer and if you where an agent that I need to impress.

    Here are two that I have done recently. It's a high end home, but I also do the bread and butter homes as well. (not yet live so the data hasn't been added)


    I love this interface, it's perfect except I want to start the tour with the sound on by default. Where do make the change? And is there a way to have a list of songs to play, not to choose from but to go from song 1 to song 2, then 3 etc.

    <!-- Change only paramaters of this style to change position and size of sound buttons -->
    <!-- DO NOT use relative(%) size and/or position --> <!-- align="right" NOT ACCEPTED -->
    <style name="button" url="plugins/boutons_son.png" zorder="1" alpha="0.9" align="leftbottom" x="20" y="650" width="25" height="prop"/>

    <plugin name="sound_off" style="button" keep="true" crop="150|0|50|80" edge="leftbottom" visible="false" onhover="showtext(Pause sound)" onover="set(alpha,get(alphab)); set(NOHIDE,false); set(plugin[slider_bg].visible,true); tween(plugin[slider_bg].alpha,get(alphab),0.1);" onout="set(alpha,get(style[button].alpha)); delayedcall(0.1, if(NOHIDE== false, tween(plugin[slider_bg].alpha,0,0.2);)); " onclick="pausesound1()" onloaded="setbuttonandslider();"/>
    <plugin name="sound_on" style="button" keep="true" crop="0|0|50|80" edge="leftbottom" visible="true" onhover="showtext(Play sound)" onover="set(alpha,get(alphab));" onout="set(alpha,get(style[button].alpha));" onclick="playsound1()"/>

    <!-- Change url of the soundinterface plugin and name/url of mp3 file to play -->
    <plugin name="soundinterface" url="plugins/soundinterface.swf" keep="true" preload="true" rootpath="" volume="1" onloaded="preloadsound(mp3filetoplay.mp3);"/>

    <!-- Change name/url of mp3 file to play -->
    <action name="playsound1">
    stopallsounds(); set(VM,1);
    playsound(sound1,mp3filetoplay.mp3,1,set(plugin[sound_on].visible,true);set(plugin[sound_off].visible,false);set(plugin[sound_on].onhover,showtext(Play sound));set(plugin[sound_on].onclick,playsound1();); tween(plugin[slider_bg].alpha,0,0.2,null, set(plugin[slider_bg].visible,false);););

    <action name="setbuttonandslider">
    mul(alphaa,get(style[button].alpha),2); div(alphab,get(style[button].alpha),1.5); set(plugin[slider_grip].alpha,get(alphaa)); div(alphac,get(alphaa),3);
    set(plugin[slider_bg].align,get(style[button].align)); set(plugin[slider_bg].edge,get(plugin[sound_off].edge)); set(plugin[slider_bg].zorder,get(style[button].zorder));
    add(Bx,get(style[button].x),get(style[button].width)); add(Sx,Bx,5); set(plugin[slider_bg].x,get(Sx)); set(plugin[slider_bg].y,get(style[button].y)); mul(Sw,get(style[button].width),5); set(plugin[slider_bg].width,get(Sw)); set(plugin[slider_bg].height,get(style[button].height));
    mul(Gx,get(plugin[slider_bg].width),0.89); set(plugin[slider_grip].x,get(Gx));

    <action name="resumesound1">
    set(plugin[sound_on].visible,false); set(plugin[sound_off].visible,true); resumesound(sound1); tween(soundinterface.volume,get(VM),1,easeInQuint);

    <action name="pausesound1">
    set(plugin[sound_off].visible,false); set(plugin[slider_bg].visible,false); set(plugin[sound_on].visible,true); set(plugin[sound_on].onhover,showtext(Resume sound)); set(plugin[sound_on].onclick,resumesound1();); tween(soundinterface.volume,0,1,easeOutQuint, pausesound(sound1) );

    <!-- volume slider -->
    <plugin name="slider_bg" url="plugins/boutons_son.png" crop="201|0|270|80" zorder="" keep="true" align="" edge="" width="" height="" x="" y="" visible="false" handcursor="false" alpha="0" onhover="showtext(Volume control)" onover="set(NOHIDE,true); set(plugin[slider_bg].visible,true); tween(plugin[slider_bg].alpha,get(alphab),0.1); set(plugin[sound_off].alpha,get(alphab));" onout="set(NOHIDE,false); tween(plugin[slider_bg].alpha,0,0.2); set(plugin[sound_off].alpha,get(style[button].alpha));"/>
    <plugin name="slider_grip" url="plugins/boutons_son.png" crop="470|0|25|80" zorder="10" keep="true" align="lefttop" edge="lefttop" parent="slider_bg" width="10%" height="110%" x="" y="0" ondown="startdragingslider();" onup="stopdragingslider();"/>

    <textstyle name="invisiblestyle" font="Arial" fontsize="1" border="false" background="false" textcolor="0x000000" effect=""/>
    <action name="startdragingslider">
    set(plugin[slider_grip].backup_align, get(plugin[slider_grip].align));
    set(plugin[slider_grip].backup_edge, get(plugin[slider_grip].edge));
    sub(mouse_x_offset, plugin[slider_grip].x, mouse.x);
    sub(mouse_y_offset, plugin[slider_grip].y, mouse.y);

    <action name="stopdragingslider">
    set(image_dragging, false); set(plugin[slider_grip].alpha,get(alphaa)); set(plugin[slider_grip].onhover,);

    <action name="dragslider">
    add(xpos, mouse.x, mouse_x_offset);
    mul(xmax, plugin[slider_bg].width,0.9);
    if(xpos LT 0, set(xpos,0));
    if(xpos GT xmax, copy(xpos,xmax));
    copy(plugin[slider_grip].x, xpos);

    <!-- VM = 0.0 ... 1.0 -->
    div(VM, xpos, xmax);

    if(VM == 0, set(plugin[sound_off].crop,0|0|50|80););
    if(VM GT 0.15, set(plugin[sound_off].crop,50|0|50|80););
    if(VM GT 0.4, set(plugin[sound_off].crop,100|0|50|80););
    if(VM GT 0.7, set(plugin[sound_off].crop,150|0|50|80););

    delayedcall(0.01, dragslider() );
    plugin[slider_grip].changeorigin(get(plugin[slider_grip].backup_align), get(plugin[slider_grip].backup_edge));

    <action name="setvolume">

    I am playing with krpano and panotour, site reflects efforts with both. I would prefer it to end up being a krpano project. Panotour at the time being barfs on the spherical and also encrypts the xml files.

    I wish to have the tour consist of slides (flat) and sphericals. I have tried to use bombtimer and have only had success making one transition.

    I need to have code that can differentiate between flat and spherical (5 seconds for flat, long enough for one full turn on the sphericals. I would like to be able to add it to the templates, either by the hotspot.xml or vtour, probably parts in both.

    If the hotspot is used then both can be inserted and I delete the opposite unit in each scene.

    I know I will have to have it written and pay for it but first I need to define my wish list so it's only done once.

    If this was your project, what would you want? and who can write it?


    I have tried many variation of the following which is inserted into each scene statement. Nothing happens ???

    <action name="scenetimer">
    delayedcall(5, loadnext());
    <action name="loadnext">
    loadscene(get(NextScene), null, MERGE);

    What is incorrect

    in have the crossdomain.wml in the root of

    <?xml version="1.0" encoding="utf-8"?>

    <!DOCTYPE cross-domain-policy SYSTEM "">


    <allow-access-from domain="" />
    <allow-access-from domain="*" />
    <allow-access-from domain="" />
    <allow-access-from domain="" />

    in the index.html located in the vtour folder of[/size]

    <!DOCTYPE html>
    <title> Oregon's Premier Virtual Tours </title>
    <meta name="viewport" content="target-densitydpi=device-dpi, width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0" />
    <meta name="apple-mobile-web-app-capable" content="yes" />
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
    @media only screen and (min-device-width: 800px) { html { overflow:hidden; } }
    html { height:100%; }
    body { height:100%; overflow: hidden; margin:0; padding:0; font-family:Arial, Helvetica, sans-serif; font-size:16px; color:#FFFFFF; background-color:#000000; }
    a{ color:#AAAAAA; text-decoration:underline; }
    a:hover{ color:#FFFFFF; text-decoration:underline; }

    <script src=""></script>

    <div id="pano" style="width:100%; height:100%;">
    <noscript><table style="width:100%;height:100%;"><tr style="valign:middle;"><td><div style="text-align:center;">ERROR:<br/><br/>Javascript not activated<br/><br/></div></td></tr></table></noscript>
    embedpano({swf:"", xml:"tour.xml", target:"pano", html5:"auto", passQueryParameters:true});


    in the tour.xml located in the vtour folder of http://[size=10][/size]

    <cross-domain-policy url="" />