Changeset 3235663
- Timestamp:
- 02/05/2025 08:08:28 PM (14 months ago)
- Location:
- genolve-toolkit/trunk
- Files:
-
- 7 edited
-
css/genolve-style.css (modified) (8 diffs)
-
genolve-toolkit.php (modified) (1 diff)
-
inc/functions.php (modified) (4 diffs)
-
js/bootstrap-4-0-ns/css/bootstrap-ns.css (modified) (2 diffs)
-
js/genolve-3rdparty.js (modified) (1 diff)
-
js/genolve-sound.js (modified) (1 diff)
-
readme.txt (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
genolve-toolkit/trunk/css/genolve-style.css
r3027954 r3235663 40 40 } 41 41 .gnlv-svg-mask3 { 42 filter: url(#g_maskinnershadow);42 filter: blur(5px); 43 43 } 44 44 .gnlv-svg-mask4 { … … 46 46 } /* these are in test_template_helpers */ 47 47 .gnlv-svg-mask5 { 48 filter: url(#g_mask invert);48 filter: url(#g_masktornedge); 49 49 } 50 50 .gnlv-svg-mask6 { … … 55 55 } 56 56 .gnlv-svg-mask8 { 57 filter: url(#g_mask vlines);57 filter: url(#g_maskwavyedge); 58 58 } 59 59 .gnlv-svg-mask9 { 60 filter: url(#g_mask vlinesani);60 filter: url(#g_maskwavyedgeani); 61 61 } 62 62 .gnlv-svg-maskt2 { … … 100 100 transform:translate(-500px,-500px) ; 101 101 } 102 .gnlv-nine { 103 transform-origin: center center; 104 animation: gnlv-spin-ani 15s infinite; 105 } 102 106 */ 107 .gnlv-oline-use { 108 fill: none; 109 stroke: #FFFFFF; 110 stroke-width: 8; 111 } 112 .gnlv-aline { 113 fill: none; 114 stroke: #FFFFFF; 115 stroke-width: 8; 116 } 117 .gnlv-bline-slide { 118 fill: none; 119 stroke: var(--g_kula1,#FFCC33); 120 stroke-width: 8; 121 } 122 .gnlv-bline { 123 /*pathLength:1000; no effect put as prop 124 dont set other props to not clobber border or gradient 125 fill: none; 126 stroke: var(--g_kula1,#FFCC33); 127 stroke-width: 8; 128 */ 129 stroke-linecap:round; 130 stroke-dasharray:500 500; 131 stroke-dashoffset:1; 132 } 133 .gnlv-ninty { 134 animation: gnlv-rotate-ani 35s infinite; 135 } 103 136 .gnlv-invrt { 104 137 fill-rule:evenodd; … … 141 174 animation: gnlv-width 2s linear forwards ; 142 175 } 176 .gnlv-aniwidth30 { 177 background: #FC3; 178 height: 30px; 179 animation: gnlv-width 30s linear forwards ; 180 } 181 .gnlv-aniwidth99 { 182 background: #FC3; 183 height: 30px; 184 animation: gnlv-width 99s ease-out forwards ; 185 } 186 .gnlv-swatch { 187 width:14px; 188 height:14px; 189 margin:1px; 190 cursor:pointer; 191 border-radius:3px; 192 border: 1px solid black; 193 } 194 .gnlv-swatch:hover { 195 border: 1px solid #CCCCCC; 196 } 197 .gnlv-bar { 198 height: 18px; 199 background: green; 200 } 201 .gnlv-file { 202 position: relative; 203 background: linear-gradient(to right, lightblue 50%, transparent 50%); 204 background-size: 200% 100%; 205 background-position: right bottom; 206 transition:all 1s ease; 207 } 208 .gnlv-file.done { 209 background: lightgreen; 210 } 211 .gnlv-file a { 212 display: block; 213 position: relative; 214 padding: 5px; 215 color: black; 216 } 217 .gnlv-media-icon img{ 218 height:16px; 219 } 143 220 .gnlv-font { 144 221 font-size:58px; … … 147 224 font-size:28px; 148 225 font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; /* needed for icons to appear on mac */ 226 } 227 .gnlv-font20 {/* used by resize menu */ 228 font-size:20px; 229 margin:auto; 230 width:65%; 231 text-align:left; 232 font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; 149 233 } 150 234 @media screen and (orientation:portrait) { … … 176 260 to { 177 261 transform: rotateZ(360deg); 262 } 263 } 264 @keyframes gnlv-rotate-ani { 265 from { 266 transform: translate(100px,100px) rotate(0deg) translate(-100px,-100px); 267 } 268 to { 269 transform: translate(100px,100px) rotate(360deg) translate(-100px,-100px); 178 270 } 179 271 } … … 214 306 .rightit { 215 307 text-anchor: end; 308 } 309 .gnlv-curved { 310 text-anchor: start; 216 311 } 217 312 .ignoreclicks { -
genolve-toolkit/trunk/genolve-toolkit.php
r3202739 r3235663 2 2 /* 3 3 * Plugin Name: Genolve AI image AI video generator 4 * Version: 5.0. 14 * Version: 5.0.2 5 5 * Plugin URI: https://www.genolve.com/ 6 6 * Description: Stunning AI video & images from a prompt, plus amazing toolkit to make banners, slideshows or music videos with AI assisted design. -
genolve-toolkit/trunk/inc/functions.php
r3202739 r3235663 21 21 define( 'GENOLVE_ACTION_URL', 'https://www.genolve.com/'); 22 22 define( 'GENOLVE_JS_URL', 'https://www.genolve.com/js/' ); 23 define( 'GENOLVE_VER', '-5.0. 1' );23 define( 'GENOLVE_VER', '-5.0.2' ); 24 24 25 25 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * … … 398 398 $result = wp_remote_post( $faction, array( 399 399 'method' => 'POST', 400 'timeout' => 1 20,400 'timeout' => 170, //20250116 120 -> 170 do not want to trigger before cloudflare timeout 401 401 'redirection' => 5, 402 402 //'httpversion' => '1.0', … … 412 412 // result.response.[code,message] 413 413 // result.cookies 414 ////echo "body:".$result['body']." response:".$result['response']; 414 // debug: 415 ///echo "body:".$result['body']." <br>===================response:".$result['response']; 415 416 if ( is_wp_error( $result ) ) {// errors 416 genolve_send_json_error( $result->get_error_message() ); 417 $stuff = $result->get_error_message(); 418 if( array_key_exists('body',$result)) 419 $stuff .= "<br>BODY first 500 chars:".substr($result['body'],0,700); 420 genolve_send_json_error( $stuff ); 417 421 } 418 422 else { //good2go … … 447 451 } 448 452 // show an error 449 genolve_send_json_error("genolve_proxy: The server did not return expected type, got:".gettype($thebody)." first 100 chars:".substr($thebody,0,100));453 genolve_send_json_error("genolve_proxy: The server did not return expected type, got:".gettype($thebody)." first 500 chars:".substr($thebody,0,500)); 450 454 }// end good2go 451 455 // -
genolve-toolkit/trunk/js/bootstrap-4-0-ns/css/bootstrap-ns.css
r2670113 r3235663 6033 6033 background-color: #343a40 !important; 6034 6034 } 6035 6035 .twbs .bg-black { 6036 background-color: #000000 !important; 6037 } 6036 6038 .twbs a.bg-dark:hover, .twbs a.bg-dark:focus, 6037 6039 .twbs button.bg-dark:hover, … … 6119 6121 border-color: #343a40 !important; 6120 6122 } 6121 6123 .twbs .border-black { 6124 border-color: #000000 !important; 6125 } 6122 6126 .twbs .border-white { 6123 6127 border-color: #fff !important; -
genolve-toolkit/trunk/js/genolve-3rdparty.js
r3135668 r3235663 1 function GNLV_3RDPARTY(c,G,y){function W(b){for(var a=0,d="",f="0123456789abcdef".split("");a<b;)d+=f[Math.floor(16*Math.random())],a++;return"#"+d}function ea(b,a){if(a<b.length)for(var d=0;d<b.length;d++){var f=b[d].attr("class");c.vprint("d3","confetti: SPRITE ["+d+"] current:"+f);d==a?b[d].classed("gnlv-gone",!1):b[d].classed("gnlv-gone",!0)}else console.warn("3rdparty.classAct sprite"+a+" past num:"+b.length)}var l=this,F=this,L=-1,R=[42,43],fa="easeLinear,easeQuad,easeQuadIn,easeQuadOut,easeCubic,easeCubicIn,easeCubicOut,easeSin,easeSinIn,easeSinOut,easeExp,easeExpIn,easeExpOut,easeCircle,easeCircleIn,easeCircleOut".split(/,/), 2 ha=["uniform","bands","bigMiddle","bigEdge","RANDOM"],ia="complementary splitcomplementary analagous triadic tetradic monochromatic".split(" "),la="complementaryScheme,splitComplementaryScheme,splitComplementaryCWScheme,splitComplementaryCCWScheme,triadicScheme,clashScheme,tetradicScheme,fourToneCWScheme,fourToneCCWScheme,fiveToneAScheme,fiveToneBScheme,fiveToneCScheme,fiveToneDScheme,fiveToneEScheme,sixToneCWScheme,sixToneCCWScheme,neutralScheme,analogousScheme".split(/,/),ma="interpolateMagma,interpolateViridis,interpolateInferno,interpolatePlasma,interpolateWarm,interpolateCool,interpolateRainbow,interpolateCubehelixDefault".split(/,/); 3 this.apidiv=this.imgkey="notset";this.apidivA={};this.Color=this.cryb="notset";this.kulaA;this.pjA;this.limitkula;this.setValMode=Object.freeze({LOOP:"LOOP",LIMIT:"LIMIT",RANDOM:"RANDOM"});null==y&&(y=jQuery);c.vprint("d3","3 3 3 3 3 3 3 3 3 3 3 3 INIT 3rd party scripts have d3?"+typeof d3+" have Color?"+typeof net+" have ColorRYB?"+typeof ColorRYB+"3 3 3 3 3 3 3 3 3 3 3 3 eloop:"+typeof document.eloop);var E=document.eloop;"undefined"==typeof net||"undefined"==typeof ColorRYB?(c.vprint("d3","3 3 3 3 3 3 3 3 3 3 3 3 INIT dynamic load color.js scripts 3 3 3 3 3 3 3 3 3 3 3 3 from:"+ 4 E.actionhost),y.getScript(E.actionhost+"/js/color-js/color.js",function(){l.Color=net.brehaut.Color;l.cryb=new ColorRYB(c,y);c.vprint("d3","3 3 3 3 3 3 3 3 3 3 3 3 DONE INIT dynamic load color scripts DONE 3 3 3 3 3 3 3 3 3 3 3 3 had net.Color?"+typeof net+" cryb?"+typeof ColorRYB)})):(l.Color=net.brehaut.Color,l.cryb=new ColorRYB(c,y),c.vprint("d3","3 3 3 3 3 3 3 3 3 3 3 3 INIT normal load color scripts DONE 3 3 3 3 3 3 3 3 3 3 3 3"));"undefined"==typeof d3&&y.getScript(E.actionhost+"/js/d3/d3.min.js", 5 function(){c.vprint("d3","3 3 3 3 3 3 3 3 3 3 3 3 d3 loaded DONE 3 3 3 3 3 3 3 3 3 3 3 3")});this.mulberry32=function(b){return function(){var a=b+=1831565813;a=Math.imul(a^a>>>15,a|1);a^=a+Math.imul(a^a>>>7,a|61);return((a^a>>>14)>>>0)/4294967296}};this.d3interpolate=function(b,a,d){c.vprint("d3","d3interpolate = = = START = = = with rootel:"+b);var f,g=this.d3_getNchild(b,2),e=g[0],h=e.cloneNode();g=g[1];b=d3.select(b);this.pjA=a;null!=d&&(R=d,L=-1);c.vprint("d3","found child1:"+h.nodeName+ 6 " child2:"+g.nodeName);var p=[];for(d=0;d<a.cfTag.length;d++){var r={};r.cfTag=a.cfTag[d];r.from=h.getAttribute(a.cfTag[d]);r.to=g.getAttribute(a.cfTag[d]);r.vals=d3.quantize(d3.interpolate(r.from,r.to),a.cfSections);var B=null==a.cfEase?d3.easeLinear:d3["ease"+a.cfEase[d]];r.vals=c.zero2one(a.cfSections).map(function(m){return d3.interpolate(r.from,r.to)(B(m))});p.push(r)}e.remove();g.remove();c.vprint("d3","packed up dataA:"+c.dumpvar(p));c.vprint("d3","TEMPLATE:"+h);a=b.selectAll(h.nodeName).data(c.ones(a.cfSections)).enter().append(function(){return h.cloneNode()}); 7 for(f=0;f<p.length;f++)c.vprint("d3","process tag:"+p[f].cfTag+" vals:"+p[f].vals),a.attr(p[f].cfTag,function(m,n){c.vprint("d3","tag:"+p[f].cfTag+" val["+n+"]"+p[f].vals[n]);return p[f].vals[n]})};this.d3limitrange=function(b,a,d){var f=d3.select(b);null!=d&&(R=d,L=-1);c.vprint("d3","d3limitrange SELECT["+b+"] rootel type:"+f.node().nodeName+" transform: have data:"+a);l.limitkula=F.codonSel(a.cfRange,"scale");d=f.selectAll(a.cfSelector);c.vprint("d3","d3limitrange my limited color is:"+l.limitkula+ 8 " apply to selection:"+a.cfSelector+" children:"+d.size());for(b=0;b<a.cfTag.length;b++)c.vprint("d3","process tag:"+a.cfTag[b]+":"),d.style(a.cfTag[b],function(g,e){return l.limitkula})};this.d3colormatch=function(b,a,d){var f=d3.select(b);null!=d&&(R=d,L=-1);d=a.dominate;"currentColor"==d&&(d=c.curcolor);if(d.match(/^grab.*/)){var g=d.replace(/grab/,"");var e=f.attr(g);var h=c.getCstyle(f.node(),g);c.vprint("d3","d3colormatch S E E D C O L O R grab["+g+"].attr found:"+e+" cstyle:"+h);d="#883300"; 9 null!=e&&(d=e);null!=h&&(d=h)}c.vprint("d3","d3colormatch - START - rootel type:"+f.node().nodeName+" transform: have data:"+a+" seedColor:"+d+" scheme:"+a.cfScheme+","+typeof a.cfScheme);if("function"!=typeof l.Color)if(c.vprint("d3","d3colormatch no Color obj!"),"undefined"!=typeof net)l.Color=net.brehaut.Color;else return;h=l.Color(d);null==a.cfScheme||"RANDOMRGB"==a.cfScheme?(c.vprint("d3","d3colormatch ** RGB mode"),e=F.codonSel(la),l.kulaA=h[e]()):null!=a.subordinate?(g=a.subordinate.replace(/grab/, 10 ""),e=f.attr(g),h=c.getCstyle(f.node(),g),c.vprint("d3","d3colormatch ** S U B O R D I N A T E C O L O R grab["+g+"].attr found:"+e+" cstyle:"+h),g="#883300",null!=e&&(g=e),null!=h&&(g=h),c.vprint("d3","d3colormatch seedColor:"+d+" subColor:"+g),l.kulaF=d3.interpolateRgb(d,g)):a.cfScheme&&"string"==typeof a.cfScheme&&a.cfScheme.match(/^interpolate/)?(d=a.cfScheme&&d3[a.cfScheme]?a.cfScheme:G.iterate(ma,null,"random"),c.vprint("d3","d3colormatch ** interpolation function:"+d),l.kulaF=d3[d]):y.isArray(a.cfScheme)? 11 (e=F.codonSel(a.cfScheme),c.vprint("d3","d3colormatch ** RYB Array mode:"+e+" seedColor:"+d+" CSS:"+h.toCSS()+" have cryb?"+typeof l.cryb),l.kulaA=l.cryb.getAllSymmetries(e,h.toCSS(),"ryb")):(e=F.codonSel(ia),c.vprint("d3","d3colormatch ** RYB Random Array mode:"+ia+"->"+e),l.kulaA=l.cryb.getAllSymmetries(e,d,"ryb"),"complementary"!=e&&"analagous"!=e||l.kulaA.push(d));c.vprint("d3","d3colormatch can choose from colors=======>"+l.kulaA+" stagger?"+a.cfStagger);l.limitkula=F.codonSel(l.kulaA);if("none"!= 12 a.cfSelector)for(b=d3.select(c.bubbleUp(b,"svg")),f=f.selectAll(a.cfSelector),c.vprint("d3","d3colormatch my limited color is:"+l.limitkula+" apply to selection:"+a.cfSelector+" children found:"+f.size()),0==f.size()&&(f=b.selectAll(a.cfSelector)),l.numkids=f.size(),b=0;b<a.cfTag.length;b++)c.vprint("d3","child["+b+"] tag:"+a.cfTag[b]+": color:"+l.limitkula),"flood-color"==a.cfTag[b]?f.attr(a.cfTag[b],function(p,r){return Z(p,r,a)}):f.style(a.cfTag[b],function(p,r){return Z(p,r,a)});c.vprint("d3", 13 "d3colormatch done!")};var Z=function(b,a,d){if(null==d.cfStagger)return l.limitkula;if("cycle"==d.cfStagger)return l.kulaA[a%l.kulaA.length];if(null!=d.subordinate||d.cfScheme&&"string"==typeof d.cfScheme&&d.cfScheme.match(/^interpolate/))return b=l.kulaF(2*a/l.numkids),2*a>l.numkids&&(b=l.kulaF((2*l.numkids-2*a)/l.numkids)),b;a=F.getRandPoint(1,[[0,0],[l.kulaA.length-1,20]],d.cfStagger,"uniform");a=parseInt(a[0][0]);return l.kulaA[a]};this.d3voronify=function(b,a,d){var f;var g="0 0 200 200";var e, 14 h,p,r;c.vprint("d3","voronify START with el.id:"+b.id);var B=d3.select(b);c.vprint("d3","voronify have rootel?"+typeof B);c.vprint("d3","voronify have rootel.node?"+typeof B.node+" fill?"+B.attr("fill"));L=-1;R=d;d=d3.select(c.bubbleUp(b,"svg"));c.vprint("d3","voronify have svg?"+typeof d);var m=d.node().getBBox();d.attr&&d.attr("viewBox")&&(g=d.attr("viewBox"));g=g.split(/ /);c.vprint("d3","voronify eloop.template box: "+E.viewBoxA+" local bbox?"+typeof m+" local viewBox:"+d.attr("viewBox")+" obj bbox:"+ 15 c.dumpvar(m,"onelevel"));g="standard"==a.target?[[0,0],[1E3,1E3]]:null!=E.viewBoxA&&"template"==a.target?[[E.viewBoxA[0],E.viewBoxA[1]],[E.viewBoxA[2],E.viewBoxA[3]]]:0<m.width?[[c.d0(m.x),c.d0(m.y)],[c.d0(m.width),c.d0(m.height)]]:[[g[0],g[1]],[g[2],g[3]]];var n=[[0,0],[g[1][0]-1,g[1][1]-1]],k=[[0,0],[g[1][0]+1,g[1][1]+1]],u=d3.scaleLinear().domain([0,c.d0(m.width-1)]).rangeRound([0,255]).clamp(!0),M=d3.scaleLinear().domain([0,c.d0(m.width-1)]).rangeRound([0,255]).clamp(!0);c.vprint("d3","voronify d3 extentA:"+ 16 c.dumpvar(n,"onelevel")+" extentB:"+c.dumpvar(k,"onelevel"));n=F.getRandPoint(F.codonSel(a.num),n,a.xpat,a.ypat);c.startTimer();c.vprint("util","voronify d3 rand points time:"+c.getTimer()+" num sites:"+n.length);m="pattern_"+c.alphanumA[Math.floor(36*Math.random())]+c.alphanumA[Math.floor(36*Math.random())]+c.alphanumA[Math.floor(36*Math.random())]+"_1_";null!=a.colorO&&null!=a.colorO.cfFunc&&(c.vprint("d3","voronify d3 -START- using color func:"+a.colorO.cfFunc),l[a.colorO.cfFunc](b,a.colorO),c.vprint("d3", 17 "voronify d3 -END- using color func:"+a.colorO.cfFunc));b=d3.voronoi().extent(k);c.vprint("d3","voronify d3 GERNERATE time:"+c.getTimer());var z=[],I="fill";y.isArray(a.shape)&&(a.shape=F.codonSel(a.shape));null!=a.shrink&&(a.shrink=F.codonSelJSON(a.shrink),"lines"!=a.shape&&"oneline"!=a.shape&&"triangles"!=a.shape||null==a.shrink.thinthreshold||delete a.shrink.thinthreshold);"lines"==a.shape||"oneline"==a.shape?(I="stroke",b=b.links(n)):b="triangles"==a.shape?b.triangles(n):b.polygons(n);c.vprint("d3", 18 "voronify making pattern with num points:"+b.length+" have svg el?"+d);g=d.select("defs").append("pattern").attr("id",m).attr("x",g[0][0]).attr("y",g[0][1]).attr("width",g[1][0]).attr("height",g[1][1]).attr("patternUnits","userSpaceOnUse").attr("patternTransform","scale(1)");null!=a.cfApplyClass&&g.attr("class",a.cfApplyClass);g.selectAll("path").data(b).enter().append("path").attr(I,function(v,N){return null==v||null==v.length&&null==v.source?(c.vprint("d3^2","BAD d at index["+N+"]"+c.dumpvar(v, 19 "onelevel")),""):null!=a.colorO?(e=null==v.source?v[0][0]:c.d0(v.source[0]),h=null==v.source?v[0][1]:c.d0(v.source[1]),f="#34F","solid"==a.colorO.scheme&&null!=a.colorO.hex?f=a.colorO.hex:"monochrome"==a.colorO.scheme?f="rgb(0, 0, "+u(e)+")":"inerpolateColor"==a.colorO.scheme?f=d3[a.colorO.schemeParam](u(h)/255):"random"==a.colorO.scheme?f="rgb("+(h+e)%255+", "+u(e)+", "+M(h)+")":null!=a.colorO.cfFunc?f=Z(v,N,a.colorO):c.vprint("d3","no color to set! had colorO but no scheme"),c.vprint("d3^2","setting "+ 20 I+":"+f),f):""}).attr("d",function(v,N){if(null==v||null==v.length&&null==v.source)return"";if(null!=v.source)return e=c.dd(v.source[0]),h=c.dd(v.source[1]),p=c.dd(v.target[0]),r=c.dd(v.target[1]),z.push("M",e,h,p,r),"M"+e+","+h+" "+p+","+r;var q=G.vA2O(v);q=null!=a.shrink?F.vM2Q(q,a.shrink):G.vMstr(q);c.vprint("d3^2","d["+N+"]:numpoints:"+v.length+": Cstr:"+q);return q});0<z.length&&"oneline"==a.shape&&(b=d.select("g"),c.vprint("d3","voronify had allPoints:"+z.length+" have g element?"+b),g=z.join(), 21 g=g.replace(/,?M,/g," M"),k=null==f?"":" stroke='"+f+"'",b.node().innerHTML="<path "+k+" d='"+g+"' />");c.vprint("util","voronify d3 MODIFY time:"+c.getTimer());B.attr("fill","url(#"+m+")");E.isBlocks&&d.append("rect").attr("x",0).attr("y",0).attr("width","100%").attr("height","100%").attr("fill","url(#"+m+")")};this.d3transform=function(b,a,d){c.vprint("d3","d3transform = = = START = = = with rootel:"+b);b=d3.select(b);L=-1;c.vprint("d3","have codondex:"+L+" codon array:"+d);var f=this.codonSel(a.cfSections); 22 var g=na(a,f);d=null!=a.cfData?a.cfData:c.ones(f);c.vprint("d3","my data array:"+d);var e=b.node().firstChild;for(c.vprint("d3","num first child:"+e.nodeName+","+e+" nextSibling:"+e.nextSibling.nodeName);("#text"==e.nodeName||"#comment"==e.nodeName)&&null!=e.nextSibling;)e=e.nextSibling;c.vprint("d3","look for tag:"+e.nodeName);c.vprint("d3","rendering with cfSections:"+f+" cfTag:"+a.cfTag+" cfWrap:"+a.cfWrap+" incA:"+g+":");this.incA=g;this.jA=a;y.isArray(a.cfTag)||(a.cfTag=[a.cfTag]);y.isArray(a.cfWrap)|| 23 (a.cfWrap=[a.cfWrap]);d=b.selectAll(e.nodeName).data(c.ones(f)).enter().append(function(){return e.cloneNode()});for(b=0;b<a.cfTag.length;b++)this.wrap=a.cfWrap[b],this.contA=this.wrap.match(/CONTENT[0-9]+_/g),c.vprint("d3","process tag:"+a.cfTag[b]+" wrap:"+this.wrap+" numtags:"+this.contA),d.attr(a.cfTag[b],oa.bind(this))};this.divEffect=function(b){var a=b.getAttribute("data-div");var d=b.getAttribute("data-aa");c.vprint("d3","divEffect: - - - - - - - - - - - - - - - - - - - -arg:"+typeof b+" have data?"+ 24 typeof genolve_gen_sel_hash+" key:"+d+" "+a);if(a.match(/(decoration|text|flair)/)){var f=parseFloat(b.getAttribute("data-dur"));b=parseFloat(b.getAttribute("data-pause"));c.vprint("d3","divEffect: - - - - - - - - - - - - - - - - - - ani dur:"+f+" pause:"+b);var g="falling-snow-"+a;var e=y("#"+g);1<=e.length?c.vprint("eloop","divEffect: - - - - - - - - - - - - - - - - - - div already there!"+g):(y("body").prepend('<div id="'+g+'" class="gnlv-falling"/>'),e=y("#"+g),a=d3.select("#"+d+" #"+a).node().innerHTML, 25 a=a.replace("opacity: 0","opacity: 1"),c.vprint("d3","divEffect: - - - - - - - - - - - - - - - - - - svg:"+a),a='<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg width="100%" height="100%" preserveAspectRatio="xMinYMin slice" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:html="http://www.w3.org/1999/xhtml"><desc>evolved at www.genolve.com</desc>CONTENT</svg>'.replace(/CONTENT/,a),d="data:image/svg+xml;utf8,"+encodeURIComponent(a),d="data:image/svg+xml;base64,"+ 26 btoa(a),e.css({"background-image":"url( '"+d+"')"}),e.css({opacity:0,animation:"gnlv-opacity-fadein linear "+f+"s forwards"}),document.fallingtimeout1=window.setTimeout(function(){y("#"+g).css({opacity:1,animation:"gnlv-opacity-fade linear "+f+"s forwards"})},1E3*(f+b)),document.fallingtimeout2=window.setTimeout(function(){y("#"+g).remove()},1E3*(2*f+b)))}else"undefined"!=typeof genolve_gen_sel_hash&&genolve_gen_sel_hash[a]?(c.vprint("d3","divEffect: data:"+c.dumpvar(genolve_gen_sel_hash[a])), 27 genolve_divEffect(a,c,y)):c.vprint("warn","divEffect: genolve_gen_sel_hash had no data for:"+a)};this.d3confetti=function(b,a,d,f,g,e,h){var p=0,r=0,B,m=e.match(/(burst-selfzoomInOut)/)?9:e.match(/(sprinkle)/)?20:30;var n=0;var k=b.getAttribute("lastcall");var u=b.getAttribute("dur");var M=b.getAttribute("utarg"),z=b.getAttribute("sizehint");f=parseInt(f);if(0<f)if(null==k&&"repeat"==h){if(h=E.anielapsed()-parseFloat(b.getAttribute("begin")),0>h&&(h+=parseFloat(u)),b.setAttribute("lastcall",Date.now()- 28 1E3*h),c.vprint("d3","d3confetti first call ignore, start delta:"+h+" firefox:"+c.getBrowser("isfirefox")),c.getBrowser("isfirefox"))return}else if("begin"==h)c.vprint("d3","d3confetti 1st begin OK");else{if(Date.now()-k<1E3*(parseFloat(u)-.5)){c.vprint("d3^2","d3confetti anirepeat ignore delta:"+(Date.now()-k)+" < "+1E3*(parseFloat(u)-.5));return}c.vprint("d3","d3confetti trigger:"+b.id+" delta:"+(Date.now()-k)+" event:"+h);b.setAttribute("lastcall",Date.now())}k=b.getAttribute("lastcall");var I= 29 l.mulberry32(parseFloat(k));u=d3.select(a);if(null==u||null==u.size||1!=u.size())c.vprint("warn","confetti X X X X found none or more than one of place targ:"+a);else if(e.match(/(sprinkle)/)){var v=b.getAttribute("vx");var N=b.getAttribute("vy");c.vprint("d3","d3confetti sprinkle tw/th:"+E.tw+","+E.th+" scaled xy limits:"+v+","+N)}var q=d3.select("#"+d);null!=q&&null!=q.size&&1==q.size()&&null!=q.node||c.vprint("warn","confetti X X X X found none or more than one of targ:"+d+":"+typeof q);var X= 30 a.match(/(text)/);k=X?"g[id^=tgrp]":"g[id^=B0]";h=q.select(k);e.match(/(corner)/)&&(h=d3.select("#"+M));if(null==h||null==h.size||1!=h.size()||null==h.node)c.vprint("warn","confetti X X X X found none or more than one of:usetargid:"+M+" OR selector:"+k+" place:"+a+" from :"+q.attr("id")),e.match(/(self)/)||(h=q),c.vprint("warn","usetarg alternate:"+(h.size?h.size():"nada"));else{var S=[];n=e.match(/(sprite)/)?q:h;n=n.selectAll(".gnlv-sprite");n.each(function(A){S.push(d3.select(this))});e.match(/(sprite)/)|| 31 n.classed("gnlv-gone",!1);n=n.size();0<n&&c.vprint("d3","confetti: is a sprite? found:"+n)}var t=q.node().getBBox();k=[[c.d0(t.x),c.d0(t.y)],[c.d0(t.width),c.d0(t.height)]];var aa=2*Math.max(t.width,t.height);var pa=a.match(/(text)/)?100:50;var C=c.dd(Math.abs(g)/15);C=e.match(/(burst-selfzoom)/)?1:C;var qa=Math.floor(90*Math.random()-45),O=1;if(e.match(/(tile)/)){q=d3.select("#"+M);q=q.node().getBBox();if("object"!=typeof q||0==q.width)q={x:0,y:0,width:200,height:200};z&&(O=parseFloat(z)/(X?5:20)); 32 m=parseInt(t.width/(O*q.width)*t.height/(O*q.height)+.5);c.vprint("d3","confetti: TILE TILE "+M+" tilesizer:"+z+"->"+O+" targetsize:"+t.x+","+t.y+","+t.width+","+t.height+" size:"+q.width+","+q.height+" object size:"+t.width+","+t.height+" NUM:"+m);0==t.width?(z=b.getAttribute("tbox"),null!=z?t=c.parsejson(z):c.vprint("warn","confetti: box width zero and no saved data!")):b.setAttribute("tbox",JSON.stringify(t).replace(/"/g,"'"));var D=a.match(/(text)/)?y.extend({},t):{x:0,y:0,width:200,height:200}; 33 m=parseInt(D.width/(O*q.width)*D.height/(O*q.height)+.5);D.cx=D.x+D.width/2;D.cy=D.y+D.height/2;p=D.x;r=D.y}z="interpolateCool";t="interpolateWarm";if(e.match(/(burst-selfzoomInOut|sprinkle|sprite|tile)/)){z="interpolateRainbow";t="interpolateViridis";var H=parseFloat(b.getAttribute("ppp"));var J=parseFloat(b.getAttribute("ddd"))}var ba=d3[z],ja=d3[t];if(e.match(/(sprite)/)&&0<S.length)0<f?(ea(S,1),window.setTimeout(E.tpr.d3confetti,1E3*(J+H-1.1),b,a,d,-f,g,e)):(c.vprint("d3","confetti: SPRITE X deactivate X"), 34 ea(S,0));else if(0<f){u.select("#confetti"+d).remove();q=d3.select("#"+d);t=q.node().getBBox();H=a.match(/(text)/)?t.x+t.width/2:t.width/2;var T=t.height/2;10!=Math.abs(g)&&3!=Math.abs(g)||!e.match(/(burst-self|tile|corner)/)?a.match(/(text)/)&&(H=e.match(/(burst-selfzoom|tile)/)?0:H/2,T=e.match(/(burst-selfzoom|tile)/)?0:T/2):T=H=0;z="translate("+H+","+T+")";X="";d.match(/tel[0-9]+_/)&&(X+=" "+u.select("g[id^=tgrp]").attr("class"),h=q,q=parseFloat(d.split("_")[1]),T=e.match(/(burst-self|corner)/)? 35 (q-1)*t.height*C:(q-1)*t.height,z=e.match(/(burst-selfzoom|tile)/)?z:"translate("+H+","+T+")");c.vprint("d3","confetti: making it, toggle:"+f+" under:"+a+" id:"+u.attr("id")+" svg:bbox:"+k+" scale:"+C+" gtrans:"+z);H=u.append("g").attr("id","confetti"+d).attr("transform",z).attr("class",e+X);e.match(/(InOut)/)&&(k=document.createElement("style"),k.type="text/css",J=document.createTextNode(".gnlv-btime use { --bdur:"+J+"s; }"),k.appendChild(J),H.node().appendChild(k));var ca=H.append("g").attr("id", 36 "confettig").attr("class","gnlv-btime").attr("style","transform:translate(0px,0px)");if(e.match(/(burst-self|corner)/)){1<u.size()&&alert("size for place too big:"+u.size());var Q=[];J=0==n?h.attr("id"):S[0].attr("id");ca.selectAll("use").data(d3.range(m)).enter().append("use").attr("xlink:href","#"+J).attr("style",function(A,w){var x;var Y=e.match(/(burst-selfzoom)/)?ba(w/m):W(6);var da=e.match(/(burst-selfzoom)/)?ja(w/m):W(6);var U=x=100;A=0;if(e.match(/(collapse)/)){x=c.ddd(Math.random()*Math.PI* 37 2);Q.push(x);A=c.d0(180*x/Math.PI+90);var K=0+aa;U=e.match(/(burst-selfzoom)/)?100:100+K*Math.cos(x);x=e.match(/(burst-selfzoom)/)?100:100+K*Math.sin(x);C=a.match(/(text)/)?3:.7}else e.match(/(sprinkle)/)?(x=c.ddd(Math.random()*Math.PI*2),Q.push(x),A=0,U=parseFloat(v)*I()-v/2,x=parseFloat(N)*I()-N/2,C=0):e.match(/(tile)/)&&(x=c.ddd(Math.atan2(r-D.cy,p-D.cx)),Q.push(x),A=0,x=U=100,B="mask_"+w,ca.append("mask").attr("id",B).append("use").attr("xlink:href","#"+M).attr("fill","#FFFFFF").attr("transform", 38 "translate("+p+","+r+") scale("+O+")"),p+=200*O,p>=D.x+D.width&&(p=D.x,r+=200*O,r>=D.y+D.height&&c.vprint("d3","confetti["+w+"]: y:"+r+" past bound:"+(D.y+D.height)+" delta:"+200*O)),C=1);w=e.match(/(burst-selfzoom|sprinkle|tile)/)?";transition-delay:"+c.dd(1-w/m)+"s;":"";e.match(/(tile)/)&&(w+=";mask:url('#"+B+"');");return"transform:translate("+U+"px,"+x+"px) rotate("+A+"deg) scale("+C+") translate(-100px,-100px);opacity:1;fill:"+Y+"; stroke:"+da+w});b.setAttribute("ang",Q.join())}else ca.selectAll("path").data(d3.range(m)).enter().append("path").attr("d", 39 function(A,w){var x;"burst-triangle"==e||"burst-confetti"==e?x="M 0,0 60,0 30,40z":"burst-stars"==e?x="M47-9.4L19.4,11.5l8.9,33.5L-0.1,25.1l-29.1,18.8l10.1-33.1L-46-11l34.6-0.7L1.1-44l11.3,32.7L47-9.4 L19.4,11.5":"burst-bubbles"==e?x="M25,0.8c0,6.6-2.6,12.5-6.9,17C13.5,22.5,7.9,25,1.1,25c-7.8,0-13.5-3.8-17.1-7.1c-4.2-3.9-7-11-7-17.1\t\tc-0.1-5.4,2.1-12.1,7-16.8c4.9-4.7,10.5-7,17-7c7.7,0,13.3,3.1,17,7C22.3-11.4,25-5.8,25,0.8c0,6.6-2.6,12.5-6.9,17":console.warn("3rdparty.raindrop has no option to make:"+ 40 e);return x}).attr("style",function(A,w){A="burst-bubbles"==e?ba(w/m):W(6);return"transform:translate(0px,0px) scale("+C+");opacity:1;fill:"+A});window.setTimeout(E.tpr.d3confetti,100,b,a,d,-f,g,e)}else z=e.match(/(burst-self|corner)/)?"use":"path",c.vprint("d3","confetti: animate it, toggle:"+f+" target:"+d+": found?"+u.select("#confetti"+d).size()+" selecting:"+z),-3==f&&e.match(/(burst-selfzoomInOut)/)?(c.vprint("d3","confetti remove confetti hack!"),u.select("#confetti"+d).remove()):-2==f&&e.match(/(burst-selftile)/)? 41 (k=u.select("#defs"+d),1==k.size()&&(b=k.node().parentNode,c.vprint("d3","d3confetti UNDO defs hide, parent:"+b.getAttribute("id")),d=k.select("#defs"+d+">g"),1==d.size()?b.appendChild(d.node()):c.vprint("warn","d3confetti UNDO defs num <g> found other than 1:"+d.size()))):(e.match(/(burst-selfzoom|tile)/)&&(k=u.select("#defs"+d),0==k.size()&&(c.vprint("d3","confetti: create defs wrap"),t=document.createElementNS("http://www.w3.org/2000/svg","defs"),t.setAttribute("id","defs"+d),(q=h.node().parentElement)? 42 (q.appendChild(t),k=u.select("#defs"+d)):c.vprint("d3","confetti: utarg parent null")),k.node().appendChild(h.node())),h=u.select("#confetti"+d),h=h.selectAll("g").attr("style",function(A,w){A=0;"burst-bubbles"==e&&(A=-600*C,aa/=2);return"transform:translate(0px,"+A+"px)"}),h=u.selectAll("#confetti"+d+" g>"+z),e.match(/(collapse|tile)/)&&(u=b.getAttribute("ang"),Q=u.split(/,/).map(Number),I=l.mulberry32(Q[0])),h.attr("style",function(A,w){var x=0,Y=0;var da=e.match(/(burst-selfzoom|burst-bubbles)/)? 43 ja(w/m):W(6);var U=e.match(/(burst-selfzoom|burst-bubbles)/)?ba(w/m):W(6);A=e.match(/(burst-selfzoom)/)?qa:c.d0(360*Math.random()-180);var K=c.ddd(Math.random()*Math.PI*2);var P=Math.random()*aa;var V=0;e.match(/(collapse)/)?(K=Q[w],A=c.d0(180*K/Math.PI+90),P=I()*pa,Y=25*I()-12.5,V=-2==f?0:1,x=100,C=a.match(/(text)/)?1:.1):e.match(/(tile)/)&&(C=w<.25*m||w>.75*m?1.5+Math.random():.1+Math.random(),K=Q[w],V=A=P=0,x=100);var ka=e.match(/(burst-selfzoom)/)?100:x+Y+P*Math.cos(K);K=e.match(/(burst-selfzoom)/)? 44 100:x+Y+P*Math.sin(K);e.match(/(burst-selfzoomInOut)/)&&-1==f?(C=14,V=1):e.match(/(burst-selfzoomInOut)/)&&-2==f?V=C=1:C=e.match(/(burst-selfzoom)/)?c.dd(10*w/m):C;e.match(/(sprinkle)/)&&(A=0,ka=parseFloat(v)*I()-v/2,K=parseFloat(N)*I()-N/2,C=5>w?3.5+Math.random():.3+Math.random(),-2==f&&(C=.1),V=-2==f?0:1);P=e.match(/(burst-self|corner|sprinkle|tile)/)?"translate(-100px,-100px)":"";P+=e.match(/(burst-selfzoom|corner|tile)/)?";transition-delay:"+(-1==f?c.dd(1-w/m):c.dd(w/m))+"s":"";P+=e.match(/(sprinkle)/)? 45 ";transition-delay:"+(-1==f?c.dd(w/m):c.dd(1-w/m))+"s":"";P+=e.match(/(tile)/)?";mask:url('#mask_"+w+"')":"";return"transform:translate("+ka+"px,"+K+"px) rotate("+A+"deg) scale("+C+") "+P+";opacity:"+V+";fill:"+da+"; stroke:"+U}),e.match(/(collapse)/)&&0<n&&(c.vprint("d3","confetti s s s s s s s s s s s s s s s s s s s s s s s s s s s sprites found:"+n),h.on("transitionend",function(A,w){d3.select(this).attr("href","#"+S[1].attr("id"))})),-3<f&&e.match(/(burst-selfzoomInOut|sprinkle)/)&&(c.vprint("d3", 46 "confetti: que - = 3rd toggle = - , reverse"+f),-1==f?window.setTimeout(E.tpr.d3confetti,1E3*(J+H-1.1),b,a,d,f-1,g,e):window.setTimeout(E.tpr.d3confetti,3500,b,a,d,f-1,g,e)),-2<f&&e.match(/(collapse|tile)/)&&(J=e.match(/(collapse)/)?2.2:J+H,c.vprint("d3","confetti: - = 2nd toggle = -, delay:"+J+" opacity"+f),window.setTimeout(E.tpr.d3confetti,1E3*J,b,a,d,f-1,g,e)))};var oa=function(b,a){var d,f=this.wrap;for(d=0;d<this.contA.length;d++){var g=c.d0(this.contA[d])-1;var e=null==this.jA.cfCalc?"+":this.jA.cfCalc[g]; 47 c.vprint("d3","d3Attr_templateEngine i["+a+"] d["+b+"] nn["+d+"] wrap:"+this.contA[d]+" inc["+g+"]="+this.incA[g]+" calc:"+e);"*"==e?(f=f.replace(this.contA[d],this.jA.cfFrom[g]),this.jA.cfFrom[g]*=this.incA[g]):f=f.replace(this.contA[d],this.jA.cfFrom[g]+a*this.incA[g])}return f};this.codonSelJSON=function(b){for(var a in b)y.isArray(b[a])&&(b[a]=F.codonSel(b[a]));return b};this.setCodonA=function(b){R=b};this.codonSel=function(b,a){if(("scale"==a||"normal"==a||null==a)&&!y.isArray(b))return c.vprint("d3", 48 "codonSel, have NORMAL mode but not passed a array!"+b),b;L=c.setVal(L,1,0,R.length-1,c.setValMode.LOOP);var d=parseInt(R[L]);"scale"==a?b=d3.scaleLinear().domain([0,200]).range(b).clamp(!0)(d):"func"==a?("function"!=typeof b&&c.vprint("d3","codonSel, have function mode but not passed a function!"+b),b=b(parseFloat(d)/200)):b=b[d%b.length];c.vprint("d3","codonSel codonA["+L+"]="+d+" selects = => "+b);return b};this.d3_getNchild=function(b,a){var d=[];b=b.firstChild;for(c.vprint("d3","d3_getNchild first child:"+ 49 b.nodeName+","+b+" nextSibling:"+b.nextSibling.nodeName);null!=b.nextSibling&&0<a;)"#text"==b.nodeName||"#comment"==b.nodeName?b=b.nextSibling:(d.push(b),b=b.nextSibling,a--);return d};this.getRandPoint=function(b,a,d,f,g,e){var h=[],p=c.d0(a[0][0]),r=c.d0(a[0][1]),B=c.d0(a[1][0]),m=c.d0(a[1][1]);d3.scaleLinear().domain([p,p+B]).range([p,p+B]).ticks(7);"VRANDOM"==d&&(d=F.codonSel(ha));"VRANDOM"==f&&(f=F.codonSel(ha));"RANDOM"==d&&(d=F.codonSel(fa));"RANDOM"==f&&(f=F.codonSel(fa));for(a=0;a<b;a++){var n= 50 Math.random();var k=Math.random();var u=.5+.1*Math.sin(2*k*Math.PI);var M=.5+.1*Math.sin(2*n*Math.PI);"uniform"!=d&&("bigEdge"==d?n=n>u?d3.easeQuadIn(n):d3.easeQuadOut(n):"bigMiddle"==d?n=n<u?d3.easeQuadIn(n):d3.easeQuadOut(n):"bands"==d?n=15*Math.round(n*B/15)/B:(null==d3[d]&&(c.vprint("warn","getRandPoint did not find ease:"+d+" selecting: easeLinear"),d="easeLinear"),n=d3[d](n)));"uniform"!=f&&("bigEdge"==f?k=k>M?d3.easeQuadIn(k):d3.easeQuadOut(k):"bigMiddle"==f?k=k<M?d3.easeQuadIn(k):d3.easeQuadOut(k): 51 "bands"==f?k=15*Math.round(k*m/15)/m:(null==d3[f]&&c.vprint("warn","getRandPoint did not find ease:"+f),k=d3[f](k)));k=[c.d0(n*B+p),c.d0(k*m+r)];null!=g&&k.push(c.dd(c.setVal(0,0,g[0],g[1],c.setValMode.RANDOM)));null!=e&&k.push(c.dd(c.setVal(0,0,e[0],e[1],c.setValMode.RANDOM)));h.push(k)}return h};var na=function(b,a){var d,f=[];1>a&&console.error("doFromToBy sections must be 1 or more");y.isArray(b.cfFrom)||(b.cfFrom=[b.cfFrom]);if(null!=b.cfTo)for(y.isArray(b.cfTo)||(b.cfTo=[b.cfTo]),b.cfTo.length!= 52 b.cfFrom.length&&console.warn("doFromToBy: size From != To: "+b.cfFrom.length+"!="+b.cfTo.length),d=0;d<b.cfTo.length;d++){var g=(b.cfTo[d]-b.cfFrom[d])/(a-1);c.vprint("d3","doFromToBy["+d+"] sections:"+a+":"+g);f[d]=g}null!=b.cfInc&&(y.isArray(b.cfInc)||(b.cfInc=[b.cfInc]),b.cfInc.length!=b.cfFrom.length&&console.warn("doFromToBy: size From != cfInc: "+b.cfFrom.length+"!="+b.cfInc.length),f=b.cfInc);return f};this.vM2Q=function(b,a){var d,f,g=[];if(null!=a.thinthreshold&&(b=G.vthinpoints(b,a.thinthreshold), 53 3>b.length))return"";var e=G.vcentroid(b);var h=a.shrinkamount;for(d=0;d<b.length;d++){var p="centroid"==a.shrinkmode?G.vwave(b[d],h,e,1):"fixed"==a.shrinkmode?G.vmovetoward(b[d],e,h):b[d];g.push(p);0==d&&(f=p);if(d<b.length-1){p=G.vave(b[d],b[d+1]);var r=G.vmag(G.vsub(b[d],b[d+1]))}else p=G.vave(b[d],b[0]),r=G.vmag(G.vsub(b[d],b[0]));var B=1-Math.pow(.3*r/Math.abs(h),1.1);r=-2>B?-2*h:B*h;c.vprint("util^2","vM2Q factor:"+B+" delta2:"+r);"fixed"==a.shrinkmode?g.push(G.vmovetoward(p,e,r)):g.push(p)}g.push(f); 54 0==g.length%2&&c.vprint("util","vM2Q POINTS missmatch EVEN need ODD");if("points"==a.retmode)return g;b="M"+g[0].cx+","+g[0].cy+" Q";for(d=1;d<g.length;d++)b+=g[d].cx+","+g[d].cy+" ";return b+" Z"}}; 1 function GNLV_3RDPARTY(d,K,B){function Z(a){for(var b=0,c="",e="0123456789abcdef".split("");b<a;)c+=e[Math.floor(Math.random()*16)],b++;return"#"+c}function ia(a,b){if(b<a.length)for(var c=0;c<a.length;c++){var e=a[c].attr("class");d.vprint("d3","confetti: SPRITE ["+c+"] current:"+e);c==b?a[c].classed("gnlv-gone",!1):a[c].classed("gnlv-gone",!0)}else console.warn("3rdparty.classAct sprite"+b+" past num:"+a.length)}var t=this,D=this,R=-1,V=[42,43],ja="easeLinear,easeQuad,easeQuadIn,easeQuadOut,easeCubic,easeCubicIn,easeCubicOut,easeSin,easeSinIn,easeSinOut,easeExp,easeExpIn,easeExpOut,easeCircle,easeCircleIn,easeCircleOut".split(/,/), 2 ka=["uniform","bands","bigMiddle","bigEdge","RANDOM"],la="complementary splitcomplementary analagous triadic tetradic monochromatic".split(" "),oa="complementaryScheme,splitComplementaryScheme,splitComplementaryCWScheme,splitComplementaryCCWScheme,triadicScheme,clashScheme,tetradicScheme,fourToneCWScheme,fourToneCCWScheme,fiveToneAScheme,fiveToneBScheme,fiveToneCScheme,fiveToneDScheme,fiveToneEScheme,sixToneCWScheme,sixToneCCWScheme,neutralScheme,analogousScheme".split(/,/),pa="interpolateMagma,interpolateViridis,interpolateInferno,interpolatePlasma,interpolateWarm,interpolateCool,interpolateRainbow,interpolateCubehelixDefault".split(/,/); 3 this.apidiv=this.imgkey="notset";this.apidivA={};this.Color=this.cryb="notset";this.kulaA;this.pjA;this.limitkula;this.setValMode=Object.freeze({LOOP:"LOOP",LIMIT:"LIMIT",RANDOM:"RANDOM"});B==null&&(B=jQuery);d.vprint("d3","3 3 3 3 3 3 3 3 3 3 3 3 INIT 3rd party scripts have d3?"+typeof d3+" have Color?"+typeof net+" have ColorRYB?"+typeof ColorRYB+"3 3 3 3 3 3 3 3 3 3 3 3 eloop:"+typeof document.eloop);var y=document.eloop,F={},ca=15;typeof net=="undefined"||typeof ColorRYB=="undefined"?(d.vprint("d3", 4 "3 3 3 3 3 3 3 3 3 3 3 3 INIT dynamic load color.js scripts 3 3 3 3 3 3 3 3 3 3 3 3 from:"+y.actionhost),B.getScript(y.actionhost+"/js/color-js/color.js",function(){t.Color=net.brehaut.Color;t.cryb=new ColorRYB(d,B);d.vprint("d3","3 3 3 3 3 3 3 3 3 3 3 3 DONE INIT dynamic load color scripts DONE 3 3 3 3 3 3 3 3 3 3 3 3 had net.Color?"+typeof net+" cryb?"+typeof ColorRYB)})):(t.Color=net.brehaut.Color,t.cryb=new ColorRYB(d,B),d.vprint("d3","3 3 3 3 3 3 3 3 3 3 3 3 INIT normal load color scripts DONE 3 3 3 3 3 3 3 3 3 3 3 3")); 5 typeof d3=="undefined"&&B.getScript(y.actionhost+"/js/d3/d3.min.js",function(){d.vprint("d3","3 3 3 3 3 3 3 3 3 3 3 3 d3 loaded DONE 3 3 3 3 3 3 3 3 3 3 3 3")});this.mulberry32=function(a){return function(){var b=a+=1831565813;b=Math.imul(b^b>>>15,b|1);b^=b+Math.imul(b^b>>>7,b|61);return((b^b>>>14)>>>0)/4294967296}};this.autoWrapIt=function(a,b,c,e,g){a==null&&(a=y.activeslot);var f=[],h=RegExp("\\[font\\d\\]","ig"),q=[],m,z,n=0,k,l,u=0,L="tel"+Math.floor(Math.random()*1E3)+"_",x=[];if(b)for(d.vprint("text", 6 "autoWrapIt found num font tags:"+b.length),m=0;m<b.length;m++)q[m]=!1,f.push(new RegExp("\\[font"+(m+1)+"\\]","i")),x.push("<tspan "+d.dumpvar(b[m],"css")+">");u=0;var I=function(N){if(b)for(m=0;m<b.length;m++)for(;N.match(f[m]);)q[m]=!q[m],zhtm=q[m]?x[m]:"</tspan>",N=N.replace(f[m],zhtm);return N},v=function(N){var aa="";if(b)for(m=0;m<b.length;m++)N=="close"?aa+=q[m]?"</tspan>":"":N=="open"?aa+=q[m]?x[m]:"":console.warn("autoWrapIt:getOpenClose bad arg:"+N);return aa};g.match(/<br><br>/)&& 7 (g=g.replace(/<br>/ig," <br>"));c=="blockit"&&(g=g.toUpperCase(),g=g.replace(/<BR>/ig,"<br>"));var M=g.split(" ");var r=l=k="";y.slot[a]||(y.slot[a]={});for(z=y.slot[a].hadAwrap=0;z<M.length;z++){var E=M[z];var J=E=="<br>"?["",""]:E.split(/<br>/);J.length>2&&console.warn("autoWrapIt:shit break split num over2:"+J.length);if(String(k+E.replace(h,"")).length>e||J.length>1){y.slot[a].hadAwrap++;n=y.slot[a].hadAwrap;if(J.length>1){for(d.vprint("text","autoWrapIt start BREAKS loop breakA:"+ 8 J);J.length>1;){var p=J.shift();l+=I(p);k+=p.replace(h,"");p=c=="blockit"?D.calcFS(e,k):58;u+=p;k.match(/^\s*$/)||(r+='<text id="DENT" class="gnlvani" FONTSIZE x="0" dy="DDYY">CONTENT</text>'.replace("DDYY",u+"").replace("FONTSIZE",'style="font-size:'+p+'px"').replace("CONTENT",l).replace("DENT",L+n));E=k=l="";n++}E=J.shift()}else{d.vprint("text","autoWrapIt WRAP up buf:"+k+": nextWord:"+E+":");if(k==""){l=k=E;E.match(h)&&console.warn("autoWrapIt: missed a font tag on:"+E);continue}k=k.replace(/ $/, 9 "");l=l.replace(/ $/,"")+v("close");p=c=="blockit"?D.calcFS(e,k):58;u+=p;k.match(/^\s*$/)||(r+='<text id="DENT" class="gnlvani" FONTSIZE x="0" dy="DDYY">CONTENT</text>'.replace("DDYY",u+"").replace("FONTSIZE",'style="font-size:'+p+'px"').replace("CONTENT",l).replace("DENT",L+n))}p=v("open");l=p+I(E)+" ";k=E.replace(h,"")+" "}else d.vprint("text","autoWrapIt traverse words buf:"+k+": next:"+E+":"),l+=I(E)+" ",k+=E.replace(h,"")+" "}k.match(/^\s*$/)||(d.vprint("text","autoWrapIt start LAST tspan buf:"+ 10 k+":"),k=k.replace(/ $/,""),l=l.replace(/ $/,""),p=c=="blockit"?D.calcFS(e,k):58,n++,r+='<text id="DENT" class="gnlvani" FONTSIZE x="0" dy="DDYY">CONTENT</text>'.replace("DDYY",u+p+"").replace("FONTSIZE",'style="font-size:'+p+'px"').replace("CONTENT",l).replace("DENT",L+n));d.vprint("text","autoWrapIt DONE size:"+M.length+" autowrap:"+e+" ["+g+"]->"+r);return r};this.calcFS=function(a,b,c){var e,g=b.length;if(g<=0)return 58;(e=b.match(/I/g))&&typeof e=="object"&&(g-=e.length*.8);(e=b.match(/J/g))&& 11 typeof e=="object"&&(g-=e.length*.3);(e=b.match(/[ \.]/g))&&typeof e=="object"&&(g-=e.length*.6);(e=b.match(/[MW]/g))&&typeof e=="object"&&(g+=e.length*.45);(e=b.match(/[\-=]/g))&&typeof e=="object"&&(g+=e.length*.75);(e=b.match(/[\u{1f300}-\u{1f5ff}\u{1f900}-\u{1f9ff}\u{1f600}-\u{1f64f}\u{1f680}-\u{1f6ff}\u{2600}-\u{26ff}\u{2700}-\u{27bf}\u{1f1e6}-\u{1f1ff}\u{1f191}-\u{1f251}\u{1f004}\u{1f0cf}\u{1f170}-\u{1f171}\u{1f17e}-\u{1f17f}\u{1f18e}\u{3030}\u{2b50}\u{2b55}\u{2934}-\u{2935}\u{2b05}-\u{2b07}\u{2b1b}-\u{2b1c}\u{3297}\u{3299}\u{303d}\u{00a9}\u{00ae}\u{2122}\u{23f3}\u{24c2}\u{23e9}-\u{23ef}\u{25b6}\u{23f8}-\u{23fa}]/ug))&& 12 typeof e=="object"&&(g+=e.length*.75);a=parseInt(a?a:20);b.match(/^\s+$/)&&(g=a);a=parseInt(a/g*58);d.vprint("text","calcFS inlen:"+b.length+"->adjust:"+g+"->"+a+":"+b+":");return c?g:a};this.d3interpolate=function(a,b,c){d.vprint("d3","d3interpolate = = = START = = = with rootel:"+a);var e,g=this.d3_getNchild(a,2),f=g[0],h=f.cloneNode();g=g[1];a=d3.select(a);this.pjA=b;c!=null&&(V=c,R=-1);d.vprint("d3","found child1:"+h.nodeName+" child2:"+g.nodeName);var q=[];for(c=0;c<b.cfTag.length;c++){var m= 13 {};m.cfTag=b.cfTag[c];m.from=h.getAttribute(b.cfTag[c]);m.to=g.getAttribute(b.cfTag[c]);m.vals=d3.quantize(d3.interpolate(m.from,m.to),b.cfSections);var z=b.cfEase==null?d3.easeLinear:d3["ease"+b.cfEase[c]];m.vals=d.zero2one(b.cfSections).map(function(n){return d3.interpolate(m.from,m.to)(z(n))});q.push(m)}f.remove();g.remove();d.vprint("d3","packed up dataA:"+d.dumpvar(q));d.vprint("d3","TEMPLATE:"+h);b=a.selectAll(h.nodeName).data(d.ones(b.cfSections)).enter().append(function(){return h.cloneNode()}); 14 for(e=0;e<q.length;e++)d.vprint("d3","process tag:"+q[e].cfTag+" vals:"+q[e].vals),b.attr(q[e].cfTag,function(n,k){d.vprint("d3","tag:"+q[e].cfTag+" val["+k+"]"+q[e].vals[k]);return q[e].vals[k]})};this.d3limitrange=function(a,b,c){var e=d3.select(a);c!=null&&(V=c,R=-1);d.vprint("d3","d3limitrange SELECT["+a+"] rootel type:"+e.node().nodeName+" transform: have data:"+b);t.limitkula=D.codonSel(b.cfRange,"scale");c=e.selectAll(b.cfSelector);d.vprint("d3","d3limitrange my limited color is:"+t.limitkula+ 15 " apply to selection:"+b.cfSelector+" children:"+c.size());for(a=0;a<b.cfTag.length;a++)d.vprint("d3","process tag:"+b.cfTag[a]+":"),c.style(b.cfTag[a],function(g,f){return t.limitkula})};this.d3colormatch=function(a,b,c){var e=d3.select(a);c!=null&&(V=c,R=-1);c=b.dominate;c=="currentColor"&&(c=d.curcolor);if(c.match(/^grab.*/)){var g=c.replace(/grab/,"");var f=e.attr(g);var h=d.getCstyle(e.node(),g);d.vprint("d3","d3colormatch S E E D C O L O R grab["+g+"].attr found:"+f+" cstyle:"+h);c="#883300"; 16 f!=null&&(c=f);h!=null&&(c=h)}d.vprint("d3","d3colormatch - START - rootel type:"+e.node().nodeName+" transform: have data:"+b+" seedColor:"+c+" scheme:"+b.cfScheme+","+typeof b.cfScheme);if(typeof t.Color!="function")if(d.vprint("d3","d3colormatch no Color obj!"),typeof net!="undefined")t.Color=net.brehaut.Color;else return;h=t.Color(c);b.cfScheme==null||b.cfScheme=="RANDOMRGB"?(d.vprint("d3","d3colormatch ** RGB mode"),f=D.codonSel(oa),t.kulaA=h[f]()):b.subordinate!=null?(g=b.subordinate.replace(/grab/, 17 ""),f=e.attr(g),h=d.getCstyle(e.node(),g),d.vprint("d3","d3colormatch ** S U B O R D I N A T E C O L O R grab["+g+"].attr found:"+f+" cstyle:"+h),g="#883300",f!=null&&(g=f),h!=null&&(g=h),d.vprint("d3","d3colormatch seedColor:"+c+" subColor:"+g),t.kulaF=d3.interpolateRgb(c,g)):b.cfScheme&&typeof b.cfScheme=="string"&&b.cfScheme.match(/^interpolate/)?(c=b.cfScheme&&d3[b.cfScheme]?b.cfScheme:K.iterate(pa,null,"random"),d.vprint("d3","d3colormatch ** interpolation function:"+c),t.kulaF=d3[c]):B.isArray(b.cfScheme)? 18 (f=D.codonSel(b.cfScheme),d.vprint("d3","d3colormatch ** RYB Array mode:"+f+" seedColor:"+c+" CSS:"+h.toCSS()+" have cryb?"+typeof t.cryb),t.kulaA=t.cryb.getAllSymmetries(f,h.toCSS(),"ryb")):(f=D.codonSel(la),d.vprint("d3","d3colormatch ** RYB Random Array mode:"+la+"->"+f),t.kulaA=t.cryb.getAllSymmetries(f,c,"ryb"),f!="complementary"&&f!="analagous"||t.kulaA.push(c));d.vprint("d3","d3colormatch can choose from colors=======>"+t.kulaA+" stagger?"+b.cfStagger);t.limitkula=D.codonSel(t.kulaA);if(b.cfSelector!= 19 "none")for(a=d3.select(d.bubbleUp(a,"svg")),e=e.selectAll(b.cfSelector),d.vprint("d3","d3colormatch my limited color is:"+t.limitkula+" apply to selection:"+b.cfSelector+" children found:"+e.size()),e.size()==0&&(e=a.selectAll(b.cfSelector)),t.numkids=e.size(),a=0;a<b.cfTag.length;a++)d.vprint("d3","child["+a+"] tag:"+b.cfTag[a]+": color:"+t.limitkula),b.cfTag[a]=="flood-color"?e.attr(b.cfTag[a],function(q,m){return da(q,m,b)}):e.style(b.cfTag[a],function(q,m){return da(q,m,b)});d.vprint("d3","d3colormatch done!")}; 20 var da=function(a,b,c){if(c.cfStagger==null)return t.limitkula;if(c.cfStagger=="cycle")return t.kulaA[b%t.kulaA.length];if(c.subordinate!=null||c.cfScheme&&typeof c.cfScheme=="string"&&c.cfScheme.match(/^interpolate/))return a=t.kulaF(b*2/t.numkids),b*2>t.numkids&&(a=t.kulaF((2*t.numkids-b*2)/t.numkids)),a;b=D.getRandPoint(1,[[0,0],[t.kulaA.length-1,20]],c.cfStagger,"uniform");b=parseInt(b[0][0]);return t.kulaA[b]};this.d3voronify=function(a,b,c){var e;var g="0 0 200 200";var f,h,q,m;d.vprint("d3", 21 "voronify START with el.id:"+a.id);var z=d3.select(a);d.vprint("d3","voronify have rootel?"+typeof z);d.vprint("d3","voronify have rootel.node?"+typeof z.node+" fill?"+z.attr("fill"));R=-1;V=c;c=d3.select(d.bubbleUp(a,"svg"));d.vprint("d3","voronify have svg?"+typeof c);var n=c.node().getBBox();c.attr&&c.attr("viewBox")&&(g=c.attr("viewBox"));g=g.split(/ /);d.vprint("d3","voronify eloop.template box: "+y.viewBoxA+" local bbox?"+typeof n+" local viewBox:"+c.attr("viewBox")+" obj bbox:"+d.dumpvar(n, 22 "onelevel"));g=b.target=="standard"?[[0,0],[1E3,1E3]]:y.viewBoxA!=null&&b.target=="template"?[[y.viewBoxA[0],y.viewBoxA[1]],[y.viewBoxA[2],y.viewBoxA[3]]]:n.width>0?[[d.d0(n.x),d.d0(n.y)],[d.d0(n.width),d.d0(n.height)]]:[[g[0],g[1]],[g[2],g[3]]];var k=[[0,0],[g[1][0]-1,g[1][1]-1]],l=[[0,0],[g[1][0]+1,g[1][1]+1]],u=d3.scaleLinear().domain([0,d.d0(n.width-1)]).rangeRound([0,255]).clamp(!0),L=d3.scaleLinear().domain([0,d.d0(n.width-1)]).rangeRound([0,255]).clamp(!0);d.vprint("d3","voronify d3 extentA:"+ 23 d.dumpvar(k,"onelevel")+" extentB:"+d.dumpvar(l,"onelevel"));k=D.getRandPoint(D.codonSel(b.num),k,b.xpat,b.ypat);d.startTimer();d.vprint("util","voronify d3 rand points time:"+d.getTimer()+" num sites:"+k.length);n="pattern_"+d.alphanumA[Math.floor(Math.random()*36)]+d.alphanumA[Math.floor(Math.random()*36)]+d.alphanumA[Math.floor(Math.random()*36)]+"_1_";b.colorO!=null&&b.colorO.cfFunc!=null&&(d.vprint("d3","voronify d3 -START- using color func:"+b.colorO.cfFunc),t[b.colorO.cfFunc](a,b.colorO),d.vprint("d3", 24 "voronify d3 -END- using color func:"+b.colorO.cfFunc));a=d3.voronoi().extent(l);d.vprint("d3","voronify d3 GERNERATE time:"+d.getTimer());var x=[],I="fill";B.isArray(b.shape)&&(b.shape=D.codonSel(b.shape));b.shrink!=null&&(b.shrink=D.codonSelJSON(b.shrink),b.shape!="lines"&&b.shape!="oneline"&&b.shape!="triangles"||b.shrink.thinthreshold==null||delete b.shrink.thinthreshold);b.shape=="lines"||b.shape=="oneline"?(I="stroke",a=a.links(k)):a=b.shape=="triangles"?a.triangles(k):a.polygons(k);d.vprint("d3", 25 "voronify making pattern with num points:"+a.length+" have svg el?"+c);g=c.select("defs").append("pattern").attr("id",n).attr("x",g[0][0]).attr("y",g[0][1]).attr("width",g[1][0]).attr("height",g[1][1]).attr("patternUnits","userSpaceOnUse").attr("patternTransform","scale(1)");b.cfApplyClass!=null&&g.attr("class",b.cfApplyClass);g.selectAll("path").data(a).enter().append("path").attr(I,function(v,M){return v==null||v.length==null&&v.source==null?(d.vprint("d3^2","BAD d at index["+M+"]"+d.dumpvar(v, 26 "onelevel")),""):b.colorO!=null?(f=v.source==null?v[0][0]:d.d0(v.source[0]),h=v.source==null?v[0][1]:d.d0(v.source[1]),e="#34F",b.colorO.scheme=="solid"&&b.colorO.hex!=null?e=b.colorO.hex:b.colorO.scheme=="monochrome"?e="rgb(0, 0, "+u(f)+")":b.colorO.scheme=="inerpolateColor"?e=d3[b.colorO.schemeParam](u(h)/255):b.colorO.scheme=="random"?e="rgb("+(h+f)%255+", "+u(f)+", "+L(h)+")":b.colorO.cfFunc!=null?e=da(v,M,b.colorO):d.vprint("d3","no color to set! had colorO but no scheme"),d.vprint("d3^2","setting "+ 27 I+":"+e),e):""}).attr("d",function(v,M){if(v==null||v.length==null&&v.source==null)return"";if(v.source!=null)return f=d.dd(v.source[0]),h=d.dd(v.source[1]),q=d.dd(v.target[0]),m=d.dd(v.target[1]),x.push("M",f,h,q,m),"M"+f+","+h+" "+q+","+m;var r=K.vA2O(v);r=b.shrink!=null?D.vM2Q(r,b.shrink):K.vMstr(r);d.vprint("d3^2","d["+M+"]:numpoints:"+v.length+": Cstr:"+r);return r});x.length>0&&b.shape=="oneline"&&(a=c.select("g"),d.vprint("d3","voronify had allPoints:"+x.length+" have g element?"+a),g=x.join(), 28 g=g.replace(/,?M,/g," M"),l=e==null?"":" stroke='"+e+"'",a.node().innerHTML="<path "+l+" d='"+g+"' />");d.vprint("util","voronify d3 MODIFY time:"+d.getTimer());z.attr("fill","url(#"+n+")");y.isBlocks&&c.append("rect").attr("x",0).attr("y",0).attr("width","100%").attr("height","100%").attr("fill","url(#"+n+")")};this.d3transform=function(a,b,c){d.vprint("d3","d3transform = = = START = = = with rootel:"+a);a=d3.select(a);R=-1;d.vprint("d3","have codondex:"+R+" codon array:"+c);var e=this.codonSel(b.cfSections); 29 var g=qa(b,e);c=b.cfData!=null?b.cfData:d.ones(e);d.vprint("d3","my data array:"+c);var f=a.node().firstChild;for(d.vprint("d3","num first child:"+f.nodeName+","+f+" nextSibling:"+f.nextSibling.nodeName);(f.nodeName=="#text"||f.nodeName=="#comment")&&f.nextSibling!=null;)f=f.nextSibling;d.vprint("d3","look for tag:"+f.nodeName);d.vprint("d3","rendering with cfSections:"+e+" cfTag:"+b.cfTag+" cfWrap:"+b.cfWrap+" incA:"+g+":");this.incA=g;this.jA=b;B.isArray(b.cfTag)||(b.cfTag=[b.cfTag]);B.isArray(b.cfWrap)|| 30 (b.cfWrap=[b.cfWrap]);c=a.selectAll(f.nodeName).data(d.ones(e)).enter().append(function(){return f.cloneNode()});for(a=0;a<b.cfTag.length;a++)this.wrap=b.cfWrap[a],this.contA=this.wrap.match(/CONTENT[0-9]+_/g),d.vprint("d3","process tag:"+b.cfTag[a]+" wrap:"+this.wrap+" numtags:"+this.contA),c.attr(b.cfTag[a],ra.bind(this))};this.divEffect=function(a){var b=a.getAttribute("data-div");var c=a.getAttribute("data-aa");d.vprint("d3","divEffect: - - - - - - - - - - - - - - - - - - - -arg:"+typeof a+" have data?"+ 31 typeof genolve_gen_sel_hash+" key:"+c+" "+b);if(b.match(/(decoration|text|flair)/)){var e=parseFloat(a.getAttribute("data-dur"));a=parseFloat(a.getAttribute("data-pause"));d.vprint("d3","divEffect: - - - - - - - - - - - - - - - - - - ani dur:"+e+" pause:"+a);var g="falling-snow-"+b;var f=B("#"+g);f.length>=1?d.vprint("eloop","divEffect: - - - - - - - - - - - - - - - - - - div already there!"+g):(B("body").prepend('<div id="'+g+'" class="gnlv-falling"/>'),f=B("#"+g),b=d3.select("#"+c+" #"+b).node().innerHTML, 32 b=b.replace("opacity: 0","opacity: 1"),d.vprint("d3","divEffect: - - - - - - - - - - - - - - - - - - svg:"+b),b='<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg width="100%" height="100%" preserveAspectRatio="xMinYMin slice" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:html="http://www.w3.org/1999/xhtml"><desc>evolved at www.genolve.com</desc>CONTENT</svg>'.replace(/CONTENT/,b),c="data:image/svg+xml;utf8,"+encodeURIComponent(b),c="data:image/svg+xml;base64,"+ 33 btoa(b),f.css({"background-image":"url( '"+c+"')"}),f.css({opacity:0,animation:"gnlv-opacity-fadein linear "+e+"s forwards"}),document.fallingtimeout1=window.setTimeout(function(){B("#"+g).css({opacity:1,animation:"gnlv-opacity-fade linear "+e+"s forwards"})},(e+a)*1E3),document.fallingtimeout2=window.setTimeout(function(){B("#"+g).remove()},(e*2+a)*1E3))}else typeof genolve_gen_sel_hash!="undefined"&&genolve_gen_sel_hash[b]?(d.vprint("d3","divEffect: data:"+d.dumpvar(genolve_gen_sel_hash[b])), 34 genolve_divEffect(b,d,B)):d.vprint("warn","divEffect: genolve_gen_sel_hash had no data for:"+b)};var sa=function(a,b){var c,e=y.anielapsed();var g=F[b].segmO[a];for(c in g)if(c=="wurd"){var f=D.autoWrapIt("text",null,F[b].justify,F[b].autoWrap,htmlEntities(g[c]));var h=d3.select("#"+b+" g[id^=tgrp]");d.vprint("aig","doSubtitles.runSegment["+a+"] found tgrp under ["+b+"]? "+typeof h);h.node().innerHTML=f}else c!="start"&&c!="TO"&&(f=Snap.select("#"+c))&&f.attr&&(g[c].match(/;/)?f.attr("keyTimes",g[c]): 35 (f.attr("begin",g[c]),f.attr("lastcall",""),f.attr("from",Math.random())),d.vprint("aig","doSubtitles.runSegment["+a+"] subt at:"+d.d4(e/F[b].atime)+" restored["+c+"] -> "+g[c]))};this.subt_kickoff=function(a,b){var c,e;if(typeof a=="string")d.vprint("eloop","subt_kickoff found string AAid:"+a);else if(a&&a.getAttribute("id")=="timekeeperani"){ca=a.parentNode.parentNode.getAttribute("datatime");a=a.parentNode.parentNode.parentNode.getAttribute("id");d.vprint("eloop","subt_kickoff had AAid?"+a+" atime:"+ 36 ca+" aidA set?"+typeof F);if(ca==null)return;F[a]||(F[a]={});F[a].atime=ca}else d.vprint("eloop","subt_kickoff found no AAid! type:"+typeof a+" attributes?"+a.attributes.id+" getAttr:"+a.getAttribute("id"));if(!F[a].segmO||b!=null)if(d.vprint("eloop","subt_kickoff ======== looking for segO under #"+a+" #text"),c=d3.select("#"+a+" #text")){if(e=c.node().getAttribute("segm"))d.vprint("error","subt_kickoff found and set segmO:"+e),F[a].segmO=d.parsejson(e);if(c=c.node().getAttribute("gnlv-data"))d.vprint("eloop", 37 "subt_kickoff found and set mydata:"+c),c=d.parsejson(c),F[a].justify=c.justify,F[a].autoWrap=c.autoWrap}b==null&&(b=0);if(F[a].segmO)for(d.vprint("eloop","subt_kickoff ======== subtitles num segments:"+F[a].segmO.length+" startat:"+b+" dump first:"+d.dumpvar(F[a].segmO[0])),e=0;e<F[a].segmO.length;e++)c=F[a].segmO[e],d.vprint("eloop","subt_kickoff ========["+e+"]: seg.start:"+c.start+" >? startat:"+b),c.start>=b&&(c.TO&&window.clearTimeout(c.TO),F[a].segmO[e].TO=window.setTimeout(sa,d.setVal(c.start, 38 -(b+.001),0,F[a].atime,d.setValMode.LIMIT)*1E3,e,a))};this.d3confetti=function(a,b,c,e,g,f,h){var q=0,m=0,z,n=f.match(/(burst-selfzoomInOut)/)?9:f.match(/(sprinkle)/)?20:30;var k=0;var l=a.getAttribute("lastcall");var u=a.getAttribute("dur");var L=a.getAttribute("utarg"),x=a.getAttribute("sizehint");e=parseInt(e);if(e>0)if(l==null&&h=="repeat"){if(h=y.anielapsed()-parseFloat(a.getAttribute("begin")),h<0&&(h+=parseFloat(u)),a.setAttribute("lastcall",Date.now()-h*1E3),d.vprint("d3","d3confetti first call ignore, start delta:"+ 39 h+" firefox:"+d.getBrowser("isfirefox")),d.getBrowser("isfirefox"))return}else if(h=="begin")d.vprint("d3","d3confetti 1st begin OK");else{if(Date.now()-l<(parseFloat(u)-.5)*1E3){d.vprint("d3^2","d3confetti anirepeat ignore delta:"+(Date.now()-l)+" < "+(parseFloat(u)-.5)*1E3);return}d.vprint("d3","d3confetti trigger:"+a.id+" delta:"+(Date.now()-l)+" event:"+h);a.setAttribute("lastcall",Date.now())}l=a.getAttribute("lastcall");var I=t.mulberry32(parseFloat(l));u=d3.select(b);if(u==null||u.size==null|| 40 u.size()!=1)d.vprint("warn","confetti X X X X found none or more than one of place targ:"+b);else if(f.match(/(sprinkle)/)){var v=a.getAttribute("vx");var M=a.getAttribute("vy");d.vprint("d3","d3confetti sprinkle tw/th:"+y.tw+","+y.th+" scaled xy limits:"+v+","+M)}var r=d3.select("#"+c);r!=null&&r.size!=null&&r.size()==1&&r.node!=null||d.vprint("warn","confetti X X X X found none or more than one of targ:"+c+":"+typeof r);var E=b.match(/(text)/);l=E?"g[id^=tgrp]":"g[id^=B0]";h=r.select(l);f.match(/(corner)/)&& 41 (h=d3.select("#"+L));if(h==null||h.size==null||h.size()!=1||h.node==null)d.vprint("warn","confetti X X X X found none or more than one of:usetargid:"+L+" OR selector:"+l+" place:"+b+" from :"+r.attr("id")),f.match(/(self)/)||(h=r),d.vprint("warn","usetarg alternate:"+(h.size?h.size():"nada"));else{var J=[];k=f.match(/(sprite)/)?r:h;k=k.selectAll(".gnlv-sprite");k.each(function(C){J.push(d3.select(this))});f.match(/(sprite)/)||k.classed("gnlv-gone",!1);k=k.size();k>0&&d.vprint("d3","confetti: is a sprite? found:"+ 42 k)}var p=r.node().getBBox();l=[[d.d0(p.x),d.d0(p.y)],[d.d0(p.width),d.d0(p.height)]];var N=Math.max(p.width,p.height)*2;var aa=b.match(/(text)/)?100:50;var G=d.dd(Math.abs(g)/15);G=f.match(/(burst-selfzoom)/)?1:G;var ta=Math.floor(Math.random()*90-45),S=1;if(f.match(/(tile)/)){r=d3.select("#"+L);r=r.node().getBBox();if(typeof r!="object"||r.width==0)r={x:0,y:0,width:200,height:200};x&&(S=parseFloat(x)/(E?5:20));n=parseInt(p.width/(S*r.width)*p.height/(S*r.height)+.5);d.vprint("d3","confetti: TILE TILE "+ 43 L+" tilesizer:"+x+"->"+S+" targetsize:"+p.x+","+p.y+","+p.width+","+p.height+" size:"+r.width+","+r.height+" object size:"+p.width+","+p.height+" NUM:"+n);p.width==0?(x=a.getAttribute("tbox"),x!=null?p=d.parsejson(x):d.vprint("warn","confetti: box width zero and no saved data!")):a.setAttribute("tbox",JSON.stringify(p).replace(/"/g,"'"));var H=b.match(/(text)/)?B.extend({},p):{x:0,y:0,width:200,height:200};n=parseInt(H.width/(S*r.width)*H.height/(S*r.height)+.5);H.cx=H.x+H.width/2;H.cy=H.y+H.height/ 44 2;q=H.x;m=H.y}x="interpolateCool";p="interpolateWarm";if(f.match(/(burst-selfzoomInOut|sprinkle|sprite|tile)/)){x="interpolateRainbow";p="interpolateViridis";var O=parseFloat(a.getAttribute("ppp"));var P=parseFloat(a.getAttribute("ddd"))}var ea=d3[x],ma=d3[p];if(f.match(/(sprite)/)&&J.length>0)e>0?(ia(J,1),window.setTimeout(y.tpr.d3confetti,(P+O-1.1)*1E3,a,b,c,-e,g,f)):(d.vprint("d3","confetti: SPRITE X deactivate X"),ia(J,0));else if(e>0){u.select("#confetti"+c).remove();r=d3.select("#"+c);p=r.node().getBBox(); 45 O=b.match(/(text)/)?p.x+p.width/2:p.width/2;var W=p.height/2;Math.abs(g)!=10&&Math.abs(g)!=3||!f.match(/(burst-self|tile|corner)/)?b.match(/(text)/)&&(O=f.match(/(burst-selfzoom|tile)/)?0:O/2,W=f.match(/(burst-selfzoom|tile)/)?0:W/2):W=O=0;x="translate("+O+","+W+")";E="";c.match(/tel[0-9]+_/)&&(E+=" "+u.select("g[id^=tgrp]").attr("class"),h=r,r=parseFloat(c.split("_")[1]),W=f.match(/(burst-self|corner)/)?(r-1)*p.height*G:(r-1)*p.height,x=f.match(/(burst-selfzoom|tile)/)?x:"translate("+O+","+W+")"); 46 d.vprint("d3","confetti: making it, toggle:"+e+" under:"+b+" id:"+u.attr("id")+" svg:bbox:"+l+" scale:"+G+" gtrans:"+x);O=u.append("g").attr("id","confetti"+c).attr("transform",x).attr("class",f+E);f.match(/(InOut)/)&&(l=document.createElement("style"),l.type="text/css",P=document.createTextNode(".gnlv-btime use { --bdur:"+P+"s; }"),l.appendChild(P),O.node().appendChild(l));var fa=O.append("g").attr("id","confettig").attr("class","gnlv-btime").attr("style","transform:translate(0px,0px)");if(f.match(/(burst-self|corner)/)){u.size()> 47 1&&alert("size for place too big:"+u.size());var U=[];P=k==0?h.attr("id"):J[0].attr("id");fa.selectAll("use").data(d3.range(n)).enter().append("use").attr("xlink:href","#"+P).attr("style",function(C,w){var A;var ba=f.match(/(burst-selfzoom)/)?ea(w/n):Z(6);var ha=f.match(/(burst-selfzoom)/)?ma(w/n):Z(6);var X=A=100;C=0;if(f.match(/(collapse)/)){A=d.ddd(Math.random()*Math.PI*2);U.push(A);C=d.d0(A*180/Math.PI+90);var Q=0+N;X=f.match(/(burst-selfzoom)/)?100:100+Q*Math.cos(A);A=f.match(/(burst-selfzoom)/)? 48 100:100+Q*Math.sin(A);G=b.match(/(text)/)?3:.7}else f.match(/(sprinkle)/)?(A=d.ddd(Math.random()*Math.PI*2),U.push(A),C=0,X=parseFloat(v)*I()-v/2,A=parseFloat(M)*I()-M/2,G=0):f.match(/(tile)/)&&(A=d.ddd(Math.atan2(m-H.cy,q-H.cx)),U.push(A),C=0,A=X=100,z="mask_"+w,fa.append("mask").attr("id",z).append("use").attr("xlink:href","#"+L).attr("fill","#FFFFFF").attr("transform","translate("+q+","+m+") scale("+S+")"),q+=200*S,q>=H.x+H.width&&(q=H.x,m+=200*S,m>=H.y+H.height&&d.vprint("d3","confetti["+w+"]: y:"+ 49 m+" past bound:"+(H.y+H.height)+" delta:"+200*S)),G=1);w=f.match(/(burst-selfzoom|sprinkle|tile)/)?";transition-delay:"+d.dd(1-w/n)+"s;":"";f.match(/(tile)/)&&(w+=";mask:url('#"+z+"');");return"transform:translate("+X+"px,"+A+"px) rotate("+C+"deg) scale("+G+") translate(-100px,-100px);opacity:1;fill:"+ba+"; stroke:"+ha+w});a.setAttribute("ang",U.join())}else fa.selectAll("path").data(d3.range(n)).enter().append("path").attr("d",function(C,w){var A;f=="burst-triangle"||f=="burst-confetti"?A="M 0,0 60,0 30,40z": 50 f=="burst-stars"?A="M47-9.4L19.4,11.5l8.9,33.5L-0.1,25.1l-29.1,18.8l10.1-33.1L-46-11l34.6-0.7L1.1-44l11.3,32.7L47-9.4 L19.4,11.5":f=="burst-bubbles"?A="M25,0.8c0,6.6-2.6,12.5-6.9,17C13.5,22.5,7.9,25,1.1,25c-7.8,0-13.5-3.8-17.1-7.1c-4.2-3.9-7-11-7-17.1\t\tc-0.1-5.4,2.1-12.1,7-16.8c4.9-4.7,10.5-7,17-7c7.7,0,13.3,3.1,17,7C22.3-11.4,25-5.8,25,0.8c0,6.6-2.6,12.5-6.9,17":console.warn("3rdparty.raindrop has no option to make:"+f);return A}).attr("style",function(C,w){C=f=="burst-bubbles"?ea(w/n):Z(6); 51 return"transform:translate(0px,0px) scale("+G+");opacity:1;fill:"+C});window.setTimeout(y.tpr.d3confetti,100,a,b,c,-e,g,f)}else x=f.match(/(burst-self|corner)/)?"use":"path",d.vprint("d3","confetti: animate it, toggle:"+e+" target:"+c+": found?"+u.select("#confetti"+c).size()+" selecting:"+x),e==-3&&f.match(/(burst-selfzoomInOut)/)?(d.vprint("d3","confetti remove confetti hack!"),u.select("#confetti"+c).remove()):e==-2&&f.match(/(burst-selftile)/)?(l=u.select("#defs"+c),l.size()==1&&(a=l.node().parentNode, 52 d.vprint("d3","d3confetti UNDO defs hide, parent:"+a.getAttribute("id")),c=l.select("#defs"+c+">g"),c.size()==1?a.appendChild(c.node()):d.vprint("warn","d3confetti UNDO defs num <g> found other than 1:"+c.size()))):(f.match(/(burst-selfzoom|tile)/)&&(l=u.select("#defs"+c),l.size()==0&&(d.vprint("d3","confetti: create defs wrap"),p=document.createElementNS("http://www.w3.org/2000/svg","defs"),p.setAttribute("id","defs"+c),(r=h.node().parentElement)?(r.appendChild(p),l=u.select("#defs"+c)):d.vprint("d3", 53 "confetti: utarg parent null")),l.node().appendChild(h.node())),h=u.select("#confetti"+c),h=h.selectAll("g").attr("style",function(C,w){C=0;f=="burst-bubbles"&&(C=-600*G,N/=2);return"transform:translate(0px,"+C+"px)"}),h=u.selectAll("#confetti"+c+" g>"+x),f.match(/(collapse|tile)/)&&(u=a.getAttribute("ang"),U=u.split(/,/).map(Number),I=t.mulberry32(U[0])),h.attr("style",function(C,w){var A=0,ba=0;var ha=f.match(/(burst-selfzoom|burst-bubbles)/)?ma(w/n):Z(6);var X=f.match(/(burst-selfzoom|burst-bubbles)/)? 54 ea(w/n):Z(6);C=f.match(/(burst-selfzoom)/)?ta:d.d0(Math.random()*360-180);var Q=d.ddd(Math.random()*Math.PI*2);var T=Math.random()*N;var Y=0;f.match(/(collapse)/)?(Q=U[w],C=d.d0(Q*180/Math.PI+90),T=I()*aa,ba=25*I()-12.5,Y=e==-2?0:1,A=100,G=b.match(/(text)/)?1:.1):f.match(/(tile)/)&&(G=w<n*.25||w>n*.75?1.5+Math.random():.1+Math.random(),Q=U[w],Y=C=T=0,A=100);var na=f.match(/(burst-selfzoom)/)?100:A+ba+T*Math.cos(Q);Q=f.match(/(burst-selfzoom)/)?100:A+ba+T*Math.sin(Q);f.match(/(burst-selfzoomInOut)/)&& 55 e==-1?(G=14,Y=1):f.match(/(burst-selfzoomInOut)/)&&e==-2?Y=G=1:G=f.match(/(burst-selfzoom)/)?d.dd(w*10/n):G;f.match(/(sprinkle)/)&&(C=0,na=parseFloat(v)*I()-v/2,Q=parseFloat(M)*I()-M/2,G=w<5?3.5+Math.random():.3+Math.random(),e==-2&&(G=.1),Y=e==-2?0:1);T=f.match(/(burst-self|corner|sprinkle|tile)/)?"translate(-100px,-100px)":"";T+=f.match(/(burst-selfzoom|corner|tile)/)?";transition-delay:"+(e==-1?d.dd(1-w/n):d.dd(w/n))+"s":"";T+=f.match(/(sprinkle)/)?";transition-delay:"+(e==-1?d.dd(w/n):d.dd(1- 56 w/n))+"s":"";T+=f.match(/(tile)/)?";mask:url('#mask_"+w+"')":"";return"transform:translate("+na+"px,"+Q+"px) rotate("+C+"deg) scale("+G+") "+T+";opacity:"+Y+";fill:"+ha+"; stroke:"+X}),f.match(/(collapse)/)&&k>0&&(d.vprint("d3","confetti s s s s s s s s s s s s s s s s s s s s s s s s s s s sprites found:"+k),h.on("transitionend",function(C,w){d3.select(this).attr("href","#"+J[1].attr("id"))})),e>-3&&f.match(/(burst-selfzoomInOut|sprinkle)/)&&(d.vprint("d3","confetti: que - = 3rd toggle = - , reverse"+ 57 e),e==-1?window.setTimeout(y.tpr.d3confetti,(P+O-1.1)*1E3,a,b,c,e-1,g,f):window.setTimeout(y.tpr.d3confetti,3500,a,b,c,e-1,g,f)),e>-2&&f.match(/(collapse|tile)/)&&(P=f.match(/(collapse)/)?2.2:P+O,d.vprint("d3","confetti: - = 2nd toggle = -, delay:"+P+" opacity"+e),window.setTimeout(y.tpr.d3confetti,P*1E3,a,b,c,e-1,g,f)))};var ra=function(a,b){var c,e=this.wrap;for(c=0;c<this.contA.length;c++){var g=d.d0(this.contA[c])-1;var f=this.jA.cfCalc==null?"+":this.jA.cfCalc[g];d.vprint("d3","d3Attr_templateEngine i["+ 58 b+"] d["+a+"] nn["+c+"] wrap:"+this.contA[c]+" inc["+g+"]="+this.incA[g]+" calc:"+f);f=="*"?(e=e.replace(this.contA[c],this.jA.cfFrom[g]),this.jA.cfFrom[g]*=this.incA[g]):e=e.replace(this.contA[c],this.jA.cfFrom[g]+b*this.incA[g])}return e};this.codonSelJSON=function(a){for(var b in a)B.isArray(a[b])&&(a[b]=D.codonSel(a[b]));return a};this.setCodonA=function(a){V=a};this.codonSel=function(a,b){if((b=="scale"||b=="normal"||b==null)&&!B.isArray(a))return d.vprint("d3","codonSel, have NORMAL mode but not passed a array!"+ 59 a),a;R=d.setVal(R,1,0,V.length-1,d.setValMode.LOOP);var c=parseInt(V[R]);b=="scale"?a=d3.scaleLinear().domain([0,200]).range(a).clamp(!0)(c):b=="func"?(typeof a!="function"&&d.vprint("d3","codonSel, have function mode but not passed a function!"+a),a=a(parseFloat(c)/200)):a=a[c%a.length];d.vprint("d3","codonSel codonA["+R+"]="+c+" selects = => "+a);return a};this.d3_getNchild=function(a,b){var c=[];a=a.firstChild;for(d.vprint("d3","d3_getNchild first child:"+a.nodeName+","+a+" nextSibling:"+ 60 a.nextSibling.nodeName);a.nextSibling!=null&&b>0;)a.nodeName=="#text"||a.nodeName=="#comment"?a=a.nextSibling:(c.push(a),a=a.nextSibling,b--);return c};this.getRandPoint=function(a,b,c,e,g,f){var h=[],q=d.d0(b[0][0]),m=d.d0(b[0][1]),z=d.d0(b[1][0]),n=d.d0(b[1][1]);d3.scaleLinear().domain([q,q+z]).range([q,q+z]).ticks(7);c=="VRANDOM"&&(c=D.codonSel(ka));e=="VRANDOM"&&(e=D.codonSel(ka));c=="RANDOM"&&(c=D.codonSel(ja));e=="RANDOM"&&(e=D.codonSel(ja));for(b=0;b<a;b++){var k=Math.random();var l=Math.random(); 61 var u=.5+.1*Math.sin(l*2*Math.PI);var L=.5+.1*Math.sin(k*2*Math.PI);c!="uniform"&&(c=="bigEdge"?k=k>u?d3.easeQuadIn(k):d3.easeQuadOut(k):c=="bigMiddle"?k=k<u?d3.easeQuadIn(k):d3.easeQuadOut(k):c=="bands"?k=Math.round(k*z/15)*15/z:(d3[c]==null&&(d.vprint("warn","getRandPoint did not find ease:"+c+" selecting: easeLinear"),c="easeLinear"),k=d3[c](k)));e!="uniform"&&(e=="bigEdge"?l=l>L?d3.easeQuadIn(l):d3.easeQuadOut(l):e=="bigMiddle"?l=l<L?d3.easeQuadIn(l):d3.easeQuadOut(l):e=="bands"?l=Math.round(l* 62 n/15)*15/n:(d3[e]==null&&d.vprint("warn","getRandPoint did not find ease:"+e),l=d3[e](l)));l=[d.d0(k*z+q),d.d0(l*n+m)];g!=null&&l.push(d.dd(d.setVal(0,0,g[0],g[1],d.setValMode.RANDOM)));f!=null&&l.push(d.dd(d.setVal(0,0,f[0],f[1],d.setValMode.RANDOM)));h.push(l)}return h};var qa=function(a,b){var c,e=[];b<1&&console.error("doFromToBy sections must be 1 or more");B.isArray(a.cfFrom)||(a.cfFrom=[a.cfFrom]);if(a.cfTo!=null)for(B.isArray(a.cfTo)||(a.cfTo=[a.cfTo]),a.cfTo.length!=a.cfFrom.length&&console.warn("doFromToBy: size From != To: "+ 63 a.cfFrom.length+"!="+a.cfTo.length),c=0;c<a.cfTo.length;c++){var g=(a.cfTo[c]-a.cfFrom[c])/(b-1);d.vprint("d3","doFromToBy["+c+"] sections:"+b+":"+g);e[c]=g}a.cfInc!=null&&(B.isArray(a.cfInc)||(a.cfInc=[a.cfInc]),a.cfInc.length!=a.cfFrom.length&&console.warn("doFromToBy: size From != cfInc: "+a.cfFrom.length+"!="+a.cfInc.length),e=a.cfInc);return e};this.vM2Q=function(a,b){var c,e,g=[];if(b.thinthreshold!=null&&(a=K.vthinpoints(a,b.thinthreshold),a.length<3))return"";var f=K.vcentroid(a);var h=b.shrinkamount; 64 for(c=0;c<a.length;c++){var q=b.shrinkmode=="centroid"?K.vwave(a[c],h,f,1):b.shrinkmode=="fixed"?K.vmovetoward(a[c],f,h):a[c];g.push(q);c==0&&(e=q);if(c<a.length-1){q=K.vave(a[c],a[c+1]);var m=K.vmag(K.vsub(a[c],a[c+1]))}else q=K.vave(a[c],a[0]),m=K.vmag(K.vsub(a[c],a[0]));var z=1-Math.pow(.3*m/Math.abs(h),1.1);m=z<-2?-2*h:z*h;d.vprint("util^2","vM2Q factor:"+z+" delta2:"+m);b.shrinkmode=="fixed"?g.push(K.vmovetoward(q,f,m)):g.push(q)}g.push(e);g.length%2==0&&d.vprint("util","vM2Q POINTS missmatch EVEN need ODD"); 65 if(b.retmode=="points")return g;a="M"+g[0].cx+","+g[0].cy+" Q";for(c=1;c<g.length;c++)a+=g[c].cx+","+g[c].cy+" ";return a+" Z"}}; -
genolve-toolkit/trunk/js/genolve-sound.js
r3202739 r3235663 13 13 b.muteTrans!=null&&b.muteTrans(e);b.muteExtra!=null&&b.muteExtra()};this.play=function(){f.vprint("snd","= = = = = global PLAY Sound["+e+"] extra?"+(b.playExtra!=null));b.muted=!1;Howler.mute(!1);for(var a in b.plO[e].sndO)f.vprint("snd","= = = = = PLAY["+e+"]["+a+"]"),b.plO[e].sndO[a].playmode!="none"&&b.plO[e].sndO[a].playmode=="continuous"&&b.plO[e].sndO[a].play();this.ana();b.playExtra!=null&&b.playExtra()};this.volume=function(a,c){f.vprint("snd","= = = = = volume Sound["+a+"] found?"+(b.plO[e]&& 14 14 b.plO[e].sndO[a])+" vol:"+c);b.plO[e]&&b.plO[e].sndO[a]&&b.plO[e].sndO[a].volume(parseFloat(c)/10)};this.global_vol=function(a){Howler.volume(a)};this.addVol=function(a){if(a==null)f.vprint("snd","sound addVol["+e+"] abort, missing parent obj!");else{var c=a.select("#vol_on_off"),d=!0;L(e);c&&(oldver=c.attr("data-ver"),oldver=oldver==null?0:parseFloat(oldver),f.vprint("snd","addVol["+e+"] sound found existing vol el! ver:"+oldver),oldver<1.1?c.remove():d=!1);d&&(f.vprint("snd","addVol["+e+"] sound new volsprite and hide!"), 15 a.append(Snap.parse(b.volsprite)),c=a.select("#vol_on_off"),c.hasClass("gnlv-gone")||c.addClass("gnlv-gone"),b.plO[e].volState="vol_hidden");b.plO[e].volel=c;b.plO[e].voldomel=c.node;return c}};this.showVol=function(a){b.plO[e].volel&&b.plO[e].volel.attr&&typeof b.plO[e].volel.removeClass=="function"?(f.vprint("snd","showVol["+e+"] "+a+" have func?"+typeof b.plO[e].volel.removeClass),a==null||a==1?b.plO[e].volel.removeClass("gnlv-gone"):b.plO[e].volel.addClass("gnlv-gone")): f.vprint("warn","showVol["+16 e+"] = = = found no vol element at:"+b.plO[e].volel) };this.registerVol=function(a){a=a?a:q.volel;a==null&&(a="#vol_on_off");var c=Snap.select(a);f.vprint("snd","registerVol["+e+"]found ["+a+"]?"+typeof c);L(e);c&&c.attr?(f.vprint("snd","registerVol["+e+"] found it:"+c.attr("id")+", have removeClass?"+typeof c.removeClass),b.plO[e].volel=c,b.plO[e].voldomel=c.node):f.vprint("warn","registerVol["+e+"] X X X found no vol element at:"+a)};this.toggleVol=function(a){var c;typeof a=="string"?b.plO[e].volState=17 a=="vol_on"?"vol_off":"vol_on":typeof a=="object"&&(f.vprint("snd","toggleVol[ event:"+a+"] nodeType?:"+a.nodeType+" id?"+a.id),newapl=a.getAttribute("data-target"),f.vprint("snd","toggleVol[ event:"+a+"] playlist:"+newapl),L(newapl));b.plO[e].voldomel?c=b.plO[e].voldomel.getAttribute("id"):f.vprint("snd","toggleVol[ event:"+a+"] NO voldomel");b.plO[e].volState=="vol_on"?(b.plO[e].volState="vol_off",b.plO[e].voldomel.querySelector(".vol_on").style.display="none",b.plO[e].voldomel.querySelector(".vol_off").style.display=18 " block",b.mute()):(b.needSetup&&(b.needSetup=!1,typeof gnlvScroll!="undefined"&&q.doScroll==1?(gnlvScroll.doSetup(),typeof eloop!="undefined"&&eloop.ani_state=="running"&&eloop.mkVidtimer()):f.vprint("warn","toggleVol X X X sound had flag for doSetup but no gnlvScroll defined!"+typeof gnlvScroll+" or flagged to skip:"+q.doScroll)),b.plO[e].volState="vol_on",b.plO[e].voldomel.querySelector(".vol_on").style.display="block",b.plO[e].voldomel.querySelector(".vol_off").style.display="none",typeof eloop!=19 " undefined"&&eloop.music&&eloop.music.muzvidlink==1&&b.restart(eloop.anielapsed()),b.play());typeof gnlvScroll!="undefined"&&gnlvScroll.changeDiv(e,b.plO[e].volState);f.vprint("snd","toggleVol[cur:"+e+"]["+c+"]:"+b.plO[e].volState)};this.getVolState=function(){L(e);return b.plO[e].volState};this.volColor=function(){var a=W?"#FFFFFF":"#000000";W=!W;b.plO[e].volel.attr({fill:a})};this.volMarquee=function(a,c,d){zmq=b.plO[e].volel.select("#track_marquee");c!="auto"?zmq!=null&&zmq.remove():(f.vprint("snd",20 "= = = = = = = volMarquee marquee mode:"+c+" volel:"+b.plO[e].volel.attr("id")+" marquee el?"+zmq+" track info:"+d),zmq==null?(f.vprint("snd","= = = = = = = volMarquee inserted marquee"),b.plO[e].volel.append(Snap.parse(a.replace(/CONTENT/,d))),zmq=b.plO[e].volel.select("#track_marquee"),mycirc=b.plO[e].volel.select("circle"),mycirc.before(zmq)):zmq.select("textPath").node.innerHTML=d)};var L=function(a,c){a=="notset"&&(a="default");f.vprint("snd","changeapl mode:"+c+" playlist "+e+" -> "+a);a==e&& 21 c!="create"&&b.plO[a]!=null?f.vprint("snd","changeapl noop, playlist same! "+a):a==null||b.plO[a]==null||c=="create"?(f.vprint("snd","changeapl X X X X INIT X X X X apl["+a+"] not initialised? >"+b.plO[a]+"< or mode create?"+c),e=a,b.plO[e]={},b.plO[e].sndO={},b.plO[e].volState="vol_hidden"):(f.vprint("snd","changeapl, new playlist! ["+e+"]volState"+b.plO[e].volState),b.plO[e].volState=="vol_on"&&b.toggleVol("vol_off"),e=a,typeof gnlvScroll!="undefined"&&gnlvScroll.changeDiv(e,b.plO[e].volState))}; 22 this.radio=function(a){b.start({enable:!0,snd:"myradio",file:a,format:["mp3","aac"],do3d:!1,playmode:"normal"})};this.ana=function(a){if(a!=null&&(x=a,f.vprint("snd","ana MODE CHANGE:"+x+" muted?"+b.muted+" save for later"),b.muted))return;x=="off"?p&&(p.clearRect(0,0,A,B),p.fillStyle="red",p.fillRect(0,0,A,B)):r==null&&(f.vprint("snd","ana -------------------------------------------------- CREATE --------------------------------------------------Analyser:"+x+" bins:"+b.numfreqbins),r=Howler.ctx.createAnalyser(),23 r .maxDecibels=-20,r.fftSize=b.numfreqbins*2,x==="onbeat"?(a=Howler.ctx.createBiquadFilter(),a.type="lowpass",Howler.masterGain.connect(a),a.connect(r),f.vprint("snd","ana LOWPASS FILTER ADDED")):Howler.masterGain.connect(r),G&&(A=G.width,B=G.height),fa=Y=(new Date).getTime());x==="headless"?(this.bufferLength=D=r.frequencyBinCount,this.dataArray=new Uint8Array(this.bufferLength),this.timeArray=new Uint8Array(this.bufferLength)):x==="onbeat"?(this.bufferLength=D=r.frequencyBinCount,this.dataArray=24 new Uint8Array(this.bufferLength),this.timeArray=new Uint8Array(this.bufferLength),f.vprint("snd","start beatWorker at interval:10"),b.beatWorkerID&&window.clearInterval(b.beatWorkerID),b.beatWorkerID=window.setInterval(qa,10),f.vprint("snd","start metronome at period - - - - - - - - - - - :"+u),b.metronomeID&&window.clearInterval(b.metronomeID),b.metronomeID=window.setTimeout(ia,u)):x==="sinewave"?(D=r.frequencyBinCount,Q=new Uint8Array(D),r.getByteTimeDomainData(Q),ja()):x=="frequencybars"&&(D= 25 R=r.frequencyBinCount,Z=new Uint8Array(R),p.clearRect(0,0,A,B),ka());f.vprint("snd","ana DONE anaMode [ "+x+" ] num bins:"+D+" - - - - - - - - - - - - - - - - - -- - - - - - -- -- - ");f.vprint("snd","ana DONE - - - - - - - - - - - - - - - - - -- - - - - - -- -- - ")};this.getAna=function(){if(r==null||x=="off"||b.muted)return null;r.getByteFrequencyData(this.dataArray);r.getByteTimeDomainData(this.timeArray);return{data:{freq:this.dataArray,time:this.timeArray,metro:(K()-E)/u,size:this.bufferLength}}};15 a.append(Snap.parse(b.volsprite)),c=a.select("#vol_on_off"),c.hasClass("gnlv-gone")||c.addClass("gnlv-gone"),b.plO[e].volState="vol_hidden");b.plO[e].volel=c;b.plO[e].voldomel=c.node;return c}};this.showVol=function(a){b.plO[e].volel&&b.plO[e].volel.attr&&typeof b.plO[e].volel.removeClass=="function"?(f.vprint("snd","showVol["+e+"] "+a+" have func?"+typeof b.plO[e].volel.removeClass),a==null||a==1?b.plO[e].volel.removeClass("gnlv-gone"):b.plO[e].volel.addClass("gnlv-gone")):(f.vprint("warn","showVol["+ 16 e+"] = = = found no vol element at:"+b.plO[e].volel),b.registerVol())};this.registerVol=function(a){a=a?a:q.volel;a==null&&(a="#vol_on_off");var c=Snap.select(a);f.vprint("snd","registerVol["+e+"]found ["+a+"]?"+typeof c);L(e);c&&c.attr?(f.vprint("snd","registerVol["+e+"] found it:"+c.attr("id")+", have removeClass?"+typeof c.removeClass),b.plO[e].volel=c,b.plO[e].voldomel=c.node):f.vprint("warn","registerVol["+e+"] X X X found no vol element at:"+a)};this.toggleVol=function(a){typeof a=="string"? 17 b.plO[e].volState=a=="vol_on"?"vol_off":"vol_on":typeof a=="object"&&(f.vprint("snd","toggleVol[ event:"+a+"] nodeType?:"+a.nodeType+" id?"+a.id),newapl=a.getAttribute("data-target"),f.vprint("snd","toggleVol[ event:"+a+"] playlist:"+newapl),L(newapl));if(b.plO[e].voldomel)var c=b.plO[e].voldomel.getAttribute("id");else f.vprint("error","toggleVol[ event:"+a+"] NO voldomel for apl:"+e),b.registerVol();b.plO[e].volState=="vol_on"?(b.plO[e].volState="vol_off",b.plO[e].voldomel.querySelector(".vol_on").style.display= 18 "none",b.plO[e].voldomel.querySelector(".vol_off").style.display="block",b.mute()):(b.needSetup&&(b.needSetup=!1,typeof gnlvScroll!="undefined"&&q.doScroll==1?(gnlvScroll.doSetup(),typeof eloop!="undefined"&&eloop.ani_state=="running"&&eloop.mkVidtimer()):f.vprint("warn","toggleVol X X X sound had flag for doSetup but no gnlvScroll defined!"+typeof gnlvScroll+" or flagged to skip:"+q.doScroll)),b.plO[e].volState="vol_on",b.plO[e].voldomel.querySelector(".vol_on").style.display="block",b.plO[e].voldomel.querySelector(".vol_off").style.display= 19 "none",typeof eloop!="undefined"&&eloop.music&&eloop.music.muzvidlink==1&&b.restart(eloop.anielapsed()),b.play());typeof gnlvScroll!="undefined"&&gnlvScroll.changeDiv(e,b.plO[e].volState);f.vprint("snd","toggleVol[cur:"+e+"]["+c+"]:"+b.plO[e].volState)};this.getVolState=function(){L(e);return b.plO[e].volState};this.volColor=function(){var a=W?"#FFFFFF":"#000000";W=!W;b.plO[e].volel.attr({fill:a})};this.volMarquee=function(a,c,d){zmq=b.plO[e].volel.select("#track_marquee");c!="auto"?zmq!=null&&zmq.remove(): 20 (f.vprint("snd","= = = = = = = volMarquee marquee mode:"+c+" volel:"+b.plO[e].volel.attr("id")+" marquee el?"+zmq+" track info:"+d),zmq==null?(f.vprint("snd","= = = = = = = volMarquee inserted marquee"),b.plO[e].volel.append(Snap.parse(a.replace(/CONTENT/,d))),zmq=b.plO[e].volel.select("#track_marquee"),mycirc=b.plO[e].volel.select("circle"),mycirc.before(zmq)):zmq.select("textPath").node.innerHTML=d)};var L=function(a,c){a=="notset"&&(a="default");f.vprint("snd","changeapl mode:"+c+" playlist "+ 21 e+" -> "+a);a==e&&c!="create"&&b.plO[a]!=null?f.vprint("snd","changeapl noop, playlist same! "+a):a==null||b.plO[a]==null||c=="create"?(f.vprint("snd","changeapl X X X X INIT X X X X apl["+a+"] not initialised? >"+b.plO[a]+"< or mode create?"+c),e=a,b.plO[e]={},b.plO[e].sndO={},b.plO[e].volState="vol_hidden"):(f.vprint("snd","changeapl, new playlist! ["+e+"]volState"+b.plO[e].volState),b.plO[e].volState=="vol_on"&&b.toggleVol("vol_off"),e=a,typeof gnlvScroll!="undefined"&&gnlvScroll.changeDiv(e, 22 b.plO[e].volState))};this.radio=function(a){b.start({enable:!0,snd:"myradio",file:a,format:["mp3","aac"],do3d:!1,playmode:"normal"})};this.ana=function(a){if(a!=null&&(x=a,f.vprint("snd","ana MODE CHANGE:"+x+" muted?"+b.muted+" save for later"),b.muted))return;x=="off"?p&&(p.clearRect(0,0,A,B),p.fillStyle="red",p.fillRect(0,0,A,B)):r==null&&(f.vprint("snd","ana -------------------------------------------------- CREATE --------------------------------------------------Analyser:"+x+" bins:"+b.numfreqbins), 23 r=Howler.ctx.createAnalyser(),r.maxDecibels=-20,r.fftSize=b.numfreqbins*2,x==="onbeat"?(a=Howler.ctx.createBiquadFilter(),a.type="lowpass",Howler.masterGain.connect(a),a.connect(r),f.vprint("snd","ana LOWPASS FILTER ADDED")):Howler.masterGain.connect(r),G&&(A=G.width,B=G.height),fa=Y=(new Date).getTime());x==="headless"?(this.bufferLength=D=r.frequencyBinCount,this.dataArray=new Uint8Array(this.bufferLength),this.timeArray=new Uint8Array(this.bufferLength)):x==="onbeat"?(this.bufferLength=D=r.frequencyBinCount, 24 this.dataArray=new Uint8Array(this.bufferLength),this.timeArray=new Uint8Array(this.bufferLength),f.vprint("snd","start beatWorker at interval:10"),b.beatWorkerID&&window.clearInterval(b.beatWorkerID),b.beatWorkerID=window.setInterval(qa,10),f.vprint("snd","start metronome at period - - - - - - - - - - - :"+u),b.metronomeID&&window.clearInterval(b.metronomeID),b.metronomeID=window.setTimeout(ia,u)):x==="sinewave"?(D=r.frequencyBinCount,Q=new Uint8Array(D),r.getByteTimeDomainData(Q),ja()):x=="frequencybars"&& 25 (D=R=r.frequencyBinCount,Z=new Uint8Array(R),p.clearRect(0,0,A,B),ka());f.vprint("snd","ana DONE anaMode [ "+x+" ] num bins:"+D+" - - - - - - - - - - - - - - - - - -- - - - - - -- -- - ");f.vprint("snd","ana DONE - - - - - - - - - - - - - - - - - -- - - - - - -- -- - ")};this.getAna=function(){if(r==null||x=="off"||b.muted)return null;r.getByteFrequencyData(this.dataArray);r.getByteTimeDomainData(this.timeArray);return{data:{freq:this.dataArray,time:this.timeArray,metro:(K()-E)/u,size:this.bufferLength}}}; 26 26 var qa=function(){r.getByteFrequencyData(b.dataArray);var a=b.dataArray,c=b.bufferLength;da++;ca=((new Date).getTime()-fa)/da;var d=[],h,g=0,k=0,z=0,C=0,H=0;for(h=0;h<c;h++)d[h]=f.setVal(a[h]/255,0,0,1,f.setValMode.LIMIT),H=Math.max(H,d[h]),g+=d[h],h<3?C+=d[h]:h<6?z+=d[h]:k+=d[h];m.ave=g/c;m.max=H;m.bass=C/3;m.mid=z/3;m.treb=k/3;aa=!1;m.prevh2&&m.bass<m.prevh&&m.prevh<m.prevh2&&ba==1&&(ba=!1,aa=!0,F=100*m.prevh2,a={bar:F,ts:m.prevt2},F<O?T(a,"cyan"):(n.push(a),O=(3*O+(F-10))/4));m.bass>m.prevh&&m.prevh> 27 27 m.prevh2&&(ba=!0);m.prevh2=m.prevh;m.prevt2=m.prevt;m.prevh=m.bass;m.prevt=K()},ia=function(){E=K();T({ts:E,bar:X},"black");f.vprint("snd",vv?"":"metronome - - - - - - - - - - - TICK at["+E+"] period:"+u+" beat:"+n.length);$.event.trigger({type:"beat",keyoff:"bass",time:new Date});if(ea--<0){ea=3;var a=(new Date).getTime();f.vprint("snd",vv?"":"metronome evalBeats - START - period:"+u+" num beats:"+n.length);n.length==0&&(O*=.5);var c=99999999999999;b.doplots&&(v=V/10-S,plotw=(K(a)-V)/10,l.fillStyle= -
genolve-toolkit/trunk/readme.txt
r3202739 r3235663 2 2 Contributors: genolve 3 3 Donate link: https://www.genolve.com/ 4 Tags: AI image, AI video, Midjourney, DALLE, Sora, ChatGPT, Veo, slider4 Tags: AI image, AI video, Midjourney, DALLE, podcast, ChatGPT, Sora, slider 5 5 Requires at least: 5.0 6 6 Tested up to: 6.7.1 7 Stable tag: 5.0. 17 Stable tag: 5.0.2 8 8 Requires PHP: 5.2.4 9 9 License: GPLv2 or later … … 17 17 ### All Your Favorite AI Image Models 18 18 Use top **AI image generators like DALLE3, Stability.ai and Midjourney** from one simple interface. Genolve's single interface saves registering and paying on multiple AI image sites and having to learn different interfaces. If your AI image prompt falls flat with one model, switch to a different model with one click. Suggested prompts are automatically generated with ChatGPT. Your images are only seen by you instead of posting on a public interface. Several beta testers commented that they greatly prefer our interface over Midjourney's own interface. Refill credits at the same rate the vendor charges. 19 20 ### Generate Video for a Podcast or Music MP3 21 Quickly add video to your Google NotebookLM podcasts. The AI will generate image slides to complement the audio. Alternatively, just display subtitles as the audio plays. Same process can make an instant music video, keying off the lyrics to add images or just display animated lyrics, [learn more]( https://www.genolve.com/svg/en/professional-podcasters-promote-your-product-with-notebooklm.php). 19 22 20 23 ### AI Video Generators Coming Soon … … 110 113 == Changelog == 111 114 115 = 5.0.2 = 116 * Add a tour for adding video to podcasts. 117 * Autogen subtitles for podcasts or lyrics for music. 118 112 119 = 5.0.1 = 113 120 * AI generates background video from MP3 input, e.g. make a video for your NotebookLM podcast.
Note: See TracChangeset
for help on using the changeset viewer.