Handle multiple audio streams in a single piece of content
[dcpomatic.git] / src / wx / audio_panel.h
index fb2d9296680d2b46604d09634941ecb97356b206..ad7d6081bf656b82a863ea943ab039712f08c4da 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2012-2013 Carl Hetherington <cth@carlh.net>
+    Copyright (C) 2012-2015 Carl Hetherington <cth@carlh.net>
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
 
 */
 
-#include "film_editor_panel.h"
+#include "lib/audio_mapping.h"
+#include "content_sub_panel.h"
+#include "content_widget.h"
 
-class wxSpinCtrl;
+class wxSpinCtrlDouble;
 class wxButton;
 class wxChoice;
 class wxStaticText;
 class AudioMappingView;
 class AudioDialog;
 
-class AudioPanel : public FilmEditorPanel
+class AudioPanel : public ContentSubPanel
 {
 public:
-       AudioPanel (FilmEditor *);
+       AudioPanel (ContentPanel *);
 
        void film_changed (Film::Property);
-       void film_content_changed (boost::shared_ptr<Content>, int);
+       void film_content_changed (int);
+       void content_selection_changed ();
        
 private:
-       void gain_changed ();
        void gain_calculate_button_clicked ();
        void show_clicked ();
-       void delay_changed ();
-       void stream_changed ();
        void mapping_changed (AudioMapping);
+       void setup_description ();
 
-       wxSpinCtrl* _gain;
+       ContentSpinCtrlDouble<AudioContent>* _gain;
        wxButton* _gain_calculate_button;
        wxButton* _show;
-       wxSpinCtrl* _delay;
-       wxChoice* _stream;
-       wxStaticText* _description;
+       ContentSpinCtrl<AudioContent>* _delay;
        AudioMappingView* _mapping;
+       wxStaticText* _description;
        AudioDialog* _audio_dialog;
+
+       boost::signals2::scoped_connection _mapping_connection;
 };