{"ast":null,"code":"import { getMean } from './spectroHelpers.js';\nconst ENABLE_MEAN_MAG = false;\nconst color = \"#50D3D6\";\nconst waveDrawLoop = (ctx, count, mags, peaks, strokeStyle = \"#50D3D6\") => {\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  // // FOR WAVE CUSTOMIZATION!\n  context.strokeStyle = strokeStyle; //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","strokeStyle","context","WIDTH","canvas","width","HEIGHT","height","magnitudes","numMags","length","numPeaks","canvas_width","canvas_height","lineWidth","clearRect","beginPath","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, strokeStyle = \"#50D3D6\") => {\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    // // FOR WAVE CUSTOMIZATION!\n    context.strokeStyle = strokeStyle; //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,EAAEC,WAAW,GAAG,SAAS,KAAK;EACvE,MAAMC,OAAO,GAAGL,GAAG;EACnB,MAAMM,KAAK,GAAGN,GAAG,CAACO,MAAM,CAACC,KAAK;EAC9B,MAAMC,MAAM,GAAGT,GAAG,CAACO,MAAM,CAACG,MAAM;;EAEhC;;EAGA,MAAMC,UAAU,GAAGT,IAAI;EACvB;EACA;EACA,MAAMU,OAAO,GAAGD,UAAU,CAACE,MAAM;EACjC,MAAMC,QAAQ,GAAGX,KAAK,CAACU,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;EACAjB,GAAG,CAACkB,SAAS,CAAC,CAAC,EAAE,CAAC,EAAEZ,KAAK,EAAEG,MAAM,CAAC;;EAElC;EACA;;EAEAJ,OAAO,CAACc,SAAS,CAAC,CAAC;EACnB;EACAd,OAAO,CAACD,WAAW,GAAGA,WAAW,CAAC,CAAC;EACnC;EACA;EACA;;EAEA,MAAMgB,OAAO,GAAGxB,OAAO,CAACe,UAAU,CAAC;EACnC,IAAIU,WAAW;;EAEf;EACA;EACA;EACA;EACA;;EAEA;EACA;EACA;;EAEA,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGV,OAAO,EAAEU,CAAC,EAAE,EAAE;IAC9B,IAAIC,SAAS,GAAGZ,UAAU,CAACW,CAAC,CAAC;IAE7BD,WAAW,GAAGxB,eAAe,GAAG,GAAG,GAAG0B,SAAS,GAAGH,OAAO,GAAGG,SAAS;;IAErE;;IAEA,IAAIC,IAAI,GAAGC,IAAI,CAACC,KAAK,CAACJ,CAAC,GAAGL,SAAS,CAAC;IACpC,IAAIU,IAAI,GAAGX,aAAa;IAExBX,OAAO,CAACuB,MAAM,CAACJ,IAAI,EAAEG,IAAI,CAAC;IAC1B;IACAtB,OAAO,CAACwB,MAAM,CAACL,IAAI,EAAER,aAAa,IAAI,CAAC,GAAGK,WAAW,CAAE,CAAC;EAC5D;EAEAhB,OAAO,CAACyB,MAAM,CAAC,CAAC;EAEhBzB,OAAO,CAACc,SAAS,CAAC,CAAC;EAEnBd,OAAO,CAACY,SAAS,GAAG,CAAC;EACrBZ,OAAO,CAACD,WAAW,GAAG,OAAO;EAC7B,KAAK,IAAIkB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGR,QAAQ,EAAEQ,CAAC,EAAE,EAAE;IAC/B,IAAIS,YAAY,GAAG5B,KAAK,CAACmB,CAAC,CAAC;IAC3B,IAAIE,IAAI,GAAGO,YAAY,GAAGd,SAAS;IACnC,IAAIU,IAAI,GAAGX,aAAa;IACxB,IAAIO,SAAS,GAAGZ,UAAU,CAACoB,YAAY,CAAC;IACxCV,WAAW,GAAGxB,eAAe,GAAG,GAAG,GAAG0B,SAAS,GAAGH,OAAO,GAAGG,SAAS;IACrElB,OAAO,CAACuB,MAAM,CAACJ,IAAI,EAAEG,IAAI,CAAC;IAC1BtB,OAAO,CAACwB,MAAM,CAACL,IAAI,EAAER,aAAa,IAAI,CAAC,GAAGK,WAAW,CAAC,CAAC;EAC3D;EACAhB,OAAO,CAACyB,MAAM,CAAC,CAAC;AAEpB,CAAC;AAED,eAAe/B,YAAY;;AAE3B","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}