#define _INPUT_MAPPING_DIALOG_H
#include <QDialog>
-#include <string>
+#include <QString>
+#include <map>
#include <vector>
-#include <sys/time.h>
#include "audio_mixer.h"
-#include "mixer.h"
+#include "input_mapping.h"
+
+class QObject;
namespace Ui {
class InputMappingDialog;
void add_clicked();
void remove_clicked();
void updown_clicked(int direction);
+ void save_clicked();
+ void load_clicked();
void update_button_state();
Ui::InputMappingDialog *ui;
// held forever).
InputMapping old_mapping;
- std::map<DeviceSpec, DeviceInfo> 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<AudioMixer::BusSettings> bus_settings;
+ std::map<DeviceSpec, DeviceInfo> devices; // Needs no lock, accessed only on the UI thread.
AudioMixer::state_changed_callback_t saved_callback;
};