public karaokeTimerW(mainW mW,AVStoDirectSound avs2ds,AviSynthClip avsaudio, IntPtr af) { InitializeComponent(); this.mW = mW; this.avs2ds = avs2ds; this.avsaudio = avsaudio; this.AudioFull = af; //this.MaximumSize = new Size(0,this.Height); this.Resize += new EventHandler(karaokeTimerW_Resize); sliceTextBox.KeyPress += new KeyPressEventHandler(sliceTextBox_KeyPress); sliceTextBox.KeyDown += new KeyEventHandler(sliceTextBox_KeyDown); zoomKaraokeTrackBar.ValueChanged += new EventHandler(zoomKaraokeTrackBar_ValueChanged); KaraokeAudioBox.MouseMove += new MouseEventHandler(KaraokeAudioBox_MouseMove); KaraokeAudioBox.MouseDown += new MouseEventHandler(KaraokeAudioBox_MouseDown); KaraokeAudioBox.MouseUp += new MouseEventHandler(KaraokeAudioBox_MouseUp); KaraokeAudioBox.MouseClick += new MouseEventHandler(KaraokeAudioBox_MouseClick); KaraokeAudioBox.KeyDown += new KeyPictureBox.OnKeyPress(KaraokeAudioBox_KeyDown); KaraokeAudioBox.LostFocus += new EventHandler(KaraokeAudioBox_LostFocus); AudioActualPosition_Refresh.Tick += new EventHandler(AudioActualPosition_Refresh_Tick); //this.Width = 800; }
public T_LoadFullAudio(AviSynthClip a, AVStoDirectSound a2, IntPtr p, mainW m) { avs = a; avs2ds = a2; puntero = p; mw = m; }
private void unmanagedMemoryAudioLoad(AviSynthClip avs, AVStoDirectSound avs2ds) { AudioLoad_Progress = new progress2W(this); AudioLoad_Progress.Show(); AudioLoad_Progress.Focus(); AudioBytesMax = (int)avs.SamplesCount * avs.ChannelsCount * avs.BytesPerSample; AudioLoad_Progress.progressBar.Maximum = AudioBytesMax; try { mainW.AudioLoad_isCancelled = false; AudioFull = Marshal.AllocHGlobal(AudioBytesMax); T_LoadFullAudio load = new T_LoadFullAudio(avs, avs2ds, AudioFull, this); AudioLoad = new Thread(new ThreadStart(load.LoadAudio)); AudioLoad.Priority = ThreadPriority.Lowest; progressBarUpdater.Interval = 2000; progressBarUpdater.Tick += new EventHandler(progressBarUpdater_Tick); AudioLoad.Start(); progressBarUpdater.Enabled = true; } catch (OutOfMemoryException) { errorMsg("No hay suficiente memoria RAM disponible. Operación cancelada."); mainW.AudioLoad_isCancelled = true; } }
//private void loadAudio(AviSynthClip avs) private void loadAudio() { if (AudioFull != IntPtr.Zero) { try { Marshal.FreeHGlobal(AudioFull); } catch { } } // OpenSourceType == VideoSourceType.FFVideoSource if (avsaudio.SamplesCount == 0) // si no hay samples cargados tenemos que cargarlos como sea { throw new PerrySubException("El audio contiene 0 muestras. Cambia el filtro prioritario de audio si tienes problemas."); } avsaudio.AviSynthInvoke(avsaudio.GetAVS(), 0, "ConvertAudioTo16bit", true, "Nulo"); avsaudio.AviSynthInvoke(avsaudio.GetAVS(), 0, "ConvertToMono", true, "Nulo"); //avs.AviSynthInvoke(avs.GetAVS(), 0, "ResampleAudio", true, "22050"); // excepcion en vista, a saber pq double rseg = (double)avsaudio.SamplesCount / (double)avsaudio.AudioSampleRate; hSliderBar.Maximum = (int)(rseg * 10); //avsaudio = avs; avs2ds = new AVStoDirectSound(this, avsaudio); unmanagedMemoryAudioLoad(avsaudio, avs2ds); //updateAudioGrid(); AudioActualPosition_Refresh.Tick += new EventHandler(AudioActualPosition_Refresh_Tick); AudioActualPosition_Refresh_500.Tick += new EventHandler(AudioActualPosition_Refresh_500_Tick); }