public VuMeterForm(VuMeter vuMeter) { InitializeComponent(); mVuMeter = vuMeter; mVuMeter.PeakOverload += new events.VuMeterEvents.PeakOverloadHandler(CatchPeakOverloadEvent); mVuMeter.UpdateForms += new events.VuMeterEvents.UpdateFormsHandler(CatchUpdateForms); mVuMeter.ResetEvent += new events.VuMeterEvents.ResetHandler(CatchResetEvent); }
// JQ changed constructor to be private (singleton) private AudioPlayer() { m_PlayFile = true; m_FastPlay = false; m_State = AudioPlayerState.Stopped; ob_VuMeter = null; // JQ Calc = new CalculationFunctions(); }
// catch the peak overload event triggered by VuMeter public void CatchPeakOverloadEvent(object sender, PeakOverload ob_PeakOverload) { VuMeter ob_VuMeter = sender as VuMeter; if (ob_PeakOverload.Channel == 1) { txtOverloadLeft.Text = ob_VuMeter.m_MeanValueLeft.ToString(); } if (ob_PeakOverload.Channel == 2) { txtOverloadRight.Text = ob_VuMeter.m_MeanValueRight.ToString(); } BeepEnabled = true; }
// catch the peak overload event triggered by VuMeter public void CatchPeakOverloadEvent(object sender, events.VuMeterEvents.PeakOverload ob_PeakOverload) { VuMeter ob_VuMeter = sender as VuMeter; if (ob_PeakOverload.Channel == 1) { //txtOverloadLeft.Text = ob_VuMeter.m_MeanValueLeft.ToString () ; SetTextBoxText(txtOverloadLeft, ob_VuMeter.m_MeanValueLeft.ToString()); // JQ -- avoid race condition } if (ob_PeakOverload.Channel == 2) { //txtOverloadRight.Text = ob_VuMeter.m_MeanValueRight.ToString () ; SetTextBoxText(txtOverloadRight, ob_VuMeter.m_MeanValueRight.ToString()); } //BeepEnabled =true ; BeepEnabled = false; // don't beep (JQ) }
// function to catch the update event from VuMeter class to update graph cordinates public void CatchUpdateForms(object sender, events.VuMeterEvents.UpdateForms Update) { VuMeter ob_VuMeterArg = sender as VuMeter; ob_VuMeter = ob_VuMeterArg; // Update cordinates HighTop = ob_VuMeter.Graph.HighTop; HighBottom = ob_VuMeter.Graph.HighBottom; NormalTop = ob_VuMeter.Graph.NormalTop; NormalBottom = ob_VuMeter.Graph.NormalBottom; LowTop = ob_VuMeter.Graph.LowTop; LowBottom = ob_VuMeter.Graph.LowBottom; LineWidth = ob_VuMeter.Graph.LineWidth; LeftGraphX = ob_VuMeter.Graph.LeftGraphX; RightGraphX = ob_VuMeter.Graph.RightGraphX; BackGroundWidth = ob_VuMeter.Graph.BackGroundWidth; BackGroundTop = ob_VuMeter.Graph.BackGroundTop; BackGroundBottom = ob_VuMeter.Graph.BackGroundBottom; EraserLeft = ob_VuMeter.Graph.EraserLeft; EraserRight = ob_VuMeter.Graph.EraserRight; PeakOverloadLightX = ob_VuMeter.Graph.PeakOverloadLightX; PeakOverloadLightY = ob_VuMeter.Graph.PeakOverloadLightY; AmplitudeLeft = ob_VuMeter.m_MeanValueLeft; AmplitudeRight = ob_VuMeter.m_MeanValueRight; tmRefresh.Enabled = true; tmRefreshText.Enabled = true; }
// constructor, made private by JQ private AudioRecorder() { ob_VuMeter = null; }
// Set VuMeter object public void SetVuMeterObject(VuMeter ob_VuMeterArg) { ob_VuMeter = ob_VuMeterArg; ob_UpdateVuMeter.UpdateVuMeterEvent += new DUpdateVuMeterEventHandller(ob_VuMeter.CatchUpdateVuMeterEvent); }
// Set VuMeter object private void SetVuMeterObject(VuMeter ob_VuMeterArg) { ob_VuMeter = ob_VuMeterArg; ob_UpdateVuMeter.UpdateVuMeterEvent += new DUpdateVuMeterEvent(ob_VuMeter.CatchUpdateVuMeterEvent); }