@@ -223,7 +223,8 @@ if (typeof window !== 'undefined') {
223223
224224 renderer = createRenderer ( {
225225 context,
226- length : context . length === undefined ? 5 : undefined ,
226+ // Bug #117: Firefox has AudioParam implementation so far.
227+ length : context . length === undefined ? ( / F i r e f o x / . test ( navigator . userAgent ) ? 773 : 5 ) : undefined ,
227228 setup ( destination ) {
228229 const constantSourceNode = new ConstantSourceNode ( context ) ;
229230 const pannerNode = new PannerNode ( context , {
@@ -269,11 +270,13 @@ if (typeof window !== 'undefined') {
269270 constantSourceNode . start ( startTime ) ;
270271 }
271272 } ) . then ( ( channelData ) => {
272- expect ( channelData [ 0 ] ) . to . be . closeTo ( 0.00651345 , 0.00000001 ) ;
273- expect ( channelData [ 1 ] ) . to . be . closeTo ( 0.00651345 , 0.00000001 ) ;
274- expect ( channelData [ 2 ] ) . to . be . closeTo ( 0.00651345 , 0.00000001 ) ;
275- expect ( channelData [ 3 ] ) . to . be . closeTo ( 0.00651345 , 0.00000001 ) ;
276- expect ( channelData [ 4 ] ) . to . be . closeTo ( 0.00651345 , 0.00000001 ) ;
273+ const offset = channelData . length === 5 ? 0 : 768 ;
274+
275+ expect ( channelData [ offset + 0 ] ) . to . be . closeTo ( 0.00651345 , 0.00000001 ) ;
276+ expect ( channelData [ offset + 1 ] ) . to . be . closeTo ( 0.00651345 , 0.00000001 ) ;
277+ expect ( channelData [ offset + 2 ] ) . to . be . closeTo ( 0.00651345 , 0.00000001 ) ;
278+ expect ( channelData [ offset + 3 ] ) . to . be . closeTo ( 0.00651345 , 0.00000001 ) ;
279+ expect ( channelData [ offset + 4 ] ) . to . be . closeTo ( 0.00651345 , 0.00000001 ) ;
277280 } ) ;
278281 } ) ;
279282 } ) ;
@@ -473,7 +476,8 @@ if (typeof window !== 'undefined') {
473476
474477 renderer = createRenderer ( {
475478 context,
476- length : context . length === undefined ? 5 : undefined ,
479+ // Bug #117: Firefox has AudioParam implementation so far.
480+ length : context . length === undefined ? ( / F i r e f o x / . test ( navigator . userAgent ) ? 773 : 5 ) : undefined ,
477481 setup ( destination ) {
478482 const constantSourceNode = new ConstantSourceNode ( context ) ;
479483 const pannerNode = new PannerNode ( context , {
@@ -519,11 +523,13 @@ if (typeof window !== 'undefined') {
519523 constantSourceNode . start ( startTime ) ;
520524 }
521525 } ) . then ( ( channelData ) => {
522- expect ( channelData [ 0 ] ) . to . be . closeTo ( 0.007035482 , 0.00000001 ) ;
523- expect ( channelData [ 1 ] ) . to . be . closeTo ( 0.007035482 , 0.00000001 ) ;
524- expect ( channelData [ 2 ] ) . to . be . closeTo ( 0.007035482 , 0.00000001 ) ;
525- expect ( channelData [ 3 ] ) . to . be . closeTo ( 0.007035482 , 0.00000001 ) ;
526- expect ( channelData [ 4 ] ) . to . be . closeTo ( 0.007035482 , 0.00000001 ) ;
526+ const offset = channelData . length === 5 ? 0 : 768 ;
527+
528+ expect ( channelData [ offset + 0 ] ) . to . be . closeTo ( 0.007035482 , 0.00000001 ) ;
529+ expect ( channelData [ offset + 1 ] ) . to . be . closeTo ( 0.007035482 , 0.00000001 ) ;
530+ expect ( channelData [ offset + 2 ] ) . to . be . closeTo ( 0.007035482 , 0.00000001 ) ;
531+ expect ( channelData [ offset + 3 ] ) . to . be . closeTo ( 0.007035482 , 0.00000001 ) ;
532+ expect ( channelData [ offset + 4 ] ) . to . be . closeTo ( 0.007035482 , 0.00000001 ) ;
527533 } ) ;
528534 } ) ;
529535 } ) ;
@@ -723,7 +729,8 @@ if (typeof window !== 'undefined') {
723729
724730 renderer = createRenderer ( {
725731 context,
726- length : context . length === undefined ? 5 : undefined ,
732+ // Bug #117: Firefox has AudioParam implementation so far.
733+ length : context . length === undefined ? ( / F i r e f o x / . test ( navigator . userAgent ) ? 773 : 5 ) : undefined ,
727734 setup ( destination ) {
728735 const constantSourceNode = new ConstantSourceNode ( context ) ;
729736 const pannerNode = new PannerNode ( context , {
@@ -751,11 +758,13 @@ if (typeof window !== 'undefined') {
751758 constantSourceNode . start ( startTime ) ;
752759 }
753760 } ) . then ( ( channelData ) => {
754- expect ( channelData [ 0 ] ) . to . be . closeTo ( 0.00651345 , 0.00000001 ) ;
755- expect ( channelData [ 1 ] ) . to . be . closeTo ( 0.00651345 , 0.00000001 ) ;
756- expect ( channelData [ 2 ] ) . to . be . closeTo ( 0.00651345 , 0.00000001 ) ;
757- expect ( channelData [ 3 ] ) . to . be . closeTo ( 0.00651345 , 0.00000001 ) ;
758- expect ( channelData [ 4 ] ) . to . be . closeTo ( 0.00651345 , 0.00000001 ) ;
761+ const offset = channelData . length === 5 ? 0 : 768 ;
762+
763+ expect ( channelData [ offset + 0 ] ) . to . be . closeTo ( 0.00651345 , 0.00000001 ) ;
764+ expect ( channelData [ offset + 1 ] ) . to . be . closeTo ( 0.00651345 , 0.00000001 ) ;
765+ expect ( channelData [ offset + 2 ] ) . to . be . closeTo ( 0.00651345 , 0.00000001 ) ;
766+ expect ( channelData [ offset + 3 ] ) . to . be . closeTo ( 0.00651345 , 0.00000001 ) ;
767+ expect ( channelData [ offset + 4 ] ) . to . be . closeTo ( 0.00651345 , 0.00000001 ) ;
759768 } ) ;
760769 } ) ;
761770 } ) ;
@@ -772,7 +781,7 @@ if (typeof window !== 'undefined') {
772781 constantSourceNode . start ( startTime ) ;
773782 }
774783 } ) . then ( ( channelData ) => {
775- expect ( Array . from ( channelData ) ) . to . deep . equal ( [
784+ expect ( Array . from ( channelData ) . slice ( channelData . length === 5 ? 0 : 768 ) ) . to . deep . equal ( [
776785 0.0064865294843912125 , 0.0064865294843912125 , 0.0064865294843912125 , 0.0064865294843912125 ,
777786 0.0064865294843912125
778787 ] ) ;
@@ -975,7 +984,8 @@ if (typeof window !== 'undefined') {
975984
976985 renderer = createRenderer ( {
977986 context,
978- length : context . length === undefined ? 5 : undefined ,
987+ // Bug #117: Firefox has AudioParam implementation so far.
988+ length : context . length === undefined ? ( / F i r e f o x / . test ( navigator . userAgent ) ? 773 : 5 ) : undefined ,
979989 setup ( destination ) {
980990 const constantSourceNode = new ConstantSourceNode ( context ) ;
981991 const pannerNode = new PannerNode ( context , {
@@ -1021,7 +1031,7 @@ if (typeof window !== 'undefined') {
10211031 constantSourceNode . start ( startTime ) ;
10221032 }
10231033 } ) . then ( ( channelData ) => {
1024- expect ( Array . from ( channelData ) ) . to . deep . equal ( [
1034+ expect ( Array . from ( channelData ) . slice ( channelData . length === 5 ? 0 : 768 ) ) . to . deep . equal ( [
10251035 0.007035974878817797 , 0.007035974878817797 , 0.007035974878817797 , 0.007035974878817797 ,
10261036 0.007035974878817797
10271037 ] ) ;
@@ -1224,7 +1234,8 @@ if (typeof window !== 'undefined') {
12241234
12251235 renderer = createRenderer ( {
12261236 context,
1227- length : context . length === undefined ? 5 : undefined ,
1237+ // Bug #117: Firefox has AudioParam implementation so far.
1238+ length : context . length === undefined ? ( / F i r e f o x / . test ( navigator . userAgent ) ? 773 : 5 ) : undefined ,
12281239 setup ( destination ) {
12291240 const constantSourceNode = new ConstantSourceNode ( context ) ;
12301241 const pannerNode = new PannerNode ( context , {
@@ -1270,11 +1281,13 @@ if (typeof window !== 'undefined') {
12701281 constantSourceNode . start ( startTime ) ;
12711282 }
12721283 } ) . then ( ( channelData ) => {
1273- expect ( channelData [ 0 ] ) . to . be . closeTo ( 0.007042165 , 0.000000001 ) ;
1274- expect ( channelData [ 1 ] ) . to . be . closeTo ( 0.007042165 , 0.000000001 ) ;
1275- expect ( channelData [ 2 ] ) . to . be . closeTo ( 0.007042165 , 0.000000001 ) ;
1276- expect ( channelData [ 3 ] ) . to . be . closeTo ( 0.007042165 , 0.000000001 ) ;
1277- expect ( channelData [ 4 ] ) . to . be . closeTo ( 0.007042165 , 0.000000001 ) ;
1284+ const offset = channelData . length === 5 ? 0 : 768 ;
1285+
1286+ expect ( channelData [ offset + 0 ] ) . to . be . closeTo ( 0.007042165 , 0.000000001 ) ;
1287+ expect ( channelData [ offset + 1 ] ) . to . be . closeTo ( 0.007042165 , 0.000000001 ) ;
1288+ expect ( channelData [ offset + 2 ] ) . to . be . closeTo ( 0.007042165 , 0.000000001 ) ;
1289+ expect ( channelData [ offset + 3 ] ) . to . be . closeTo ( 0.007042165 , 0.000000001 ) ;
1290+ expect ( channelData [ offset + 4 ] ) . to . be . closeTo ( 0.007042165 , 0.000000001 ) ;
12781291 } ) ;
12791292 } ) ;
12801293 } ) ;
@@ -1474,7 +1487,8 @@ if (typeof window !== 'undefined') {
14741487
14751488 renderer = createRenderer ( {
14761489 context,
1477- length : context . length === undefined ? 5 : undefined ,
1490+ // Bug #117: Firefox has AudioParam implementation so far.
1491+ length : context . length === undefined ? ( / F i r e f o x / . test ( navigator . userAgent ) ? 773 : 5 ) : undefined ,
14781492 setup ( destination ) {
14791493 const constantSourceNode = new ConstantSourceNode ( context ) ;
14801494 const pannerNode = new PannerNode ( context , {
@@ -1520,11 +1534,13 @@ if (typeof window !== 'undefined') {
15201534 constantSourceNode . start ( startTime ) ;
15211535 }
15221536 } ) . then ( ( channelData ) => {
1523- expect ( channelData [ 0 ] ) . to . be . closeTo ( 0.007105881 , 0.000000002 ) ;
1524- expect ( channelData [ 1 ] ) . to . be . closeTo ( 0.007105881 , 0.000000002 ) ;
1525- expect ( channelData [ 2 ] ) . to . be . closeTo ( 0.007105881 , 0.000000002 ) ;
1526- expect ( channelData [ 3 ] ) . to . be . closeTo ( 0.007105881 , 0.000000002 ) ;
1527- expect ( channelData [ 4 ] ) . to . be . closeTo ( 0.007105881 , 0.000000002 ) ;
1537+ const offset = channelData . length === 5 ? 0 : 768 ;
1538+
1539+ expect ( channelData [ offset + 0 ] ) . to . be . closeTo ( 0.007105881 , 0.000000002 ) ;
1540+ expect ( channelData [ offset + 1 ] ) . to . be . closeTo ( 0.007105881 , 0.000000002 ) ;
1541+ expect ( channelData [ offset + 2 ] ) . to . be . closeTo ( 0.007105881 , 0.000000002 ) ;
1542+ expect ( channelData [ offset + 3 ] ) . to . be . closeTo ( 0.007105881 , 0.000000002 ) ;
1543+ expect ( channelData [ offset + 4 ] ) . to . be . closeTo ( 0.007105881 , 0.000000002 ) ;
15281544 } ) ;
15291545 } ) ;
15301546 } ) ;
@@ -1724,7 +1740,8 @@ if (typeof window !== 'undefined') {
17241740
17251741 renderer = createRenderer ( {
17261742 context,
1727- length : context . length === undefined ? 5 : undefined ,
1743+ // Bug #117: Firefox has AudioParam implementation so far.
1744+ length : context . length === undefined ? ( / F i r e f o x / . test ( navigator . userAgent ) ? 773 : 5 ) : undefined ,
17281745 setup ( destination ) {
17291746 const constantSourceNode = new ConstantSourceNode ( context ) ;
17301747 const pannerNode = new PannerNode ( context , {
@@ -1770,11 +1787,13 @@ if (typeof window !== 'undefined') {
17701787 constantSourceNode . start ( startTime ) ;
17711788 }
17721789 } ) . then ( ( channelData ) => {
1773- expect ( channelData [ 0 ] ) . to . be . closeTo ( 0.007032075 , 0.000000001 ) ;
1774- expect ( channelData [ 1 ] ) . to . be . closeTo ( 0.007032075 , 0.000000001 ) ;
1775- expect ( channelData [ 2 ] ) . to . be . closeTo ( 0.007032075 , 0.000000001 ) ;
1776- expect ( channelData [ 3 ] ) . to . be . closeTo ( 0.007032075 , 0.000000001 ) ;
1777- expect ( channelData [ 4 ] ) . to . be . closeTo ( 0.007032075 , 0.000000001 ) ;
1790+ const offset = channelData . length === 5 ? 0 : 768 ;
1791+
1792+ expect ( channelData [ offset + 0 ] ) . to . be . closeTo ( 0.007032075 , 0.000000001 ) ;
1793+ expect ( channelData [ offset + 1 ] ) . to . be . closeTo ( 0.007032075 , 0.000000001 ) ;
1794+ expect ( channelData [ offset + 2 ] ) . to . be . closeTo ( 0.007032075 , 0.000000001 ) ;
1795+ expect ( channelData [ offset + 3 ] ) . to . be . closeTo ( 0.007032075 , 0.000000001 ) ;
1796+ expect ( channelData [ offset + 4 ] ) . to . be . closeTo ( 0.007032075 , 0.000000001 ) ;
17781797 } ) ;
17791798 } ) ;
17801799 } ) ;
@@ -1974,7 +1993,8 @@ if (typeof window !== 'undefined') {
19741993
19751994 renderer = createRenderer ( {
19761995 context,
1977- length : context . length === undefined ? 5 : undefined ,
1996+ // Bug #117: Firefox has AudioParam implementation so far.
1997+ length : context . length === undefined ? ( / F i r e f o x / . test ( navigator . userAgent ) ? 773 : 5 ) : undefined ,
19781998 setup ( destination ) {
19791999 const constantSourceNode = new ConstantSourceNode ( context ) ;
19802000 const pannerNode = new PannerNode ( context , {
@@ -2002,11 +2022,13 @@ if (typeof window !== 'undefined') {
20022022 constantSourceNode . start ( startTime ) ;
20032023 }
20042024 } ) . then ( ( channelData ) => {
2005- expect ( channelData [ 0 ] ) . to . be . closeTo ( 0.007032075 , 0.000000001 ) ;
2006- expect ( channelData [ 1 ] ) . to . be . closeTo ( 0.007032075 , 0.000000001 ) ;
2007- expect ( channelData [ 2 ] ) . to . be . closeTo ( 0.007032075 , 0.000000001 ) ;
2008- expect ( channelData [ 3 ] ) . to . be . closeTo ( 0.007032075 , 0.000000001 ) ;
2009- expect ( channelData [ 4 ] ) . to . be . closeTo ( 0.007032075 , 0.000000001 ) ;
2025+ const offset = channelData . length === 5 ? 0 : 768 ;
2026+
2027+ expect ( channelData [ offset + 0 ] ) . to . be . closeTo ( 0.007032075 , 0.000000001 ) ;
2028+ expect ( channelData [ offset + 1 ] ) . to . be . closeTo ( 0.007032075 , 0.000000001 ) ;
2029+ expect ( channelData [ offset + 2 ] ) . to . be . closeTo ( 0.007032075 , 0.000000001 ) ;
2030+ expect ( channelData [ offset + 3 ] ) . to . be . closeTo ( 0.007032075 , 0.000000001 ) ;
2031+ expect ( channelData [ offset + 4 ] ) . to . be . closeTo ( 0.007032075 , 0.000000001 ) ;
20102032 } ) ;
20112033 } ) ;
20122034 } ) ;
@@ -2023,7 +2045,7 @@ if (typeof window !== 'undefined') {
20232045 constantSourceNode . start ( startTime ) ;
20242046 }
20252047 } ) . then ( ( channelData ) => {
2026- expect ( Array . from ( channelData ) ) . to . deep . equal ( [
2048+ expect ( Array . from ( channelData ) . slice ( channelData . length === 5 ? 0 : 768 ) ) . to . deep . equal ( [
20272049 0.007035556249320507 , 0.007035556249320507 , 0.007035556249320507 , 0.007035556249320507 ,
20282050 0.007035556249320507
20292051 ] ) ;
@@ -2226,7 +2248,8 @@ if (typeof window !== 'undefined') {
22262248
22272249 renderer = createRenderer ( {
22282250 context,
2229- length : context . length === undefined ? 5 : undefined ,
2251+ // Bug #117: Firefox has AudioParam implementation so far.
2252+ length : context . length === undefined ? ( / F i r e f o x / . test ( navigator . userAgent ) ? 773 : 5 ) : undefined ,
22302253 setup ( destination ) {
22312254 const constantSourceNode = new ConstantSourceNode ( context ) ;
22322255 const pannerNode = new PannerNode ( context , {
@@ -2255,7 +2278,7 @@ if (typeof window !== 'undefined') {
22552278 constantSourceNode . start ( startTime ) ;
22562279 }
22572280 } ) . then ( ( channelData ) => {
2258- expect ( Array . from ( channelData ) ) . to . deep . equal ( [
2281+ expect ( Array . from ( channelData ) . slice ( channelData . length === 5 ? 0 : 768 ) ) . to . deep . equal ( [
22592282 0.007035556249320507 , 0.007035556249320507 , 0.007035556249320507 , 0.007035556249320507 ,
22602283 0.007035556249320507
22612284 ] ) ;
@@ -2275,7 +2298,7 @@ if (typeof window !== 'undefined') {
22752298 constantSourceNode . start ( startTime ) ;
22762299 }
22772300 } ) . then ( ( channelData ) => {
2278- expect ( Array . from ( channelData ) ) . to . deep . equal ( [
2301+ expect ( Array . from ( channelData ) . slice ( channelData . length === 5 ? 0 : 768 ) ) . to . deep . equal ( [
22792302 0.007035556249320507 , 0.007035556249320507 , 0.007035556249320507 , 0.007035556249320507 ,
22802303 0.007035556249320507
22812304 ] ) ;
0 commit comments