1 #ifndef ADR_WX_STREAM_FRAME_H 2 #define ADR_WX_STREAM_FRAME_H 3 4 5 #include <audiere.h> 6 #include "wx.h" 7 8 9 class StreamFrame : public wxMDIChildFrame { 10 public: 11 StreamFrame( 12 wxMDIParentFrame* parent, 13 const wxString& title, 14 audiere::OutputStreamPtr stream, 15 audiere::SampleSourcePtr source, 16 audiere::LoopPointSourcePtr loop_source = 0); 17 ~StreamFrame(); 18 19 void OnPlay(wxCommandEvent&); 20 void OnStop(wxCommandEvent&); 21 void OnReset(wxCommandEvent&); 22 void OnViewInfo(wxCommandEvent&); 23 void OnEditLoopPoints(wxCommandEvent&); 24 void OnViewTags(wxCommandEvent&); 25 26 void OnRepeat(wxCommandEvent&); 27 void OnChangeVolume(wxScrollEvent&); 28 void OnChangePan(wxScrollEvent&); 29 void OnChangePitch(wxScrollEvent&); 30 void OnChangePos(wxScrollEvent&); 31 void OnUpdateStatus(wxTimerEvent&); 32 void UpdateVPPLabel(); 33 void UpdateLengthPosLabel(); 34 35 private: 36 audiere::OutputStreamPtr m_stream; 37 audiere::SampleSourcePtr m_source; 38 39 /// Only a valid pointer when the output stream is fed from it. 40 audiere::LoopPointSourcePtr m_loop_source; 41 42 bool m_stream_is_seekable; 43 int m_stream_length; 44 45 wxTimer* m_timer; 46 47 wxStaticText* m_playing_label; 48 wxCheckBox* m_repeating; 49 wxStaticText* m_vpp_label; 50 wxSlider* m_volume; 51 wxSlider* m_pan; 52 wxSlider* m_pitch; 53 wxStaticText* m_length_pos_label; 54 wxSlider* m_pos; 55 56 DECLARE_EVENT_TABLE() 57 }; 58 59 60 #endif 61