/**************************************************************************************** * Name: pcmics2_snd * * Purpose: House all of the sound-related functions. * * Role: GUI * * Author: Luke Scharf (lscharf@vt.edu) * ***************************************************************************************/ /******************************* * Multiple Include Protection ******************************/ #ifndef _PCMICS2_SND_H_ #define _PCMICS2_SND_H_ /************************ * Includes ***********************/ #include "sndbuf_smart_config.h" #include "sndbuf_smart.h" #include "pcmics2_config.h" #include "pcmics2_gui.h" /************************ * Class: gui_snd ***********************/ class gui_snd : public gui { //-- Data -- private: //-- Sound -- sndbuf_smart* dat; sndbuf_smart* pat; //-- Parameters -- int mic_dist; int amp_scale; int zoom; int wave_len; //-- Misc -- int snap_count; //How many times has snd_snapshot() been called? //-- Structors -- public: gui_snd(int* argc_p, char*** argv_p); ~gui_snd(); //-- GUI Handlers -- private: void set_mic_dist(int mic_dist); void set_amp_scale(int amp_scale); void set_zoom(int zoom); void set_wave_len(int wave_len); void snd_snapshot(); void snd_calibrate(int& wave_len, int& mic_dist); void snd_save(char* filename); //-- Misc -- private: //-- Graphics -- void draw_incidence(int pd, int amp); void draw_text(int pd, int amp); void draw_wave(int x, int y, int draw_samp, int draw_chan, int x_scale, int y_scale, char c); void draw_wave_avg(int x, int y, int chan, int samp, int wl, int xscale, int yscale, char c); }; /******************************* * Multiple Include Protection ******************************/ #endif