X-Git-Url: https://git.sesse.net/?p=nageru;a=blobdiff_plain;f=input_mapping_dialog.h;h=640644e3898ce9cca25fc950bf9e350477c1b17b;hp=d092a34cd5f12f71356a67f59956575de8e5ffca;hb=refs%2Fheads%2Fffmpeg-audio-only;hpb=95c6bc9d8e340b02112f713389390102d547cc4c diff --git a/input_mapping_dialog.h b/input_mapping_dialog.h index d092a34..640644e 100644 --- a/input_mapping_dialog.h +++ b/input_mapping_dialog.h @@ -2,11 +2,14 @@ #define _INPUT_MAPPING_DIALOG_H #include -#include +#include +#include #include -#include -#include "mixer.h" +#include "audio_mixer.h" +#include "input_mapping.h" + +class QObject; namespace Ui { class InputMappingDialog; @@ -20,6 +23,7 @@ class InputMappingDialog : public QDialog public: InputMappingDialog(); + ~InputMappingDialog(); private: void fill_ui_from_mapping(const InputMapping &mapping); @@ -33,6 +37,8 @@ private: void add_clicked(); void remove_clicked(); void updown_clicked(int direction); + void save_clicked(); + void load_clicked(); void update_button_state(); Ui::InputMappingDialog *ui; @@ -43,7 +49,13 @@ private: // held forever). InputMapping old_mapping; - const std::map devices; + // One for each bus in the mapping. Edited along with the mapping, + // so that old volumes etc. are being kept in place for buses that + // existed before. + std::vector bus_settings; + + std::map devices; // Needs no lock, accessed only on the UI thread. + AudioMixer::state_changed_callback_t saved_callback; }; #endif // !defined(_INPUT_MAPPING_DIALOG_H)