1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-10 23:44:24 +00:00

Ensure that the button for choosing audio files in the AudioPlaybackDemo is visible on mobile devices with smaller screens

This commit is contained in:
ed 2019-01-25 10:46:19 +00:00
parent f6aa82af27
commit 3ed17dea2a

View file

@ -288,12 +288,24 @@ public:
addAndMakeVisible (followTransportButton);
followTransportButton.onClick = [this] { updateFollowTransportState(); };
#if (JUCE_ANDROID || JUCE_IOS)
addAndMakeVisible (chooseFileButton);
chooseFileButton.addListener (this);
#else
addAndMakeVisible (fileTreeComp);
directoryList.setDirectory (File::getSpecialLocation (File::userHomeDirectory), true, true);
fileTreeComp.setColour (FileTreeComponent::backgroundColourId, Colours::lightgrey.withAlpha (0.6f));
fileTreeComp.addListener (this);
addAndMakeVisible (explanation);
explanation.setFont (Font (14.00f, Font::plain));
explanation.setJustificationType (Justification::bottomRight);
explanation.setEditable (false, false, false);
explanation.setColour (TextEditor::textColourId, Colours::black);
explanation.setColour (TextEditor::backgroundColourId, Colour (0x00000000));
#endif
addAndMakeVisible (zoomSlider);
zoomSlider.setRange (0, 1, 0);
@ -314,18 +326,6 @@ public:
thread.startThread (3);
#if (JUCE_ANDROID || JUCE_IOS)
addAndMakeVisible (chooseFileButton);
chooseFileButton.addListener (this);
#else
addAndMakeVisible (fileTreeComp);
directoryList.setDirectory (File::getSpecialLocation (File::userHomeDirectory), true, true);
fileTreeComp.setColour (FileTreeComponent::backgroundColourId, Colours::lightgrey.withAlpha (0.6f));
fileTreeComp.addListener (this);
#endif
#ifndef JUCE_DEMO_RUNNER
RuntimePermissions::request (RuntimePermissions::recordAudio,
[this] (bool granted)
@ -368,7 +368,14 @@ public:
auto r = getLocalBounds().reduced (4);
auto controls = r.removeFromBottom (90);
explanation.setBounds (controls.removeFromRight (controls.getWidth() / 3));
auto controlRightBounds = controls.removeFromRight (controls.getWidth() / 3);
#if (JUCE_ANDROID || JUCE_IOS)
chooseFileButton.setBounds (controlRightBounds.reduced (10));
#else
explanation.setBounds (controlRightBounds);
#endif
auto zoom = controls.removeFromTop (25);
zoomLabel .setBounds (zoom.removeFromLeft (50));
@ -378,12 +385,13 @@ public:
startStopButton .setBounds (controls);
r.removeFromBottom (6);
#if JUCE_ANDROID || JUCE_IOS
thumbnail->setBounds (r);
#else
thumbnail->setBounds (r.removeFromBottom (140));
r.removeFromBottom (6);
#if (JUCE_ANDROID || JUCE_IOS)
chooseFileButton.setBounds (r);
#else
fileTreeComp.setBounds (r);
#endif
}
@ -405,6 +413,7 @@ private:
#else
DirectoryContentsList directoryList {nullptr, thread};
FileTreeComponent fileTreeComp {directoryList};
Label explanation { {}, "Select an audio file in the treeview above, and this page will display its waveform, and let you play it.." };
#endif
URL currentAudioFile;
@ -413,8 +422,7 @@ private:
std::unique_ptr<AudioFormatReaderSource> currentAudioFileSource;
std::unique_ptr<DemoThumbnailComp> thumbnail;
Label zoomLabel { {}, "zoom:" },
explanation { {}, "Select an audio file in the treeview above, and this page will display its waveform, and let you play it.." };
Label zoomLabel { {}, "zoom:" };
Slider zoomSlider { Slider::LinearHorizontal, Slider::NoTextBox };
ToggleButton followTransportButton { "Follow Transport" };
TextButton startStopButton { "Play/Stop" };