mirror of
https://github.com/eried/portapack-mayhem.git
synced 2024-10-01 01:26:06 -04:00
Push record file type support into RecordView.
This commit is contained in:
parent
68faccfd10
commit
3f36d8b7bf
@ -143,7 +143,7 @@ private:
|
||||
|
||||
RecordView record_view {
|
||||
{ 0 * 8, 2 * 16, 30 * 8, 1 * 16 },
|
||||
"AUD_????", ".S16", 12, 2,
|
||||
"AUD_????", RecordView::FileType::WAV, 12, 2,
|
||||
};
|
||||
|
||||
spectrum::WaterfallWidget waterfall;
|
||||
|
@ -78,7 +78,7 @@ private:
|
||||
|
||||
RecordView record_view {
|
||||
{ 0 * 8, 2 * 16, 30 * 8, 1 * 16 },
|
||||
"BBD_????", ".C16", 14, 1,
|
||||
"BBD_????", RecordView::FileType::RawS16, 14, 1,
|
||||
};
|
||||
|
||||
spectrum::WaterfallWidget waterfall;
|
||||
|
@ -35,12 +35,12 @@ namespace ui {
|
||||
RecordView::RecordView(
|
||||
const Rect parent_rect,
|
||||
std::string filename_stem_pattern,
|
||||
std::string filename_extension,
|
||||
const FileType file_type,
|
||||
const size_t buffer_size_k,
|
||||
const size_t buffer_count_k
|
||||
) : View { parent_rect },
|
||||
filename_stem_pattern { filename_stem_pattern },
|
||||
filename_extension { filename_extension },
|
||||
file_type { file_type },
|
||||
buffer_size_k { buffer_size_k },
|
||||
buffer_count_k { buffer_count_k }
|
||||
{
|
||||
@ -93,15 +93,33 @@ void RecordView::start() {
|
||||
return;
|
||||
}
|
||||
|
||||
write_metadata_file(filename_stem + ".TXT");
|
||||
std::unique_ptr<Writer> writer;
|
||||
switch(file_type) {
|
||||
case FileType::WAV:
|
||||
writer = std::make_unique<WAVFileWriter>(
|
||||
filename_stem + ".WAV",
|
||||
sampling_rate
|
||||
);
|
||||
break;
|
||||
|
||||
capture_thread = std::make_unique<CaptureThread>(
|
||||
std::make_unique<RawFileWriter>(
|
||||
filename_stem + filename_extension
|
||||
),
|
||||
buffer_size_k, buffer_count_k
|
||||
);
|
||||
button_record.set_bitmap(&bitmap_stop);
|
||||
case FileType::RawS16:
|
||||
write_metadata_file(filename_stem + ".TXT");
|
||||
writer = std::make_unique<RawFileWriter>(
|
||||
filename_stem + ".C16"
|
||||
);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
};
|
||||
|
||||
if( writer ) {
|
||||
capture_thread = std::make_unique<CaptureThread>(
|
||||
std::move(writer),
|
||||
buffer_size_k, buffer_count_k
|
||||
);
|
||||
button_record.set_bitmap(&bitmap_stop);
|
||||
}
|
||||
}
|
||||
|
||||
void RecordView::stop() {
|
||||
|
@ -35,10 +35,15 @@ namespace ui {
|
||||
|
||||
class RecordView : public View {
|
||||
public:
|
||||
enum FileType {
|
||||
RawS16 = 2,
|
||||
WAV = 3,
|
||||
};
|
||||
|
||||
RecordView(
|
||||
const Rect parent_rect,
|
||||
std::string filename_stem_pattern,
|
||||
std::string filename_extension,
|
||||
FileType file_type,
|
||||
const size_t buffer_size_k,
|
||||
const size_t buffer_count_k
|
||||
);
|
||||
@ -65,7 +70,7 @@ private:
|
||||
void on_tick_second();
|
||||
|
||||
const std::string filename_stem_pattern;
|
||||
const std::string filename_extension;
|
||||
const FileType file_type;
|
||||
const size_t buffer_size_k;
|
||||
const size_t buffer_count_k;
|
||||
size_t sampling_rate { 0 };
|
||||
|
Loading…
Reference in New Issue
Block a user