kopia lustrzana https://github.com/AlexandreRouma/SDRPlusPlus
added retroactive recording menu option
rodzic
f205d97b52
commit
2ce1738a49
|
@ -52,9 +52,22 @@ public:
|
||||||
sampleTypes.define(wav::SAMP_TYPE_INT32, "Int32", wav::SAMP_TYPE_INT32);
|
sampleTypes.define(wav::SAMP_TYPE_INT32, "Int32", wav::SAMP_TYPE_INT32);
|
||||||
sampleTypes.define(wav::SAMP_TYPE_FLOAT32, "Float32", wav::SAMP_TYPE_FLOAT32);
|
sampleTypes.define(wav::SAMP_TYPE_FLOAT32, "Float32", wav::SAMP_TYPE_FLOAT32);
|
||||||
|
|
||||||
|
// Define retroactive buffer sizes
|
||||||
|
retroBufSizes.define(0, "None", 0);
|
||||||
|
retroBufSizes.define(1 << 18, "256MB", 1 << 18);
|
||||||
|
retroBufSizes.define(1 << 19, "512MB", 1 << 19);
|
||||||
|
retroBufSizes.define(1 << 20, "1GB", 1 << 20);
|
||||||
|
retroBufSizes.define(1 << 21, "2GB", 1 << 21);
|
||||||
|
retroBufSizes.define(1 << 22, "4GB", 1 << 22);
|
||||||
|
retroBufSizes.define(1 << 23, "8GB", 1 << 23);
|
||||||
|
retroBufSizes.define(1 << 24, "16GB", 1 << 24);
|
||||||
|
retroBufSizes.define(1 << 25, "32GB", 1 << 25);
|
||||||
|
retroBufSizes.define(1 << 26, "64GB", 1 << 26);
|
||||||
|
|
||||||
// Load default config for option lists
|
// Load default config for option lists
|
||||||
containerId = containers.valueId(wav::FORMAT_WAV);
|
containerId = containers.valueId(wav::FORMAT_WAV);
|
||||||
sampleTypeId = sampleTypes.valueId(wav::SAMP_TYPE_INT16);
|
sampleTypeId = sampleTypes.valueId(wav::SAMP_TYPE_INT16);
|
||||||
|
retroBufSizeId = retroBufSizes.nameId("None");
|
||||||
|
|
||||||
// Load config
|
// Load config
|
||||||
config.acquire();
|
config.acquire();
|
||||||
|
@ -70,6 +83,9 @@ public:
|
||||||
if (config.conf[name].contains("sampleType") && sampleTypes.keyExists(config.conf[name]["sampleType"])) {
|
if (config.conf[name].contains("sampleType") && sampleTypes.keyExists(config.conf[name]["sampleType"])) {
|
||||||
sampleTypeId = sampleTypes.keyId(config.conf[name]["sampleType"]);
|
sampleTypeId = sampleTypes.keyId(config.conf[name]["sampleType"]);
|
||||||
}
|
}
|
||||||
|
if (config.conf[name].contains("retroBufferSize") && retroBufSizes.keyExists(config.conf[name]["retroBufferSize"])) {
|
||||||
|
retroBufSizeId = retroBufSizes.keyId(config.conf[name]["retroBufferSize"]);
|
||||||
|
}
|
||||||
if (config.conf[name].contains("audioStream")) {
|
if (config.conf[name].contains("audioStream")) {
|
||||||
selectedStreamName = config.conf[name]["audioStream"];
|
selectedStreamName = config.conf[name]["audioStream"];
|
||||||
}
|
}
|
||||||
|
@ -282,6 +298,14 @@ private:
|
||||||
config.release(true);
|
config.release(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ImGui::LeftLabel("Retroactive buffer");
|
||||||
|
ImGui::FillWidth();
|
||||||
|
if (ImGui::Combo(CONCAT("##_recorder_retro_buf_size_", _this->name), &_this->retroBufSizeId, _this->retroBufSizes.txt)) {
|
||||||
|
config.acquire();
|
||||||
|
config.conf[_this->name]["retroBufferSize"] = _this->retroBufSizes.key(_this->retroBufSizeId);
|
||||||
|
config.release(true);
|
||||||
|
}
|
||||||
|
|
||||||
if (_this->recording) { style::endDisabled(); }
|
if (_this->recording) { style::endDisabled(); }
|
||||||
|
|
||||||
// Show additional audio options
|
// Show additional audio options
|
||||||
|
@ -566,11 +590,13 @@ private:
|
||||||
|
|
||||||
OptionList<std::string, wav::Format> containers;
|
OptionList<std::string, wav::Format> containers;
|
||||||
OptionList<int, wav::SampleType> sampleTypes;
|
OptionList<int, wav::SampleType> sampleTypes;
|
||||||
|
OptionList<int64_t, int64_t> retroBufSizes;
|
||||||
FolderSelect folderSelect;
|
FolderSelect folderSelect;
|
||||||
|
|
||||||
int recMode = RECORDER_MODE_AUDIO;
|
int recMode = RECORDER_MODE_AUDIO;
|
||||||
int containerId;
|
int containerId;
|
||||||
int sampleTypeId;
|
int sampleTypeId;
|
||||||
|
int retroBufSizeId;
|
||||||
bool stereo = true;
|
bool stereo = true;
|
||||||
std::string selectedStreamName = "";
|
std::string selectedStreamName = "";
|
||||||
float audioVolume = 1.0f;
|
float audioVolume = 1.0f;
|
||||||
|
|
Ładowanie…
Reference in New Issue