{"ast":null,"code":"import { getMean } from './spectroHelpers.js';\nconst ENABLE_MEAN_MAG = false;\nconst color = \"#50D3D6\";\nconst waveDrawLoop = (ctx, count, mags, peaks) => {\n  const context = ctx;\n  const WIDTH = ctx.canvas.width;\n  const HEIGHT = ctx.canvas.height;\n\n  // console.log('DRAWING')\n\n  const magnitudes = mags;\n  // console.log(magnitudes)\n  //const peaks = peaks\n  const numMags = magnitudes.length;\n  const numPeaks = peaks.length;\n  const canvas_width = WIDTH; //canvas.width; // pixels.\n  const canvas_height = HEIGHT; //canvas.height; // pixels.\n\n  const lineWidth = canvas_width / (numMags * 1.0);\n  context.lineWidth = 1; //lineWidth + 1; // add a 1 px extra length to remove white lines inbetween pixels.\n\n  // console.log(mags)\n\n  // ----------------------\n  ctx.clearRect(0, 0, WIDTH, HEIGHT);\n\n  // ctx.fillStyle = \"rgb(200, 200, 200)\";\n  // ctx.fillRect(0, 0, WIDTH, HEIGHT);\n\n  context.beginPath();\n  context.strokeStyle = \"#50D3D6\"; //color;\n  // if (wavePaused) {\n  //     context.strokeStyle = \"#D3D3D3\";\n  // }\n\n  const meanMag = getMean(magnitudes);\n  let adjustedMag;\n\n  // for (let i = 0; i < numMags; i++) {\n  //     let magnitude = magnitudes[i];\n  //     adjustedMag = ENABLE_MEAN_MAG ? 0.5 + magnitude - meanMag : magnitude;\n  //     let xPos = Math.floor(i * lineWidth);\n  //     let yPos = canvas_height;\n\n  //     context.moveTo(xPos, yPos);\n  //     context.lineTo(xPos, canvas_height * (1 - adjustedMag));\n  // }\n\n  for (let i = 0; i < numMags; i++) {\n    let magnitude = magnitudes[i];\n    adjustedMag = ENABLE_MEAN_MAG ? 0.5 + magnitude - meanMag : magnitude;\n\n    // console.log( canvas_height * (1 - adjustedMag))\n\n    let xPos = Math.floor(i * lineWidth);\n    let yPos = canvas_height;\n    context.moveTo(xPos, yPos);\n    // context.lineTo(xPos, (canvas_height * (1 - adjustedMag)/4));\n    context.lineTo(xPos, canvas_height * (1 - adjustedMag));\n  }\n  context.stroke();\n  context.beginPath();\n  context.lineWidth = 1;\n  context.strokeStyle = \"white\";\n  for (let i = 0; i < numPeaks; i++) {\n    let peakPosition = peaks[i];\n    let xPos = peakPosition * lineWidth;\n    let yPos = canvas_height;\n    let magnitude = magnitudes[peakPosition];\n    adjustedMag = ENABLE_MEAN_MAG ? 0.5 + magnitude - meanMag : magnitude;\n    context.moveTo(xPos, yPos);\n    context.lineTo(xPos, canvas_height * (1 - adjustedMag));\n  }\n  context.stroke();\n};\nexport default waveDrawLoop;\n\n/* */","map":{"version":3,"names":["getMean","ENABLE_MEAN_MAG","color","waveDrawLoop","ctx","count","mags","peaks","context","WIDTH","canvas","width","HEIGHT","height","magnitudes","numMags","length","numPeaks","canvas_width","canvas_height","lineWidth","clearRect","beginPath","strokeStyle","meanMag","adjustedMag","i","magnitude","xPos","Math","floor","yPos","moveTo","lineTo","stroke","peakPosition"],"sources":["/Users/shanyi/Desktop/Projects/UC_Trains_Voice/react-demo/src/gavt/Wave/lib/waveDrawLoop.js"],"sourcesContent":["import { getMean } from './spectroHelpers.js';\n\nconst ENABLE_MEAN_MAG = false;\nconst color = \"#50D3D6\";\n\n\nconst waveDrawLoop = (ctx, count, mags, peaks, ) => {\n    const context = ctx; \n    const WIDTH = ctx.canvas.width;\n    const HEIGHT = ctx.canvas.height;\n\n    // console.log('DRAWING')\n\n \n    const magnitudes = mags;\n    // console.log(magnitudes)\n    //const peaks = peaks\n    const numMags = magnitudes.length;\n    const numPeaks = peaks.length;\n\n    const canvas_width = WIDTH; //canvas.width; // pixels.\n    const canvas_height = HEIGHT; //canvas.height; // pixels.\n\n    const lineWidth = canvas_width / (numMags * 1.0);\n\n    context.lineWidth = 1; //lineWidth + 1; // add a 1 px extra length to remove white lines inbetween pixels.\n\n    // console.log(mags)\n\n    // ----------------------\n    ctx.clearRect(0, 0, WIDTH, HEIGHT);\n\n    // ctx.fillStyle = \"rgb(200, 200, 200)\";\n    // ctx.fillRect(0, 0, WIDTH, HEIGHT);\n\n    context.beginPath();\n    context.strokeStyle = \"#50D3D6\"; //color;\n    // if (wavePaused) {\n    //     context.strokeStyle = \"#D3D3D3\";\n    // }\n\n    const meanMag = getMean(magnitudes);\n    let adjustedMag;\n\n    // for (let i = 0; i < numMags; i++) {\n    //     let magnitude = magnitudes[i];\n    //     adjustedMag = ENABLE_MEAN_MAG ? 0.5 + magnitude - meanMag : magnitude;\n    //     let xPos = Math.floor(i * lineWidth);\n    //     let yPos = canvas_height;\n\n    //     context.moveTo(xPos, yPos);\n    //     context.lineTo(xPos, canvas_height * (1 - adjustedMag));\n    // }\n\n    for (let i = 0; i < numMags; i++) {\n        let magnitude = magnitudes[i];\n\n        adjustedMag = ENABLE_MEAN_MAG ? 0.5 + magnitude - meanMag : magnitude;\n\n        // console.log( canvas_height * (1 - adjustedMag))\n        \n        let xPos = Math.floor(i * lineWidth);\n        let yPos = canvas_height;\n\n        context.moveTo(xPos, yPos);\n        // context.lineTo(xPos, (canvas_height * (1 - adjustedMag)/4));\n        context.lineTo(xPos, canvas_height * (1 - adjustedMag ));\n    }\n\n    context.stroke();\n\n    context.beginPath();\n\n    context.lineWidth = 1;\n    context.strokeStyle = \"white\";\n    for (let i = 0; i < numPeaks; i++) {\n        let peakPosition = peaks[i];\n        let xPos = peakPosition * lineWidth;\n        let yPos = canvas_height;\n        let magnitude = magnitudes[peakPosition];\n        adjustedMag = ENABLE_MEAN_MAG ? 0.5 + magnitude - meanMag : magnitude;\n        context.moveTo(xPos, yPos);\n        context.lineTo(xPos, canvas_height * (1 - adjustedMag));\n    }\n    context.stroke();\n\n}\n\nexport default waveDrawLoop\n\n/* */"],"mappings":"AAAA,SAASA,OAAO,QAAQ,qBAAqB;AAE7C,MAAMC,eAAe,GAAG,KAAK;AAC7B,MAAMC,KAAK,GAAG,SAAS;AAGvB,MAAMC,YAAY,GAAGA,CAACC,GAAG,EAAEC,KAAK,EAAEC,IAAI,EAAEC,KAAK,KAAO;EAChD,MAAMC,OAAO,GAAGJ,GAAG;EACnB,MAAMK,KAAK,GAAGL,GAAG,CAACM,MAAM,CAACC,KAAK;EAC9B,MAAMC,MAAM,GAAGR,GAAG,CAACM,MAAM,CAACG,MAAM;;EAEhC;;EAGA,MAAMC,UAAU,GAAGR,IAAI;EACvB;EACA;EACA,MAAMS,OAAO,GAAGD,UAAU,CAACE,MAAM;EACjC,MAAMC,QAAQ,GAAGV,KAAK,CAACS,MAAM;EAE7B,MAAME,YAAY,GAAGT,KAAK,CAAC,CAAC;EAC5B,MAAMU,aAAa,GAAGP,MAAM,CAAC,CAAC;;EAE9B,MAAMQ,SAAS,GAAGF,YAAY,IAAIH,OAAO,GAAG,GAAG,CAAC;EAEhDP,OAAO,CAACY,SAAS,GAAG,CAAC,CAAC,CAAC;;EAEvB;;EAEA;EACAhB,GAAG,CAACiB,SAAS,CAAC,CAAC,EAAE,CAAC,EAAEZ,KAAK,EAAEG,MAAM,CAAC;;EAElC;EACA;;EAEAJ,OAAO,CAACc,SAAS,CAAC,CAAC;EACnBd,OAAO,CAACe,WAAW,GAAG,SAAS,CAAC,CAAC;EACjC;EACA;EACA;;EAEA,MAAMC,OAAO,GAAGxB,OAAO,CAACc,UAAU,CAAC;EACnC,IAAIW,WAAW;;EAEf;EACA;EACA;EACA;EACA;;EAEA;EACA;EACA;;EAEA,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGX,OAAO,EAAEW,CAAC,EAAE,EAAE;IAC9B,IAAIC,SAAS,GAAGb,UAAU,CAACY,CAAC,CAAC;IAE7BD,WAAW,GAAGxB,eAAe,GAAG,GAAG,GAAG0B,SAAS,GAAGH,OAAO,GAAGG,SAAS;;IAErE;;IAEA,IAAIC,IAAI,GAAGC,IAAI,CAACC,KAAK,CAACJ,CAAC,GAAGN,SAAS,CAAC;IACpC,IAAIW,IAAI,GAAGZ,aAAa;IAExBX,OAAO,CAACwB,MAAM,CAACJ,IAAI,EAAEG,IAAI,CAAC;IAC1B;IACAvB,OAAO,CAACyB,MAAM,CAACL,IAAI,EAAET,aAAa,IAAI,CAAC,GAAGM,WAAW,CAAE,CAAC;EAC5D;EAEAjB,OAAO,CAAC0B,MAAM,CAAC,CAAC;EAEhB1B,OAAO,CAACc,SAAS,CAAC,CAAC;EAEnBd,OAAO,CAACY,SAAS,GAAG,CAAC;EACrBZ,OAAO,CAACe,WAAW,GAAG,OAAO;EAC7B,KAAK,IAAIG,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGT,QAAQ,EAAES,CAAC,EAAE,EAAE;IAC/B,IAAIS,YAAY,GAAG5B,KAAK,CAACmB,CAAC,CAAC;IAC3B,IAAIE,IAAI,GAAGO,YAAY,GAAGf,SAAS;IACnC,IAAIW,IAAI,GAAGZ,aAAa;IACxB,IAAIQ,SAAS,GAAGb,UAAU,CAACqB,YAAY,CAAC;IACxCV,WAAW,GAAGxB,eAAe,GAAG,GAAG,GAAG0B,SAAS,GAAGH,OAAO,GAAGG,SAAS;IACrEnB,OAAO,CAACwB,MAAM,CAACJ,IAAI,EAAEG,IAAI,CAAC;IAC1BvB,OAAO,CAACyB,MAAM,CAACL,IAAI,EAAET,aAAa,IAAI,CAAC,GAAGM,WAAW,CAAC,CAAC;EAC3D;EACAjB,OAAO,CAAC0B,MAAM,CAAC,CAAC;AAEpB,CAAC;AAED,eAAe/B,YAAY;;AAE3B","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}