mirror of
https://codeberg.org/armin/monoslicer.git
synced 2026-10-11 21:11:53 +02:00
Add drag-and-drop regression test and build targets
This commit is contained in:
parent
ca6f1ff0ee
commit
f28e4d37c5
7 changed files with 329 additions and 39 deletions
|
|
@ -552,33 +552,18 @@ void MonoslicerEditor::comboBoxChanged(juce::ComboBox* comboBoxThatHasChanged)
|
|||
}
|
||||
}
|
||||
|
||||
// [EDITOR DIAG] temporary
|
||||
static void ediag(const char* what, const juce::StringArray& files, int accept)
|
||||
{
|
||||
FILE* f = fopen("/tmp/monoslicer_drag.log", "a");
|
||||
if (f == nullptr) return;
|
||||
fprintf(f, "[editor] %s accept=%d files=%d", what, accept, (int)files.size());
|
||||
for (const auto& x : files) fprintf(f, " \"%s\"", x.toUTF8().getAddress());
|
||||
fprintf(f, "\n");
|
||||
fclose(f);
|
||||
}
|
||||
|
||||
bool MonoslicerEditor::isInterestedInFileDrag(const juce::StringArray& files)
|
||||
{
|
||||
for (const auto& f : files)
|
||||
if (f.endsWithIgnoreCase(".wav") || f.endsWithIgnoreCase(".aiff") ||
|
||||
f.endsWithIgnoreCase(".flac") || f.endsWithIgnoreCase(".ogg"))
|
||||
{
|
||||
ediag("isInterested", files, 1);
|
||||
return true;
|
||||
}
|
||||
ediag("isInterested", files, 0);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
void MonoslicerEditor::fileDragEnter(const juce::StringArray& files, int, int)
|
||||
{
|
||||
ediag("enter", files, isInterestedInFileDrag(files) ? 1 : 0);
|
||||
if (isInterestedInFileDrag(files))
|
||||
{
|
||||
dropOverlay.setVisible(true);
|
||||
|
|
@ -595,13 +580,11 @@ void MonoslicerEditor::fileDragMove(const juce::StringArray& files, int, int)
|
|||
|
||||
void MonoslicerEditor::fileDragExit(const juce::StringArray&)
|
||||
{
|
||||
ediag("exit", juce::StringArray(), 0);
|
||||
dropOverlay.setVisible(false);
|
||||
}
|
||||
|
||||
void MonoslicerEditor::filesDropped(const juce::StringArray& files, int, int)
|
||||
{
|
||||
ediag("drop", files, 1);
|
||||
dropOverlay.setVisible(false);
|
||||
|
||||
for (const auto& f : files)
|
||||
|
|
@ -611,7 +594,7 @@ void MonoslicerEditor::filesDropped(const juce::StringArray& files, int, int)
|
|||
{
|
||||
processorRef.loadAudioFile(file);
|
||||
waveformDisplay.setSampleBuffer(&processorRef.getSampleBuffer(), processorRef.getSampleRateLoaded());
|
||||
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue