Browse Source

Made a lot of ScopedPointer usage conform to the std::unique_ptr interface

tags/2021-05-28
Tom Poole 7 years ago
parent
commit
4229dc0a4f
99 changed files with 6808 additions and 497 deletions
  1. +1
    -1
      examples/DemoRunner/Source/Demos/JUCEDemos.cpp
  2. +2
    -2
      examples/DemoRunner/Source/Main.cpp
  3. +5
    -3
      examples/DemoRunner/Source/UI/DemoContentComponent.cpp
  4. +3
    -3
      examples/DemoRunner/Source/UI/MainComponent.cpp
  5. +3
    -2
      examples/DemoRunner/Source/UI/SettingsContent.h
  6. +12
    -12
      extras/AudioPerformanceTest/AudioPerformanceTest.jucer
  7. +20
    -0
      extras/AudioPerformanceTest/Builds/VisualStudio2017/AudioPerformanceTest.sln
  8. +2345
    -0
      extras/AudioPerformanceTest/Builds/VisualStudio2017/AudioPerformanceTest_App.vcxproj
  9. +3845
    -0
      extras/AudioPerformanceTest/Builds/VisualStudio2017/AudioPerformanceTest_App.vcxproj.filters
  10. +31
    -0
      extras/AudioPerformanceTest/Builds/VisualStudio2017/resources.rc
  11. +1
    -1
      extras/AudioPerformanceTest/Source/Main.cpp
  12. +8
    -2
      extras/AudioPluginHost/Source/Filters/FilterIOConfiguration.cpp
  13. +1
    -1
      extras/AudioPluginHost/Source/Filters/FilterIOConfiguration.h
  14. +3
    -3
      extras/AudioPluginHost/Source/HostStartup.cpp
  15. +21
    -15
      extras/AudioPluginHost/Source/UI/GraphEditorPanel.cpp
  16. +7
    -7
      extras/AudioPluginHost/Source/UI/MainHostWindow.cpp
  17. +1
    -1
      extras/BinaryBuilder/Source/Main.cpp
  18. +10
    -10
      extras/NetworkGraphicsDemo/Source/Demos.h
  19. +2
    -2
      extras/NetworkGraphicsDemo/Source/MasterComponent.h
  20. +2
    -1
      extras/Projucer/Source/Application/Windows/jucer_ApplicationUsageDataWindowComponent.h
  21. +2
    -1
      extras/Projucer/Source/Application/Windows/jucer_PIPCreatorWindowComponent.h
  22. +5
    -3
      extras/Projucer/Source/Application/Windows/jucer_SVGPathDataWindowComponent.h
  23. +94
    -94
      extras/Projucer/Source/Application/jucer_Application.cpp
  24. +30
    -21
      extras/Projucer/Source/Application/jucer_AutoUpdater.cpp
  25. +2
    -2
      extras/Projucer/Source/Application/jucer_MainWindow.cpp
  26. +1
    -1
      extras/Projucer/Source/CodeEditor/jucer_LiveBuildCodeEditor.h
  27. +2
    -2
      extras/Projucer/Source/ComponentEditor/Components/jucer_TabbedComponentHandler.h
  28. +2
    -1
      extras/Projucer/Source/ComponentEditor/PaintElements/jucer_PaintElement.cpp
  29. +1
    -1
      extras/Projucer/Source/ComponentEditor/PaintElements/jucer_PaintElementGroup.cpp
  30. +1
    -1
      extras/Projucer/Source/ComponentEditor/Properties/jucer_ColourPropertyComponent.h
  31. +2
    -1
      extras/Projucer/Source/ComponentEditor/Properties/jucer_PositionPropertyBase.h
  32. +2
    -1
      extras/Projucer/Source/ComponentEditor/UI/jucer_ComponentOverlayComponent.cpp
  33. +6
    -3
      extras/Projucer/Source/ComponentEditor/UI/jucer_JucerDocumentEditor.cpp
  34. +2
    -1
      extras/Projucer/Source/ComponentEditor/UI/jucer_ResourceEditorPanel.cpp
  35. +1
    -1
      extras/Projucer/Source/ComponentEditor/UI/jucer_TestComponent.cpp
  36. +12
    -13
      extras/Projucer/Source/ComponentEditor/jucer_ComponentLayout.cpp
  37. +16
    -8
      extras/Projucer/Source/ComponentEditor/jucer_JucerDocument.cpp
  38. +7
    -7
      extras/Projucer/Source/ComponentEditor/jucer_ObjectTypes.cpp
  39. +1
    -1
      extras/Projucer/Source/ComponentEditor/jucer_PaintRoutine.cpp
  40. +5
    -5
      extras/Projucer/Source/Licenses/jucer_LicenseController.cpp
  41. +12
    -9
      extras/Projucer/Source/Licenses/jucer_LicenseThread.h
  42. +2
    -3
      extras/Projucer/Source/Licenses/jucer_LicenseWebview.h
  43. +3
    -4
      extras/Projucer/Source/LiveBuildEngine/jucer_CompileEngineClient.cpp
  44. +2
    -2
      extras/Projucer/Source/LiveBuildEngine/jucer_CompileEngineServer.cpp
  45. +2
    -3
      extras/Projucer/Source/LiveBuildEngine/jucer_CompileEngineSettings.h
  46. +3
    -3
      extras/Projucer/Source/LiveBuildEngine/jucer_DownloadCompileEngineThread.cpp
  47. +8
    -5
      extras/Projucer/Source/Project/UI/Sidebar/jucer_LiveBuildTab.h
  48. +7
    -4
      extras/Projucer/Source/Project/UI/Sidebar/jucer_TabComponents.h
  49. +10
    -5
      extras/Projucer/Source/Project/UI/jucer_HeaderComponent.cpp
  50. +14
    -9
      extras/Projucer/Source/Project/UI/jucer_ProjectContentComponent.cpp
  51. +2
    -2
      extras/Projucer/Source/Project/jucer_Project.cpp
  52. +1
    -1
      extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Android.h
  53. +2
    -2
      extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_CLion.h
  54. +2
    -2
      extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Xcode.h
  55. +4
    -4
      extras/Projucer/Source/ProjectSaving/jucer_ProjectExporter.cpp
  56. +1
    -1
      extras/Projucer/Source/ProjectSaving/jucer_ProjectSaver.h
  57. +1
    -1
      extras/Projucer/Source/Settings/jucer_StoredSettings.cpp
  58. +1
    -1
      extras/Projucer/Source/Utility/PIPs/jucer_PIPGenerator.cpp
  59. +2
    -2
      extras/Projucer/Source/Utility/UI/jucer_JucerTreeViewBase.cpp
  60. +2
    -1
      extras/Projucer/Source/Utility/UI/jucer_SlidingPanelComponent.cpp
  61. +8
    -4
      extras/Projucer/Source/Utility/UI/jucer_UserSettingsPopup.h
  62. +4
    -3
      extras/Projucer/Source/Wizards/jucer_NewProjectWizardComponent.h
  63. +2
    -2
      extras/Projucer/Source/Wizards/jucer_TemplateThumbnailsComponent.h
  64. +8
    -8
      modules/juce_audio_devices/native/juce_linux_ALSA.cpp
  65. +1
    -1
      modules/juce_audio_devices/native/juce_linux_Midi.cpp
  66. +5
    -5
      modules/juce_audio_devices/native/juce_win32_Midi.cpp
  67. +13
    -13
      modules/juce_audio_devices/native/juce_win32_WASAPI.cpp
  68. +9
    -9
      modules/juce_audio_plugin_client/AAX/juce_AAX_Wrapper.cpp
  69. +19
    -19
      modules/juce_audio_plugin_client/AU/juce_AU_Wrapper.mm
  70. +55
    -56
      modules/juce_audio_plugin_client/AU/juce_AUv3_Wrapper.mm
  71. +1
    -1
      modules/juce_audio_plugin_client/Standalone/juce_StandaloneFilterApp.cpp
  72. +14
    -14
      modules/juce_audio_plugin_client/Standalone/juce_StandaloneFilterWindow.h
  73. +1
    -1
      modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp
  74. +12
    -11
      modules/juce_audio_plugin_client/VST3/juce_VST3_Wrapper.cpp
  75. +1
    -1
      modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm
  76. +1
    -1
      modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp
  77. +2
    -2
      modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp
  78. +2
    -2
      modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp
  79. +1
    -1
      modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp
  80. +1
    -1
      modules/juce_blocks_basics/topology/juce_RuleBasedTopologySource.cpp
  81. +2
    -2
      modules/juce_core/memory/juce_SharedResourcePointer.h
  82. +1
    -1
      modules/juce_core/native/juce_win32_Threads.cpp
  83. +1
    -1
      modules/juce_core/threads/juce_Thread.h
  84. +3
    -2
      modules/juce_dsp/frequency/juce_Convolution.cpp
  85. +2
    -2
      modules/juce_dsp/frequency/juce_FFT.cpp
  86. +2
    -2
      modules/juce_events/native/juce_linux_Messaging.cpp
  87. +1
    -1
      modules/juce_events/native/juce_win32_Messaging.cpp
  88. +3
    -1
      modules/juce_graphics/native/juce_linux_Fonts.cpp
  89. +11
    -9
      modules/juce_gui_basics/native/juce_linux_X11_Windowing.cpp
  90. +2
    -2
      modules/juce_gui_basics/native/juce_win32_FileChooser.cpp
  91. +2
    -2
      modules/juce_gui_basics/native/juce_win32_Windowing.cpp
  92. +4
    -3
      modules/juce_gui_extra/native/juce_linux_X11_WebBrowserComponent.cpp
  93. +1
    -1
      modules/juce_gui_extra/native/juce_win32_ActiveXComponent.cpp
  94. +1
    -1
      modules/juce_gui_extra/native/juce_win32_SystemTrayIcon.cpp
  95. +1
    -1
      modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp
  96. +2
    -2
      modules/juce_opengl/native/juce_OpenGL_win32.h
  97. +2
    -2
      modules/juce_osc/osc/juce_OSCBundle.cpp
  98. +4
    -4
      modules/juce_video/capture/juce_CameraDevice.cpp
  99. +5
    -5
      modules/juce_video/native/juce_win32_Video.h

+ 1
- 1
examples/DemoRunner/Source/Demos/JUCEDemos.cpp View File

@@ -100,7 +100,7 @@ static String getCurrentDefaultAudioDeviceName (AudioDeviceManager& deviceManage
AudioDeviceManager& getSharedAudioDeviceManager (int numInputChannels, int numOutputChannels)
{
if (sharedAudioDeviceManager == nullptr)
sharedAudioDeviceManager = new AudioDeviceManager();
sharedAudioDeviceManager.reset (new AudioDeviceManager());
auto* currentDevice = sharedAudioDeviceManager->getCurrentAudioDevice();


+ 2
- 2
examples/DemoRunner/Source/Main.cpp View File

@@ -95,7 +95,7 @@ public:
return;
#endif
mainWindow = new MainAppWindow (getApplicationName());
mainWindow.reset (new MainAppWindow (getApplicationName()));
}
void backButtonPressed() override { mainWindow->getMainComponent().getSidePanel().showOrHide (false); }
@@ -131,7 +131,7 @@ private:
setVisible (true);
#if JUCE_WINDOWS || JUCE_LINUX || JUCE_MAC
taskbarIcon = new DemoTaskbarComponent();
taskbarIcon.reset (new DemoTaskbarComponent());
#endif
}


+ 5
- 3
examples/DemoRunner/Source/UI/DemoContentComponent.cpp View File

@@ -45,7 +45,7 @@ struct DemoContent : public Component
if (comp != nullptr)
{
addAndMakeVisible (comp);
addAndMakeVisible (comp.get());
resized();
}
}
@@ -105,10 +105,12 @@ DemoContentComponent::DemoContentComponent (Component& mainComponent, std::funct
: TabbedComponent (TabbedButtonBar::Orientation::TabsAtTop),
demoChangedCallback (callback)
{
addTab ("Demo", Colours::transparentBlack, demoContent = new DemoContent(), false);
demoContent.reset (new DemoContent());
addTab ("Demo", Colours::transparentBlack, demoContent.get(), false);
#if ! (JUCE_ANDROID || JUCE_IOS)
addTab ("Code", Colours::transparentBlack, codeContent = new CodeContent(), false);
codeContent.reset (new CodeContent());
addTab ("Code", Colours::transparentBlack, codeContent.get(), false);
#endif
addTab ("Settings", Colours::transparentBlack, new SettingsContent (dynamic_cast<MainComponent&> (mainComponent)), true);


+ 3
- 3
examples/DemoRunner/Source/UI/MainComponent.cpp View File

@@ -243,7 +243,7 @@ private:
//==============================================================================
MainComponent::MainComponent()
{
contentComponent = new DemoContentComponent (*this, [this] (bool isHeavyweight)
contentComponent.reset (new DemoContentComponent (*this, [this] (bool isHeavyweight)
{
#if (JUCE_ANDROID || JUCE_IOS)
demosPanel.showOrHide (false);
@@ -260,12 +260,12 @@ MainComponent::MainComponent()
isShowingHeavyweightDemo = isHeavyweight;
resized();
});
}));
demosPanel.setContent (new DemoList (*contentComponent));
demosPanel.setTitleBarComponent (new SidePanelHeader (*this), true);
addAndMakeVisible (contentComponent);
addAndMakeVisible (contentComponent.get());
addAndMakeVisible (showDemosButton);
addAndMakeVisible (demosPanel);


+ 3
- 2
examples/DemoRunner/Source/UI/SettingsContent.h View File

@@ -98,8 +98,9 @@ private:
rendererLabel.setJustificationType (Justification::centredRight);
rendererLabel.attachToComponent (&rendererSelector, true);
addAndMakeVisible (audioSettings = new AudioDeviceSelectorComponent (getSharedAudioDeviceManager(),
0, 256, 0, 256, true, true, true, false));
audioSettings.reset (new AudioDeviceSelectorComponent (getSharedAudioDeviceManager(),
0, 256, 0, 256, true, true, true, false));
addAndMakeVisible (audioSettings.get());
audioSettings->setItemHeight (itemHeight);
setOpaque (true);


+ 12
- 12
extras/AudioPerformanceTest/AudioPerformanceTest.jucer View File

@@ -49,25 +49,25 @@
<MODULEPATH id="juce_audio_utils" path="../../modules"/>
</MODULEPATHS>
</XCODE_IPHONE>
<VS2015 targetFolder="Builds/VisualStudio2015" extraCompilerFlags="">
<VS2017 targetFolder="Builds/VisualStudio2017">
<CONFIGURATIONS>
<CONFIGURATION name="Debug" isDebug="1" targetName="AudioPerformanceTest"/>
<CONFIGURATION name="Release" isDebug="0" targetName="AudioPerformanceTest"/>
<CONFIGURATION isDebug="1" name="Debug"/>
<CONFIGURATION isDebug="0" name="Release"/>
</CONFIGURATIONS>
<MODULEPATHS>
<MODULEPATH id="juce_core" path="../../modules"/>
<MODULEPATH id="juce_events" path="../../modules"/>
<MODULEPATH id="juce_gui_extra" path="../../modules"/>
<MODULEPATH id="juce_gui_basics" path="../../modules"/>
<MODULEPATH id="juce_graphics" path="../../modules"/>
<MODULEPATH id="juce_events" path="../../modules"/>
<MODULEPATH id="juce_data_structures" path="../../modules"/>
<MODULEPATH id="juce_gui_basics" path="../../modules"/>
<MODULEPATH id="juce_gui_extra" path="../../modules"/>
<MODULEPATH id="juce_audio_basics" path="../../modules"/>
<MODULEPATH id="juce_audio_devices" path="../../modules"/>
<MODULEPATH id="juce_audio_formats" path="../../modules"/>
<MODULEPATH id="juce_audio_processors" path="../../modules"/>
<MODULEPATH id="juce_core" path="../../modules"/>
<MODULEPATH id="juce_audio_utils" path="../../modules"/>
<MODULEPATH id="juce_audio_processors" path="../../modules"/>
<MODULEPATH id="juce_audio_formats" path="../../modules"/>
<MODULEPATH id="juce_audio_devices" path="../../modules"/>
<MODULEPATH id="juce_audio_basics" path="../../modules"/>
</MODULEPATHS>
</VS2015>
</VS2017>
<LINUX_MAKE targetFolder="Builds/LinuxMakefile" extraCompilerFlags="">
<CONFIGURATIONS>
<CONFIGURATION name="Debug" libraryPath="/usr/X11R6/lib/" isDebug="1" targetName="AudioPerformanceTest"/>


+ 20
- 0
extras/AudioPerformanceTest/Builds/VisualStudio2017/AudioPerformanceTest.sln View File

@@ -0,0 +1,20 @@
Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2017
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AudioPerformanceTest - App", "AudioPerformanceTest_App.vcxproj", "{78607AE9-F43B-3DDB-0FE1-D745771AF527}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Release|x64 = Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{78607AE9-F43B-3DDB-0FE1-D745771AF527}.Debug|x64.ActiveCfg = Debug|x64
{78607AE9-F43B-3DDB-0FE1-D745771AF527}.Debug|x64.Build.0 = Debug|x64
{78607AE9-F43B-3DDB-0FE1-D745771AF527}.Release|x64.ActiveCfg = Release|x64
{78607AE9-F43B-3DDB-0FE1-D745771AF527}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

+ 2345
- 0
extras/AudioPerformanceTest/Builds/VisualStudio2017/AudioPerformanceTest_App.vcxproj
File diff suppressed because it is too large
View File


+ 3845
- 0
extras/AudioPerformanceTest/Builds/VisualStudio2017/AudioPerformanceTest_App.vcxproj.filters
File diff suppressed because it is too large
View File


+ 31
- 0
extras/AudioPerformanceTest/Builds/VisualStudio2017/resources.rc View File

@@ -0,0 +1,31 @@
#ifdef JUCE_USER_DEFINED_RC_FILE
#include JUCE_USER_DEFINED_RC_FILE
#else
#undef WIN32_LEAN_AND_MEAN
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,0,0,0
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904E4"
BEGIN
VALUE "CompanyName", "ROLI Ltd.\0"
VALUE "LegalCopyright", "ROLI Ltd.\0"
VALUE "FileDescription", "AudioPerformanceTest\0"
VALUE "FileVersion", "1.0.0\0"
VALUE "ProductName", "AudioPerformanceTest\0"
VALUE "ProductVersion", "1.0.0\0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1252
END
END
#endif

+ 1
- 1
extras/AudioPerformanceTest/Source/Main.cpp View File

@@ -43,7 +43,7 @@ public:
//==============================================================================
void initialise (const String&) override
{
mainWindow = new MainWindow (getApplicationName());
mainWindow.reset (new MainWindow (getApplicationName()));
}
void shutdown() override


+ 8
- 2
extras/AudioPluginHost/Source/Filters/FilterIOConfiguration.cpp View File

@@ -448,10 +448,16 @@ FilterIOConfigurationWindow::FilterIOConfigurationWindow (AudioProcessor& p)
}
if (p.getBusCount (true) > 0 || p.canAddBus (true))
addAndMakeVisible (inConfig = new InputOutputConfig (*this, true));
{
inConfig.reset (new InputOutputConfig (*this, true));
addAndMakeVisible (inConfig.get());
}
if (p.getBusCount (false) > 0 || p.canAddBus (false))
addAndMakeVisible (outConfig = new InputOutputConfig (*this, false));
{
outConfig.reset (new InputOutputConfig (*this, false));
addAndMakeVisible (outConfig.get());
}
currentLayout = p.getBusesLayout();
setSize (400, (inConfig != nullptr && outConfig != nullptr ? 160 : 0) + 200);


+ 1
- 1
extras/AudioPluginHost/Source/Filters/FilterIOConfiguration.h View File

@@ -48,7 +48,7 @@ private:
Label title;
ScopedPointer<InputOutputConfig> inConfig, outConfig;
InputOutputConfig* getConfig (bool isInput) noexcept { return isInput ? inConfig : outConfig; }
InputOutputConfig* getConfig (bool isInput) noexcept { return isInput ? inConfig.get() : outConfig.get(); }
void update();
MainHostWindow* getMainWindow() const;


+ 3
- 3
extras/AudioPluginHost/Source/HostStartup.cpp View File

@@ -49,14 +49,14 @@ public:
options.filenameSuffix = "settings";
options.osxLibrarySubFolder = "Preferences";
appProperties = new ApplicationProperties();
appProperties.reset (new ApplicationProperties());
appProperties->setStorageParameters (options);
mainWindow = new MainHostWindow();
mainWindow.reset (new MainHostWindow());
mainWindow->setUsingNativeTitleBar (true);
commandManager.registerAllCommandsForTarget (this);
commandManager.registerAllCommandsForTarget (mainWindow);
commandManager.registerAllCommandsForTarget (mainWindow.get());
mainWindow->menuItemsChanged();


+ 21
- 15
extras/AudioPluginHost/Source/UI/GraphEditorPanel.cpp View File

@@ -57,8 +57,8 @@
auto deadMansPedalFile = getAppProperties().getUserSettings()
->getFile().getSiblingFile ("RecentlyCrashedPluginsList");
scanner = new PluginDirectoryScanner (knownPluginList, formatToScan, paths,
true, deadMansPedalFile, true);
scanner.reset (new PluginDirectoryScanner (knownPluginList, formatToScan, paths,
true, deadMansPedalFile, true));
for (int i = 5; --i >= 0;)
pool.addJob (new ScanJob (*this), true);
@@ -399,7 +399,7 @@ struct GraphEditorPanel::FilterComponent : public Component,
void showPopupMenu()
{
menu = new PopupMenu;
menu.reset (new PopupMenu);
menu->addItem (1, "Delete this filter");
menu->addItem (2, "Disconnect all pins");
menu->addItem (3, "Toggle Bypass");
@@ -820,7 +820,7 @@ void GraphEditorPanel::updateComponents()
void GraphEditorPanel::showPopupMenu (Point<int> mousePos)
{
menu = new PopupMenu;
menu.reset (new PopupMenu);
if (auto* mainWindow = findParentComponentOfClass<MainHostWindow>())
{
@@ -842,15 +842,15 @@ void GraphEditorPanel::beginConnectorDrag (AudioProcessorGraph::NodeAndChannel s
{
auto* c = dynamic_cast<ConnectorComponent*> (e.originalComponent);
connectors.removeObject (c, false);
draggingConnector = c;
draggingConnector.reset (c);
if (draggingConnector == nullptr)
draggingConnector = new ConnectorComponent (*this);
draggingConnector.reset (new ConnectorComponent (*this));
draggingConnector->setInput (source);
draggingConnector->setOutput (dest);
addAndMakeVisible (draggingConnector);
addAndMakeVisible (draggingConnector.get());
draggingConnector->toFront (false);
dragConnector (e);
@@ -1148,31 +1148,37 @@ GraphDocumentComponent::GraphDocumentComponent (AudioPluginFormatManager& fm,
{
init();
deviceManager.addChangeListener (graphPanel);
deviceManager.addChangeListener (graphPanel.get());
deviceManager.addAudioCallback (&graphPlayer);
deviceManager.addMidiInputCallback (String(), &graphPlayer.getMidiMessageCollector());
}
void GraphDocumentComponent::init()
{
addAndMakeVisible (graphPanel = new GraphEditorPanel (*graph));
graphPanel.reset (new GraphEditorPanel (*graph));
addAndMakeVisible (graphPanel.get());
graphPlayer.setProcessor (&graph->graph);
keyState.addListener (&graphPlayer.getMidiMessageCollector());
addAndMakeVisible (keyboardComp = new MidiKeyboardComponent (keyState, MidiKeyboardComponent::horizontalKeyboard));
addAndMakeVisible (statusBar = new TooltipBar());
keyboardComp.reset (new MidiKeyboardComponent (keyState, MidiKeyboardComponent::horizontalKeyboard));
addAndMakeVisible (keyboardComp.get());
statusBar.reset (new TooltipBar());
addAndMakeVisible (statusBar.get());
graphPanel->updateComponents();
if (isOnTouchDevice())
{
if (isOnTouchDevice())
addAndMakeVisible (titleBarComponent = new TitleBarComponent (*this));
{
titleBarComponent.reset (new TitleBarComponent (*this));
addAndMakeVisible (titleBarComponent.get());
}
pluginListBoxModel = new PluginListBoxModel (pluginListBox, pluginList);
pluginListBoxModel.reset (new PluginListBoxModel (pluginListBox, pluginList));
pluginListBox.setModel (pluginListBoxModel);
pluginListBox.setModel (pluginListBoxModel.get());
pluginListBox.setRowHeight (40);
pluginListSidePanel.setContent (&pluginListBox, false);
@@ -1230,7 +1236,7 @@ void GraphDocumentComponent::releaseGraph()
if (graphPanel != nullptr)
{
deviceManager.removeChangeListener (graphPanel);
deviceManager.removeChangeListener (graphPanel.get());
graphPanel = nullptr;
}


+ 7
- 7
extras/AudioPluginHost/Source/UI/MainHostWindow.cpp View File

@@ -87,7 +87,7 @@ MainHostWindow::MainHostWindow()
ScopedPointer<XmlElement> savedAudioState (getAppProperties().getUserSettings()
->getXmlValue ("audioDeviceState"));
safeThis->deviceManager.initialise (granted ? 256 : 0, 256, savedAudioState, true);
safeThis->deviceManager.initialise (granted ? 256 : 0, 256, savedAudioState.get(), true);
});
#if JUCE_IOS || JUCE_ANDROID
@@ -98,9 +98,9 @@ MainHostWindow::MainHostWindow()
centreWithSize (800, 600);
#endif
graphHolder = new GraphDocumentComponent (formatManager, deviceManager, knownPluginList);
graphHolder.reset (new GraphDocumentComponent (formatManager, deviceManager, knownPluginList));
setContentNonOwned (graphHolder, false);
setContentNonOwned (graphHolder.get(), false);
restoreWindowStateFromString (getAppProperties().getUserSettings()->getValue ("mainWindowPos"));
@@ -224,11 +224,11 @@ void MainHostWindow::changeListenerCallback (ChangeBroadcaster* changed)
if (savedPluginList != nullptr)
{
getAppProperties().getUserSettings()->setValue ("pluginList", savedPluginList);
getAppProperties().getUserSettings()->setValue ("pluginList", savedPluginList.get());
getAppProperties().saveIfNeeded();
}
}
else if (graphHolder != nullptr && changed == graphHolder->graph)
else if (graphHolder != nullptr && changed == graphHolder->graph.get())
{
auto title = JUCEApplication::getInstance()->getApplicationName();
auto f = graphHolder->graph->getFile();
@@ -506,7 +506,7 @@ bool MainHostWindow::perform (const InvocationInfo& info)
case CommandIDs::showPluginListEditor:
if (pluginListWindow == nullptr)
pluginListWindow = new PluginListWindow (*this, formatManager);
pluginListWindow.reset (new PluginListWindow (*this, formatManager));
pluginListWindow->toFront (true);
break;
@@ -579,7 +579,7 @@ void MainHostWindow::showAudioSettings()
{
ScopedPointer<XmlElement> audioState (safeThis->deviceManager.createStateXml());
getAppProperties().getUserSettings()->setValue ("audioDeviceState", audioState);
getAppProperties().getUserSettings()->setValue ("audioDeviceState", audioState.get());
getAppProperties().getUserSettings()->saveIfNeeded();
if (safeThis->graphHolder != nullptr)


+ 1
- 1
extras/BinaryBuilder/Source/Main.cpp View File

@@ -81,7 +81,7 @@ static int addFile (const File& file,
cppStream << "const char* " << classname << "::" << name
<< " = (const char*) temp" << tempNum << ";\r\n\r\n";
return mb.getSize();
return (int) mb.getSize();
}
static bool isHiddenFile (const File& f, const File& root)


+ 10
- 10
extras/NetworkGraphicsDemo/Source/Demos.h View File

@@ -85,7 +85,7 @@ struct BackgroundLogo : public AnimatedContent
)blahblah";
ScopedPointer<XmlElement> svg (XmlDocument::parse (logoData));
logo = Drawable::createFromSVG (*svg);
logo.reset (Drawable::createFromSVG (*svg));
}
String getName() const override { return "Background Image"; }
@@ -205,18 +205,18 @@ struct FlockDemo : public BackgroundLogo
{
Bird()
{
Random rng;
pos.x = rng.nextFloat() * 10.0f - 5.0f;
pos.y = rng.nextFloat() * 10.0f - 5.0f;
velocity.x = rng.nextFloat() * 0.001f;
velocity.y = rng.nextFloat() * 0.001f;
Random randGen;
pos.x = randGen.nextFloat() * 10.0f - 5.0f;
pos.y = randGen.nextFloat() * 10.0f - 5.0f;
velocity.x = randGen.nextFloat() * 0.001f;
velocity.y = randGen.nextFloat() * 0.001f;
colour = Colour::fromHSV (rng.nextFloat(), 0.2f, 0.9f, rng.nextFloat() * 0.4f + 0.2f);
colour = Colour::fromHSV (randGen.nextFloat(), 0.2f, 0.9f, randGen.nextFloat() * 0.4f + 0.2f);
shape.addTriangle (0.0f, 0.0f, -0.3f, 1.0f, 0.3f, 1.0f);
shape = shape.createPathWithRoundedCorners (0.2f);
shape.applyTransform (AffineTransform::scale (rng.nextFloat() + 1.0f));
shape.applyTransform (AffineTransform::scale (randGen.nextFloat() + 1.0f));
}
Point<float> pos, velocity, acc;
@@ -410,8 +410,8 @@ struct FlockWithText : public FlockDemo
as.append (text, Font (textSize * scale), Colour (0x80ffffff).withMultipliedAlpha (alpha));
as.setJustification (Justification::centred);
auto centre = canvas.clients[clientIndex % canvas.clients.size()].centre * scale;
as.draw (g, Rectangle<float> (textBlockWidth * scale, textBlockWidth * scale).withCentre (centre));
auto middle = canvas.clients[clientIndex % canvas.clients.size()].centre * scale;
as.draw (g, Rectangle<float> (textBlockWidth * scale, textBlockWidth * scale).withCentre (middle));
}
void tick()


+ 2
- 2
extras/NetworkGraphicsDemo/Source/MasterComponent.h View File

@@ -42,8 +42,8 @@ struct MasterContentComponent : public Component,
createAllDemos (demos);
setContent (0);
setSize (15.0f * currentCanvas.getLimits().getWidth(),
15.0f * currentCanvas.getLimits().getHeight());
setSize ((int) (15.0f * currentCanvas.getLimits().getWidth()),
(int) (15.0f * currentCanvas.getLimits().getHeight()));
if (! OSCSender::connect (getBroadcastIPAddress(), masterPortNumber))
error = "Master app OSC sender: network connection error.";


+ 2
- 1
extras/Projucer/Source/Application/Windows/jucer_ApplicationUsageDataWindowComponent.h View File

@@ -64,7 +64,8 @@ public:
if (showCheckbox)
{
addAndMakeVisible (shareApplicationUsageDataToggle = new ToggleButton());
shareApplicationUsageDataToggle.reset (new ToggleButton());
addAndMakeVisible (shareApplicationUsageDataToggle.get());
auto* controller = ProjucerApplication::getApp().licenseController.get();


+ 2
- 1
extras/Projucer/Source/Application/Windows/jucer_PIPCreatorWindowComponent.h View File

@@ -63,7 +63,8 @@ class PIPCreatorWindowComponent : public Component,
public:
PIPCreatorWindowComponent()
{
setLookAndFeel (lf = new PIPCreatorLookAndFeel());
lf.reset (new PIPCreatorLookAndFeel());
setLookAndFeel (lf.get());
addAndMakeVisible (propertyViewport);
propertyViewport.setViewedComponent (&propertyGroup, false);


+ 5
- 3
extras/Projucer/Source/Application/Windows/jucer_SVGPathDataWindowComponent.h View File

@@ -163,11 +163,13 @@ public:
dragOver = false;
repaint();
if (ScopedPointer<XmlElement> e = XmlDocument::parse (File (files[0])))
ScopedPointer<XmlElement> element (XmlDocument::parse (File (files[0])));
if (element != nullptr)
{
if (auto* ePath = e->getChildByName ("path"))
if (auto* ePath = element->getChildByName ("path"))
userText.setText (ePath->getStringAttribute ("d"), true);
else if (auto* ePolygon = e->getChildByName ("polygon"))
else if (auto* ePolygon = element->getChildByName ("polygon"))
userText.setText (ePolygon->getStringAttribute ("points"), true);
}
}


+ 94
- 94
extras/Projucer/Source/Application/jucer_Application.cpp View File

@@ -85,7 +85,7 @@ void ProjucerApplication::initialise (const String& commandLine)
isRunningCommandLine = commandLine.isNotEmpty();
licenseController = new LicenseController;
licenseController.reset (new LicenseController);
licenseController->addLicenseStatusChangedCallback (this);
if (isRunningCommandLine)
@@ -111,10 +111,10 @@ void ProjucerApplication::initialise (const String& commandLine)
openDocumentManager.registerType (new ProjucerAppClasses::LiveBuildCodeEditorDocument::Type(), 2);
childProcessCache = new ChildProcessCache();
childProcessCache.reset (new ChildProcessCache());
initCommandManager();
menuModel = new MainMenuModel();
menuModel.reset (new MainMenuModel());
settings->appearance.refreshPresetSchemeList();
@@ -131,9 +131,9 @@ void ProjucerApplication::initialiseBasics()
{
LookAndFeel::setDefaultLookAndFeel (&lookAndFeel);
settings = new StoredSettings();
settings.reset (new StoredSettings());
ImageCache::setCacheTimeout (30 * 1000);
icons = new Icons();
icons.reset (new Icons());
tooltipWindow.setMillisecondsBeforeTipAppears (1200);
}
@@ -147,10 +147,10 @@ bool ProjucerApplication::initialiseLogger (const char* filePrefix)
String folder = "com.juce.projucer";
#endif
logger = FileLogger::createDateStampedLogger (folder, filePrefix, ".txt",
getApplicationName() + " " + getApplicationVersion()
+ " --- Build date: " __DATE__);
Logger::setCurrentLogger (logger);
logger.reset (FileLogger::createDateStampedLogger (folder, filePrefix, ".txt",
getApplicationName() + " " + getApplicationVersion()
+ " --- Build date: " __DATE__));
Logger::setCurrentLogger (logger.get());
}
return logger != nullptr;
@@ -167,10 +167,10 @@ void ProjucerApplication::handleAsyncUpdate()
// workaround broken "Open Recent" submenu: not passing the
// submenu's title here avoids the defect in JuceMainMenuHandler::addMenuItem
MenuBarModel::setMacMainMenu (menuModel, &extraAppleMenuItems); //, "Open Recent");
MenuBarModel::setMacMainMenu (menuModel.get(), &extraAppleMenuItems); //, "Open Recent");
#endif
versionChecker = new LatestVersionChecker();
versionChecker.reset (new LatestVersionChecker());
if (licenseController != nullptr)
{
@@ -334,7 +334,7 @@ ProjucerApplication& ProjucerApplication::getApp()
ApplicationCommandManager& ProjucerApplication::getCommandManager()
{
ApplicationCommandManager* cm = ProjucerApplication::getApp().commandManager;
auto* cm = ProjucerApplication::getApp().commandManager.get();
jassert (cm != nullptr);
return *cm;
}
@@ -378,11 +378,11 @@ void ProjucerApplication::createMenu (PopupMenu& menu, const String& menuName)
void ProjucerApplication::createFileMenu (PopupMenu& menu)
{
menu.addCommandItem (commandManager, CommandIDs::newProject);
menu.addCommandItem (commandManager, CommandIDs::newProjectFromClipboard);
menu.addCommandItem (commandManager, CommandIDs::newPIP);
menu.addCommandItem (commandManager.get(), CommandIDs::newProject);
menu.addCommandItem (commandManager.get(), CommandIDs::newProjectFromClipboard);
menu.addCommandItem (commandManager.get(), CommandIDs::newPIP);
menu.addSeparator();
menu.addCommandItem (commandManager, CommandIDs::open);
menu.addCommandItem (commandManager.get(), CommandIDs::open);
{
PopupMenu recentFiles;
@@ -392,7 +392,7 @@ void ProjucerApplication::createFileMenu (PopupMenu& menu)
if (recentFiles.getNumItems() > 0)
{
recentFiles.addSeparator();
recentFiles.addCommandItem (commandManager, CommandIDs::clearRecentFiles);
recentFiles.addCommandItem (commandManager.get(), CommandIDs::clearRecentFiles);
}
menu.addSubMenu ("Open Recent", recentFiles);
@@ -406,58 +406,58 @@ void ProjucerApplication::createFileMenu (PopupMenu& menu)
}
menu.addSeparator();
menu.addCommandItem (commandManager, CommandIDs::closeDocument);
menu.addCommandItem (commandManager, CommandIDs::saveDocument);
menu.addCommandItem (commandManager, CommandIDs::saveDocumentAs);
menu.addCommandItem (commandManager, CommandIDs::saveAll);
menu.addCommandItem (commandManager.get(), CommandIDs::closeDocument);
menu.addCommandItem (commandManager.get(), CommandIDs::saveDocument);
menu.addCommandItem (commandManager.get(), CommandIDs::saveDocumentAs);
menu.addCommandItem (commandManager.get(), CommandIDs::saveAll);
menu.addSeparator();
menu.addCommandItem (commandManager, CommandIDs::closeProject);
menu.addCommandItem (commandManager, CommandIDs::saveProject);
menu.addCommandItem (commandManager.get(), CommandIDs::closeProject);
menu.addCommandItem (commandManager.get(), CommandIDs::saveProject);
menu.addSeparator();
menu.addCommandItem (commandManager, CommandIDs::openInIDE);
menu.addCommandItem (commandManager, CommandIDs::saveAndOpenInIDE);
menu.addCommandItem (commandManager.get(), CommandIDs::openInIDE);
menu.addCommandItem (commandManager.get(), CommandIDs::saveAndOpenInIDE);
menu.addSeparator();
#if ! JUCER_ENABLE_GPL_MODE
menu.addCommandItem (commandManager, CommandIDs::loginLogout);
menu.addCommandItem (commandManager.get(), CommandIDs::loginLogout);
#endif
#if ! JUCE_MAC
menu.addCommandItem (commandManager, CommandIDs::showAboutWindow);
menu.addCommandItem (commandManager, CommandIDs::showAppUsageWindow);
menu.addCommandItem (commandManager, CommandIDs::showGlobalPathsWindow);
menu.addCommandItem (commandManager.get(), CommandIDs::showAboutWindow);
menu.addCommandItem (commandManager.get(), CommandIDs::showAppUsageWindow);
menu.addCommandItem (commandManager.get(), CommandIDs::showGlobalPathsWindow);
menu.addSeparator();
menu.addCommandItem (commandManager, StandardApplicationCommandIDs::quit);
menu.addCommandItem (commandManager.get(), StandardApplicationCommandIDs::quit);
#endif
}
void ProjucerApplication::createEditMenu (PopupMenu& menu)
{
menu.addCommandItem (commandManager, StandardApplicationCommandIDs::undo);
menu.addCommandItem (commandManager, StandardApplicationCommandIDs::redo);
menu.addCommandItem (commandManager.get(), StandardApplicationCommandIDs::undo);
menu.addCommandItem (commandManager.get(), StandardApplicationCommandIDs::redo);
menu.addSeparator();
menu.addCommandItem (commandManager, StandardApplicationCommandIDs::cut);
menu.addCommandItem (commandManager, StandardApplicationCommandIDs::copy);
menu.addCommandItem (commandManager, StandardApplicationCommandIDs::paste);
menu.addCommandItem (commandManager, StandardApplicationCommandIDs::del);
menu.addCommandItem (commandManager, StandardApplicationCommandIDs::selectAll);
menu.addCommandItem (commandManager, StandardApplicationCommandIDs::deselectAll);
menu.addCommandItem (commandManager.get(), StandardApplicationCommandIDs::cut);
menu.addCommandItem (commandManager.get(), StandardApplicationCommandIDs::copy);
menu.addCommandItem (commandManager.get(), StandardApplicationCommandIDs::paste);
menu.addCommandItem (commandManager.get(), StandardApplicationCommandIDs::del);
menu.addCommandItem (commandManager.get(), StandardApplicationCommandIDs::selectAll);
menu.addCommandItem (commandManager.get(), StandardApplicationCommandIDs::deselectAll);
menu.addSeparator();
menu.addCommandItem (commandManager, CommandIDs::showFindPanel);
menu.addCommandItem (commandManager, CommandIDs::findSelection);
menu.addCommandItem (commandManager, CommandIDs::findNext);
menu.addCommandItem (commandManager, CommandIDs::findPrevious);
menu.addCommandItem (commandManager.get(), CommandIDs::showFindPanel);
menu.addCommandItem (commandManager.get(), CommandIDs::findSelection);
menu.addCommandItem (commandManager.get(), CommandIDs::findNext);
menu.addCommandItem (commandManager.get(), CommandIDs::findPrevious);
}
void ProjucerApplication::createViewMenu (PopupMenu& menu)
{
menu.addCommandItem (commandManager, CommandIDs::showProjectSettings);
menu.addCommandItem (commandManager, CommandIDs::showProjectTab);
menu.addCommandItem (commandManager, CommandIDs::showBuildTab);
menu.addCommandItem (commandManager, CommandIDs::showFileExplorerPanel);
menu.addCommandItem (commandManager, CommandIDs::showModulesPanel);
menu.addCommandItem (commandManager, CommandIDs::showExportersPanel);
menu.addCommandItem (commandManager, CommandIDs::showExporterSettings);
menu.addCommandItem (commandManager.get(), CommandIDs::showProjectSettings);
menu.addCommandItem (commandManager.get(), CommandIDs::showProjectTab);
menu.addCommandItem (commandManager.get(), CommandIDs::showBuildTab);
menu.addCommandItem (commandManager.get(), CommandIDs::showFileExplorerPanel);
menu.addCommandItem (commandManager.get(), CommandIDs::showModulesPanel);
menu.addCommandItem (commandManager.get(), CommandIDs::showExportersPanel);
menu.addCommandItem (commandManager.get(), CommandIDs::showExporterSettings);
menu.addSeparator();
createColourSchemeItems (menu);
@@ -465,19 +465,19 @@ void ProjucerApplication::createViewMenu (PopupMenu& menu)
void ProjucerApplication::createBuildMenu (PopupMenu& menu)
{
menu.addCommandItem (commandManager, CommandIDs::toggleBuildEnabled);
menu.addCommandItem (commandManager, CommandIDs::buildNow);
menu.addCommandItem (commandManager, CommandIDs::toggleContinuousBuild);
menu.addCommandItem (commandManager.get(), CommandIDs::toggleBuildEnabled);
menu.addCommandItem (commandManager.get(), CommandIDs::buildNow);
menu.addCommandItem (commandManager.get(), CommandIDs::toggleContinuousBuild);
menu.addSeparator();
menu.addCommandItem (commandManager, CommandIDs::launchApp);
menu.addCommandItem (commandManager, CommandIDs::killApp);
menu.addCommandItem (commandManager, CommandIDs::cleanAll);
menu.addCommandItem (commandManager.get(), CommandIDs::launchApp);
menu.addCommandItem (commandManager.get(), CommandIDs::killApp);
menu.addCommandItem (commandManager.get(), CommandIDs::cleanAll);
menu.addSeparator();
menu.addCommandItem (commandManager, CommandIDs::reinstantiateComp);
menu.addCommandItem (commandManager, CommandIDs::showWarnings);
menu.addCommandItem (commandManager.get(), CommandIDs::reinstantiateComp);
menu.addCommandItem (commandManager.get(), CommandIDs::showWarnings);
menu.addSeparator();
menu.addCommandItem (commandManager, CommandIDs::nextError);
menu.addCommandItem (commandManager, CommandIDs::prevError);
menu.addCommandItem (commandManager.get(), CommandIDs::nextError);
menu.addCommandItem (commandManager.get(), CommandIDs::prevError);
}
void ProjucerApplication::createColourSchemeItems (PopupMenu& menu)
@@ -518,9 +518,9 @@ void ProjucerApplication::createColourSchemeItems (PopupMenu& menu)
void ProjucerApplication::createWindowMenu (PopupMenu& menu)
{
menu.addCommandItem (commandManager, CommandIDs::goToPreviousWindow);
menu.addCommandItem (commandManager, CommandIDs::goToNextWindow);
menu.addCommandItem (commandManager, CommandIDs::closeWindow);
menu.addCommandItem (commandManager.get(), CommandIDs::goToPreviousWindow);
menu.addCommandItem (commandManager.get(), CommandIDs::goToNextWindow);
menu.addCommandItem (commandManager.get(), CommandIDs::closeWindow);
menu.addSeparator();
int counter = 0;
@@ -534,14 +534,14 @@ void ProjucerApplication::createWindowMenu (PopupMenu& menu)
}
menu.addSeparator();
menu.addCommandItem (commandManager, CommandIDs::closeAllWindows);
menu.addCommandItem (commandManager.get(), CommandIDs::closeAllWindows);
}
void ProjucerApplication::createDocumentMenu (PopupMenu& menu)
{
menu.addCommandItem (commandManager, CommandIDs::goToPreviousDoc);
menu.addCommandItem (commandManager, CommandIDs::goToNextDoc);
menu.addCommandItem (commandManager, CommandIDs::goToCounterpart);
menu.addCommandItem (commandManager.get(), CommandIDs::goToPreviousDoc);
menu.addCommandItem (commandManager.get(), CommandIDs::goToNextDoc);
menu.addCommandItem (commandManager.get(), CommandIDs::goToCounterpart);
menu.addSeparator();
auto numDocs = jmin (50, openDocumentManager.getNumOpenDocuments());
@@ -553,31 +553,31 @@ void ProjucerApplication::createDocumentMenu (PopupMenu& menu)
}
menu.addSeparator();
menu.addCommandItem (commandManager, CommandIDs::closeAllDocuments);
menu.addCommandItem (commandManager.get(), CommandIDs::closeAllDocuments);
}
void ProjucerApplication::createToolsMenu (PopupMenu& menu)
{
menu.addCommandItem (commandManager, CommandIDs::showUTF8Tool);
menu.addCommandItem (commandManager, CommandIDs::showSVGPathTool);
menu.addCommandItem (commandManager, CommandIDs::showTranslationTool);
menu.addCommandItem (commandManager.get(), CommandIDs::showUTF8Tool);
menu.addCommandItem (commandManager.get(), CommandIDs::showSVGPathTool);
menu.addCommandItem (commandManager.get(), CommandIDs::showTranslationTool);
}
void ProjucerApplication::createHelpMenu (PopupMenu& menu)
{
menu.addCommandItem (commandManager, CommandIDs::showForum);
menu.addCommandItem (commandManager.get(), CommandIDs::showForum);
menu.addSeparator();
menu.addCommandItem (commandManager, CommandIDs::showAPIModules);
menu.addCommandItem (commandManager, CommandIDs::showAPIClasses);
menu.addCommandItem (commandManager, CommandIDs::showTutorials);
menu.addCommandItem (commandManager.get(), CommandIDs::showAPIModules);
menu.addCommandItem (commandManager.get(), CommandIDs::showAPIClasses);
menu.addCommandItem (commandManager.get(), CommandIDs::showTutorials);
}
void ProjucerApplication::createExtraAppleMenuItems (PopupMenu& menu)
{
menu.addCommandItem (commandManager, CommandIDs::showAboutWindow);
menu.addCommandItem (commandManager, CommandIDs::showAppUsageWindow);
menu.addCommandItem (commandManager.get(), CommandIDs::showAboutWindow);
menu.addCommandItem (commandManager.get(), CommandIDs::showAppUsageWindow);
menu.addSeparator();
menu.addCommandItem (commandManager, CommandIDs::showGlobalPathsWindow);
menu.addCommandItem (commandManager.get(), CommandIDs::showGlobalPathsWindow);
}
void ProjucerApplication::createExamplesPopupMenu (PopupMenu& menu) noexcept
@@ -602,7 +602,7 @@ void ProjucerApplication::createExamplesPopupMenu (PopupMenu& menu) noexcept
else
{
menu.addSeparator();
menu.addCommandItem (commandManager, CommandIDs::launchDemoRunner);
menu.addCommandItem (commandManager.get(), CommandIDs::launchDemoRunner);
}
}
@@ -809,16 +809,16 @@ void ProjucerApplication::launchDemoRunner()
else if (findDemoRunnerProject() != File())
{
auto& lf = Desktop::getInstance().getDefaultLookAndFeel();
demoRunnerAlert = lf.createAlertWindow ("Open Project",
"Couldn't find a compiled version of the Demo Runner."
#if JUCE_LINUX
" Do you want to build it now?", "Build project", "Cancel",
#else
" Do you want to open the project?", "Open project", "Cancel",
#endif
{},
AlertWindow::QuestionIcon, 2,
mainWindowList.getFrontmostWindow (false));
demoRunnerAlert.reset (lf.createAlertWindow ("Open Project",
"Couldn't find a compiled version of the Demo Runner."
#if JUCE_LINUX
" Do you want to build it now?", "Build project", "Cancel",
#else
" Do you want to open the project?", "Open project", "Cancel",
#endif
{},
AlertWindow::QuestionIcon, 2,
mainWindowList.getFrontmostWindow (false)));
demoRunnerAlert->enterModalState (true, ModalCallbackFunction::create ([this] (int retVal)
{
@@ -1327,7 +1327,7 @@ void ProjucerApplication::updateAllBuildTabs()
void ProjucerApplication::initCommandManager()
{
commandManager = new ApplicationCommandManager();
commandManager.reset (new ApplicationCommandManager());
commandManager->registerAllCommandsForTarget (this);
{
@@ -1386,11 +1386,11 @@ void ProjucerApplication::setupAnalytics()
void ProjucerApplication::showSetJUCEPathAlert()
{
auto& lf = Desktop::getInstance().getDefaultLookAndFeel();
pathAlert = lf.createAlertWindow ("Set JUCE Path", "Your global JUCE path is invalid. This path is used to access the JUCE examples and demo project - "
"would you like to set it now?",
"Set path", "Cancel", "Don't ask again",
AlertWindow::WarningIcon, 3,
mainWindowList.getFrontmostWindow (false));
pathAlert.reset (lf.createAlertWindow ("Set JUCE Path", "Your global JUCE path is invalid. This path is used to access the JUCE examples and demo project - "
"would you like to set it now?",
"Set path", "Cancel", "Don't ask again",
AlertWindow::WarningIcon, 3,
mainWindowList.getFrontmostWindow (false)));
pathAlert->enterModalState (true, ModalCallbackFunction::create ([this] (int retVal)
{


+ 30
- 21
extras/Projucer/Source/Application/jucer_AutoUpdater.cpp View File

@@ -214,7 +214,7 @@ public:
total += written;
setStatusMessage (String (TRANS ("Downloading... (123)"))
setStatusMessage (String (TRANS("Downloading... (123)"))
.replace ("123", File::descriptionOfSizeInBytes (total)));
}
@@ -243,36 +243,42 @@ public:
const char* overwriteFolderPath)
: hasOverwriteButton (overwriteFolderPath != nullptr)
{
addAndMakeVisible (titleLabel = new Label ("Title Label",
TRANS ("Download \"123\" version 456?").replace ("123", productName)
.replace ("456", version.toString())));
titleLabel.reset (new Label ("Title Label",
TRANS("Download \"123\" version 456?")
.replace ("123", productName)
.replace ("456", version.toString())));
addAndMakeVisible (titleLabel.get());
titleLabel->setFont (Font (15.00f, Font::bold));
titleLabel->setJustificationType (Justification::centredLeft);
titleLabel->setEditable (false, false, false);
addAndMakeVisible (contentLabel = new Label ("Content Label",
TRANS ("A new version of \"123\" is available - would you like to download it?")
.replace ("123", productName)));
contentLabel.reset(new Label ("Content Label",
TRANS("A new version of \"123\" is available - would you like to download it?")
.replace ("123", productName)));
addAndMakeVisible (contentLabel.get());
contentLabel->setFont (Font (15.00f, Font::plain));
contentLabel->setJustificationType (Justification::topLeft);
contentLabel->setEditable (false, false, false);
addAndMakeVisible (okButton = new TextButton ("OK Button"));
okButton.reset (new TextButton ("OK Button"));
addAndMakeVisible (okButton.get());
okButton->setButtonText (TRANS(hasOverwriteButton ? "Choose Another Folder..." : "OK"));
okButton->onClick = [this] { exitParentDialog (2); };
addAndMakeVisible (cancelButton = new TextButton ("Cancel Button"));
cancelButton.reset (new TextButton ("Cancel Button"));
addAndMakeVisible (cancelButton.get());
cancelButton->setButtonText (TRANS("Cancel"));
cancelButton->onClick = [this] { exitParentDialog (-1); };
addAndMakeVisible (changeLogLabel = new Label ("Change Log Label",
TRANS("Release Notes:")));
changeLogLabel.reset (new Label ("Change Log Label", TRANS("Release Notes:")));
addAndMakeVisible (changeLogLabel.get());
changeLogLabel->setFont (Font (15.00f, Font::plain));
changeLogLabel->setJustificationType (Justification::topLeft);
changeLogLabel->setEditable (false, false, false);
addAndMakeVisible (changeLog = new TextEditor ("Change Log"));
changeLog.reset (new TextEditor ("Change Log"));
addAndMakeVisible (changeLog.get());
changeLog->setMultiLine (true);
changeLog->setReturnKeyStartsNewLine (true);
changeLog->setReadOnly (true);
@@ -283,24 +289,27 @@ public:
if (hasOverwriteButton)
{
addAndMakeVisible (overwriteLabel = new Label ("Overwrite Label",
TRANS("Updating will overwrite everything in the following folder:")));
overwriteLabel.reset (new Label ("Overwrite Label",
TRANS("Updating will overwrite everything in the following folder:")));
addAndMakeVisible (overwriteLabel.get());
overwriteLabel->setFont (Font (15.00f, Font::plain));
overwriteLabel->setJustificationType (Justification::topLeft);
overwriteLabel->setEditable (false, false, false);
addAndMakeVisible (overwritePath = new Label ("Overwrite Path", overwriteFolderPath));
overwritePath.reset (new Label ("Overwrite Path", overwriteFolderPath));
addAndMakeVisible (overwritePath.get());
overwritePath->setFont (Font (15.00f, Font::bold));
overwritePath->setJustificationType (Justification::topLeft);
overwritePath->setEditable (false, false, false);
addAndMakeVisible (overwriteButton = new TextButton ("Overwrite Button"));
overwriteButton.reset (new TextButton ("Overwrite Button"));
addAndMakeVisible (overwriteButton.get());
overwriteButton->setButtonText (TRANS("Overwrite"));
overwriteButton->onClick = [this] { exitParentDialog (1); };
}
juceIcon = Drawable::createFromImageData (BinaryData::juce_icon_png,
BinaryData::juce_icon_pngSize);
juceIcon.reset (Drawable::createFromImageData (BinaryData::juce_icon_png,
BinaryData::juce_icon_pngSize));
setSize (518, overwritePath != nullptr ? 345 : 269);
@@ -371,7 +380,7 @@ public:
releaseNotes, overwritePath), true);
DialogWindow::LaunchOptions lo;
lo.dialogTitle = TRANS ("Download \"123\" version 456?").replace ("456", version.toString())
lo.dialogTitle = TRANS("Download \"123\" version 456?").replace ("456", version.toString())
.replace ("123", productName);
lo.dialogBackgroundColour = userDialog->findColour (backgroundColourId);
lo.content = userDialog;
@@ -763,8 +772,8 @@ void LatestVersionChecker::askUserForLocationToDownload (URL& newVersionToDownlo
if (targetFolder.getChildFile (".git").isDirectory())
{
AlertWindow::showMessageBox (AlertWindow::WarningIcon,
TRANS ("Downloading new JUCE version"),
TRANS ("This folder is a GIT repository!\n\n"
TRANS("Downloading new JUCE version"),
TRANS("This folder is a GIT repository!\n\n"
"You should use a \"git pull\" to update it to the latest version. "
"Or to use the Projucer to get an update, you should select an empty "
"folder into which you'd like to download the new code."));


+ 2
- 2
extras/Projucer/Source/Application/jucer_MainWindow.cpp View File

@@ -142,7 +142,7 @@ void MainWindow::closeButtonPressed()
bool MainWindow::closeProject (Project* project, bool askUserToSave)
{
jassert (project == currentProject && project != nullptr);
jassert (project == currentProject.get() && project != nullptr);
if (project == nullptr)
return true;
@@ -177,7 +177,7 @@ void MainWindow::moveProject (File newProjectFileToOpen)
{
auto openInIDE = currentProject->shouldOpenInIDEAfterSaving();
closeProject (currentProject, false);
closeProject (currentProject.get(), false);
openFile (newProjectFileToOpen);
if (currentProject != nullptr)


+ 1
- 1
extras/Projucer/Source/CodeEditor/jucer_LiveBuildCodeEditor.h View File

@@ -362,7 +362,7 @@ private:
String text = getTextInRange (selection).toLowerCase();
if (isIntegerLiteral (text) || isFloatLiteral (text))
overlay = new LiteralHighlightOverlay (*this, selection, mightBeColourValue (text));
overlay.reset (new LiteralHighlightOverlay (*this, selection, mightBeColourValue (text)));
}
}


+ 2
- 2
extras/Projucer/Source/ComponentEditor/Components/jucer_TabbedComponentHandler.h View File

@@ -384,7 +384,7 @@ private:
jucerComp->setFilename (jucerComponentFile);
jucerComp->setToInitialSize();
addAndMakeVisible (jucerComp);
addAndMakeVisible (jucerComp.get());
}
}
else
@@ -698,7 +698,7 @@ private:
: ComponentUndoableAction<TabbedComponent> (comp, l),
indexToRemove (indexToRemove_)
{
previousState = getTabState (comp, indexToRemove);
previousState.reset (getTabState (comp, indexToRemove));
}
bool perform()


+ 2
- 1
extras/Projucer/Source/ComponentEditor/PaintElements/jucer_PaintElement.cpp View File

@@ -53,7 +53,8 @@ PaintElement::PaintElement (PaintRoutine* owner_,
setMinimumOnscreenAmounts (0, 0, 0, 0);
setSizeLimits (borderThickness * 2 + 1, borderThickness * 2 + 1, 8192, 8192);
addChildComponent (border = new ResizableBorderComponent (this, this));
border.reset (new ResizableBorderComponent (this, this));
addChildComponent (border.get());
border->setBorderThickness (BorderSize<int> (borderThickness));


+ 1
- 1
extras/Projucer/Source/ComponentEditor/PaintElements/jucer_PaintElementGroup.cpp View File

@@ -65,7 +65,7 @@ void PaintElementGroup::groupSelected (PaintRoutine* routine)
{
ScopedPointer<XmlElement> xml (routine->getElement(i)->createXml());
if (auto* newOne = ObjectTypes::createElementForXml (xml, routine))
if (auto* newOne = ObjectTypes::createElementForXml (xml.get(), routine))
newGroup->subElements.add (newOne);
if (i > frontIndex)


+ 1
- 1
extras/Projucer/Source/ComponentEditor/Properties/jucer_ColourPropertyComponent.h View File

@@ -36,7 +36,7 @@ public:
: PropertyComponent (name)
{
colourPropEditor.reset (new ColourPropEditorComponent (this, canReset));
addAndMakeVisible (colourPropEditor);
addAndMakeVisible (colourPropEditor.get());
}
virtual void setColour (Colour newColour) = 0;


+ 2
- 1
extras/Projucer/Source/ComponentEditor/Properties/jucer_PositionPropertyBase.h View File

@@ -68,7 +68,8 @@ public:
refresh(); // (to clear the text editor if it's got focus)
};
addAndMakeVisible (textEditor = new PositionPropLabel (*this));
textEditor.reset (new PositionPropLabel (*this));
addAndMakeVisible (textEditor.get());
}
String getText() const


+ 2
- 1
extras/Projucer/Source/ComponentEditor/UI/jucer_ComponentOverlayComponent.cpp View File

@@ -41,7 +41,8 @@ ComponentOverlayComponent::ComponentOverlayComponent (Component* const target_,
setMinimumOnscreenAmounts (0, 0, 0, 0);
setSizeLimits (borderThickness * 2 + 2, borderThickness * 2 + 2, 8192, 8192);
addChildComponent (border = new ResizableBorderComponent (this, this));
border.reset (new ResizableBorderComponent (this, this));
addChildComponent (border.get());
border->setBorderThickness (BorderSize<int> (borderThickness));


+ 6
- 3
extras/Projucer/Source/ComponentEditor/UI/jucer_JucerDocumentEditor.cpp View File

@@ -47,7 +47,8 @@ public:
: PropertyComponent ("extra callbacks", 250),
document (doc)
{
addAndMakeVisible (listBox = new ListBox (String(), this));
listBox.reset (new ListBox (String(), this));
addAndMakeVisible (listBox.get());
listBox->setRowHeight (22);
document.addChangeListener (this);
@@ -611,7 +612,7 @@ void JucerDocumentEditor::saveLastSelectedTab() const
ScopedPointer<XmlElement> root (projectProps.getXmlValue ("GUIComponentsLastTab"));
if (root == nullptr)
root = new XmlElement ("FILES");
root.reset (new XmlElement ("FILES"));
auto fileName = document->getCppFile().getFileName();
@@ -1155,7 +1156,9 @@ bool JucerDocumentEditor::perform (const InvocationInfo& info)
case StandardApplicationCommandIDs::paste:
{
if (ScopedPointer<XmlElement> doc = XmlDocument::parse (SystemClipboard::getTextFromClipboard()))
ScopedPointer<XmlElement> doc (XmlDocument::parse (SystemClipboard::getTextFromClipboard()));
if (doc != nullptr)
{
if (doc->hasTagName (ComponentLayout::clipboardXmlTag))
{


+ 2
- 1
extras/Projucer/Source/ComponentEditor/UI/jucer_ResourceEditorPanel.cpp View File

@@ -79,7 +79,8 @@ ResourceEditorPanel::ResourceEditorPanel (JucerDocument& doc)
delButton.setEnabled (false);
delButton.onClick = [this] { document.getResources().remove (listBox->getSelectedRow (0)); };
addAndMakeVisible (listBox = new TableListBox (String(), this));
listBox.reset (new TableListBox (String(), this));
addAndMakeVisible (listBox.get());
listBox->getHeader().addColumn ("name", 1, 150, 80, 400);
listBox->getHeader().addColumn ("original file", 2, 350, 80, 800);
listBox->getHeader().addColumn ("size", 3, 100, 40, 150);


+ 1
- 1
extras/Projucer/Source/ComponentEditor/UI/jucer_TestComponent.cpp View File

@@ -99,7 +99,7 @@ void TestComponent::setFilename (const String& newName)
filename = newName;
lastModificationTime = findFile().getLastModificationTime();
loadedDocument = JucerDocument::createForCppFile (nullptr, findFile());
loadedDocument.reset (JucerDocument::createForCppFile (nullptr, findFile()));
updateContents();
repaint();


+ 12
- 13
extras/Projucer/Source/ComponentEditor/jucer_ComponentLayout.cpp View File

@@ -129,7 +129,7 @@ public:
oldIndex (-1)
{
if (ComponentTypeHandler* const h = ComponentTypeHandler::getHandlerFor (*comp))
xml = h->createXmlFor (comp, &layout);
xml.reset (h->createXmlFor (comp, &layout));
else
jassertfalse;
@@ -415,18 +415,17 @@ Component* ComponentLayout::addNewComponent (ComponentTypeHandler* const type, i
{
c->setSize (type->getDefaultWidth(), type->getDefaultHeight());
c->setCentrePosition (x, y);
updateStoredComponentPosition (c, false);
updateStoredComponentPosition (c.get(), false);
c->getProperties().set ("id", nextCompUID++);
ScopedPointer<XmlElement> xml (type->createXmlFor (c, this));
c.reset();
c = addComponentFromXml (*xml, true);
ScopedPointer<XmlElement> xml (type->createXmlFor (c.get(), this));
c.reset (addComponentFromXml (*xml, true));
String memberName (CodeHelpers::makeValidIdentifier (type->getClassName (c), true, true, false));
setComponentMemberVariableName (c, memberName);
String memberName (CodeHelpers::makeValidIdentifier (type->getClassName (c.get()), true, true, false));
setComponentMemberVariableName (c.get(), memberName);
selected.selectOnly (c);
selected.selectOnly (c.get());
}
return c.release();
@@ -447,16 +446,16 @@ Component* ComponentLayout::addComponentFromXml (const XmlElement& xml, const bo
{
ScopedPointer<Component> newComp (type->createNewComponent (getDocument()));
if (type->restoreFromXml (xml, newComp, this))
if (type->restoreFromXml (xml, newComp.get(), this))
{
// ensure that the new comp's name is unique
setComponentMemberVariableName (newComp, getComponentMemberVariableName (newComp));
setComponentMemberVariableName (newComp.get(), getComponentMemberVariableName (newComp.get()));
// check for duped IDs..
while (findComponentWithId (ComponentTypeHandler::getComponentId (newComp)) != nullptr)
ComponentTypeHandler::setComponentId (newComp, Random::getSystemRandom().nextInt64());
while (findComponentWithId (ComponentTypeHandler::getComponentId (newComp.get())) != nullptr)
ComponentTypeHandler::setComponentId (newComp.get(), Random::getSystemRandom().nextInt64());
components.add (newComp);
components.add (newComp.get());
changed();
return newComp.release();
}


+ 16
- 8
extras/Projucer/Source/ComponentEditor/jucer_JucerDocument.cpp View File

@@ -76,7 +76,7 @@ struct UserDocChangeTimer : public Timer
void JucerDocument::userEditedCpp()
{
if (userDocChangeTimer == nullptr)
userDocChangeTimer = new UserDocChangeTimer (*this);
userDocChangeTimer.reset (new UserDocChangeTimer (*this));
userDocChangeTimer->startTimer (500);
}
@@ -577,10 +577,10 @@ bool JucerDocument::reloadFromDocument()
if (newXML == nullptr || ! newXML->hasTagName (jucerCompXmlTag))
return false;
if (currentXML != nullptr && currentXML->isEquivalentTo (newXML, true))
if (currentXML != nullptr && currentXML->isEquivalentTo (newXML.get(), true))
return true;
currentXML = newXML;
currentXML.reset (newXML.release());
stopTimer();
resources.loadFromCpp (getCppFile(), cppContent);
@@ -646,8 +646,12 @@ XmlElement* JucerDocument::pullMetaDataFromCppFile (const String& cpp)
bool JucerDocument::isValidJucerCppFile (const File& f)
{
if (f.hasFileExtension (".cpp"))
if (ScopedPointer<XmlElement> xml = pullMetaDataFromCppFile (f.loadFileAsString()))
{
ScopedPointer<XmlElement> xml (pullMetaDataFromCppFile (f.loadFileAsString()));
if (xml != nullptr)
return xml->hasTagName (jucerCompXmlTag);
}
return false;
}
@@ -666,10 +670,10 @@ static JucerDocument* createDocument (SourceCodeDocument* cpp)
ScopedPointer<JucerDocument> newDoc;
if (docType.equalsIgnoreCase ("Button"))
newDoc = new ButtonDocument (cpp);
newDoc.reset (new ButtonDocument (cpp));
if (docType.equalsIgnoreCase ("Component") || docType.isEmpty())
newDoc = new ComponentDocument (cpp);
newDoc.reset (new ComponentDocument (cpp));
if (newDoc != nullptr && newDoc->reloadFromDocument())
return newDoc.release();
@@ -720,7 +724,9 @@ public:
Component* createEditor() override
{
if (ScopedPointer<JucerDocument> jucerDoc = JucerDocument::createForCppFile (getProject(), getFile()))
ScopedPointer<JucerDocument> jucerDoc (JucerDocument::createForCppFile (getProject(), getFile()));
if (jucerDoc != nullptr)
return new JucerDocumentEditor (jucerDoc.release());
return SourceCodeDocument::createEditor();
@@ -766,7 +772,9 @@ struct NewGUIComponentWizard : public NewFileWizard::Type
{
if (auto* header = dynamic_cast<SourceCodeDocument*> (odm.openFile (nullptr, headerFile)))
{
if (ScopedPointer<JucerDocument> jucerDoc = new ComponentDocument (cpp))
ScopedPointer<JucerDocument> jucerDoc (new ComponentDocument (cpp));
if (jucerDoc != nullptr)
{
jucerDoc->setClassName (newFile.getFileNameWithoutExtension());


+ 7
- 7
extras/Projucer/Source/ComponentEditor/jucer_ObjectTypes.cpp View File

@@ -108,13 +108,13 @@ PaintElement* createElementForXml (const XmlElement* const e, PaintRoutine* cons
ScopedPointer<PaintElement> pe;
if (e->hasTagName (PaintElementRectangle::getTagName())) pe = new PaintElementRectangle (owner);
else if (e->hasTagName (PaintElementRoundedRectangle::getTagName())) pe = new PaintElementRoundedRectangle (owner);
else if (e->hasTagName (PaintElementEllipse::getTagName())) pe = new PaintElementEllipse (owner);
else if (e->hasTagName (PaintElementImage::getTagName())) pe = new PaintElementImage (owner);
else if (e->hasTagName (PaintElementPath::getTagName())) pe = new PaintElementPath (owner);
else if (e->hasTagName (PaintElementText::getTagName())) pe = new PaintElementText (owner);
else if (e->hasTagName (PaintElementGroup::getTagName())) pe = new PaintElementGroup (owner);
if (e->hasTagName (PaintElementRectangle::getTagName())) pe.reset (new PaintElementRectangle (owner));
else if (e->hasTagName (PaintElementRoundedRectangle::getTagName())) pe.reset (new PaintElementRoundedRectangle (owner));
else if (e->hasTagName (PaintElementEllipse::getTagName())) pe.reset (new PaintElementEllipse (owner));
else if (e->hasTagName (PaintElementImage::getTagName())) pe.reset (new PaintElementImage (owner));
else if (e->hasTagName (PaintElementPath::getTagName())) pe.reset (new PaintElementPath (owner));
else if (e->hasTagName (PaintElementText::getTagName())) pe.reset (new PaintElementText (owner));
else if (e->hasTagName (PaintElementGroup::getTagName())) pe.reset (new PaintElementGroup (owner));
if (pe != nullptr && pe->loadFromXml (*e))
return pe.release();


+ 1
- 1
extras/Projucer/Source/ComponentEditor/jucer_PaintRoutine.cpp View File

@@ -169,7 +169,7 @@ public:
: PaintElementUndoableAction <PaintElement> (element),
oldIndex (-1)
{
xml = element->createXml();
xml.reset (element->createXml());
oldIndex = routine.indexOfElement (element);
}


+ 5
- 5
extras/Projucer/Source/Licenses/jucer_LicenseController.cpp View File

@@ -147,7 +147,7 @@ void LicenseController::startWebviewIfNeeded()
#if ! JUCER_ENABLE_GPL_MODE
if (thread == nullptr)
thread = new LicenseThread (*this, false);
thread.reset (new LicenseThread (*this, false));
#endif
}
@@ -163,7 +163,7 @@ void LicenseController::logout()
WebBrowserComponent::clearCookies();
#endif
thread = new LicenseThread (*this, false);
thread.reset (new LicenseThread (*this, false));
#endif
}
@@ -173,7 +173,7 @@ void LicenseController::chooseNewLicense()
#if ! JUCER_ENABLE_GPL_MODE
thread.reset();
thread = new LicenseThread (*this, true);
thread.reset (new LicenseThread (*this, true));
#endif
}
@@ -293,14 +293,14 @@ LicenseState LicenseController::licenseStateFromOldSettings (XmlElement* license
LicenseState LicenseController::licenseStateFromSettings (PropertiesFile& props)
{
ScopedPointer<XmlElement> licenseXml = props.getXmlValue ("license");
ScopedPointer<XmlElement> licenseXml (props.getXmlValue ("license"));
if (licenseXml != nullptr)
{
// this is here for backwards compatibility with old-style settings files using XML text elements
if (licenseXml->getChildElementAllSubText ("type", {}) != String())
{
auto stateFromOldSettings = licenseStateFromOldSettings (licenseXml);
auto stateFromOldSettings = licenseStateFromOldSettings (licenseXml.get());
licenseStateToSettings (stateFromOldSettings, props);


+ 12
- 9
extras/Projucer/Source/Licenses/jucer_LicenseThread.h View File

@@ -165,9 +165,9 @@ struct LicenseThread : NetWorkerThread
jassert (stateToUpdate.authToken.isNotEmpty());
auto accessTokenHeader = "x-access-token: " + stateToUpdate.authToken;
ScopedPointer<WebInputStream> shared (getSharedWebInputStream (URL ("https://api.roli.com/api/v1/user"), false));
if (ScopedPointer<WebInputStream> shared
= getSharedWebInputStream (URL ("https://api.roli.com/api/v1/user"), false))
if (shared != nullptr)
{
const int statusCode = shared->withExtraHeaders (accessTokenHeader).getStatusCode();
@@ -215,8 +215,8 @@ struct LicenseThread : NetWorkerThread
if (! selectNewLicense)
{
ScopedPointer<WebInputStream> shared = getSharedWebInputStream (URL ("https://api.roli.com/api/v1/user/licences?search_internal_id=com.roli.projucer&version=5"),
false);
ScopedPointer<WebInputStream> shared (getSharedWebInputStream (URL ("https://api.roli.com/api/v1/user/licences?search_internal_id=com.roli.projucer&version=5"),
false));
if (shared == nullptr)
break;
@@ -274,8 +274,8 @@ struct LicenseThread : NetWorkerThread
String postData (JSON::toString (var (redeamObject.get())));
ScopedPointer<WebInputStream> shared = getSharedWebInputStream (URL ("https://api.roli.com/api/v1/user/products").withPOSTData (postData),
true);
ScopedPointer<WebInputStream> shared (getSharedWebInputStream (URL ("https://api.roli.com/api/v1/user/products").withPOSTData (postData),
true));
if (shared == nullptr)
break;
@@ -306,8 +306,9 @@ struct LicenseThread : NetWorkerThread
jsonLicenseRequest->setProperty (licenseTypeIdentifier, "software");
String postData (JSON::toString (var (jsonLicenseRequest.get())));
ScopedPointer<WebInputStream> shared
= getSharedWebInputStream (URL ("https://api.roli.com/api/v1/user/products/redeem").withPOSTData (postData), true);
ScopedPointer<WebInputStream> shared (getSharedWebInputStream (URL ("https://api.roli.com/api/v1/user/products/redeem")
.withPOSTData (postData),
true));
if (shared != nullptr)
{
@@ -390,7 +391,9 @@ struct LicenseThread : NetWorkerThread
if (avatarURL.isNotEmpty())
{
if (ScopedPointer<WebInputStream> shared = getSharedWebInputStream (URL (avatarURL), false))
ScopedPointer<WebInputStream> shared (getSharedWebInputStream (URL (avatarURL), false));
if (shared != nullptr)
{
MemoryBlock mb;
shared->readIntoMemoryBlock (mb);


+ 2
- 3
extras/Projucer/Source/Licenses/jucer_LicenseWebview.h View File

@@ -137,9 +137,8 @@ private:
}
const uint32 backgroundColour = 0xff414141;
ScopedPointer<Drawable> juceLogo
= Drawable::createFromImageData (BinaryData::jucelogowithtext_svg,
BinaryData::jucelogowithtext_svgSize);
ScopedPointer<Drawable> juceLogo { Drawable::createFromImageData (BinaryData::jucelogowithtext_svg,
BinaryData::jucelogowithtext_svgSize) };
IconButton avatarButton;
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (Header)


+ 3
- 4
extras/Projucer/Source/LiveBuildEngine/jucer_CompileEngineClient.cpp View File

@@ -213,8 +213,7 @@ public:
void restartServer()
{
server.reset();
server = new ClientIPC (owner);
server.reset (new ClientIPC (owner));
sendRebuild();
}
@@ -516,7 +515,7 @@ CompileEngineChildProcess::~CompileEngineChildProcess()
void CompileEngineChildProcess::createProcess()
{
jassert (process == nullptr);
process = new ChildProcess (*this, project);
process.reset (new ChildProcess (*this, project));
if (! process->openedOk)
process.reset();
@@ -598,7 +597,7 @@ void CompileEngineChildProcess::killApp()
void CompileEngineChildProcess::handleAppLaunched()
{
runningAppProcess = process;
runningAppProcess.reset (process.release());
runningAppProcess->isRunningApp = true;
createProcess();
}


+ 2
- 2
extras/Projucer/Source/LiveBuildEngine/jucer_CompileEngineServer.cpp View File

@@ -158,7 +158,7 @@ public:
setParentProcessID (info[3].getHexValue32());
#endif
zombieKiller = new ZombiePatrol (*this);
zombieKiller.reset (new ZombiePatrol (*this));
}
~ServerIPC()
@@ -259,7 +259,7 @@ void* createClangServer (const String& commandLine)
StringArray info;
info.addTokens (commandLine.fromFirstOccurrenceOf (commandPrefix, false, false), commandTokenSeparator, "");
ScopedPointer<ServerIPC> ipc = new ServerIPC (info);
ScopedPointer<ServerIPC> ipc (new ServerIPC (info));
if (ipc->dll.isLoaded())
{


+ 2
- 3
extras/Projucer/Source/LiveBuildEngine/jucer_CompileEngineSettings.h View File

@@ -98,12 +98,11 @@ private:
return "WINDOWS";
#elif JUCE_LINUX
return "LINUX";
#endif
#else
// unknown platform?!
jassertfalse;
return {};
#endif
}
//==============================================================================


+ 3
- 3
extras/Projucer/Source/LiveBuildEngine/jucer_DownloadCompileEngineThread.cpp View File

@@ -88,9 +88,9 @@ Result DownloadCompileEngineThread::download (MemoryBlock& dest)
StringPairArray responseHeaders;
URL url = getDownloadUrl();
ScopedPointer<InputStream> in = url.createInputStream (false, nullptr, nullptr,
String(), timeoutMs, &responseHeaders,
&statusCode, 0);
ScopedPointer<InputStream> in (url.createInputStream (false, nullptr, nullptr,
String(), timeoutMs, &responseHeaders,
&statusCode, 0));
if (in == nullptr || statusCode != 200)
return Result::fail ("Download error: cannot establish connection");


+ 8
- 5
extras/Projucer/Source/Project/UI/Sidebar/jucer_LiveBuildTab.h View File

@@ -69,7 +69,8 @@ class LiveBuildTab : public Component,
public:
LiveBuildTab (CompileEngineChildProcess* child, String lastErrorMessage)
{
addAndMakeVisible (settingsButton = new IconButton ("Settings", &getIcons().settings));
settingsButton.reset (new IconButton ("Settings", &getIcons().settings));
addAndMakeVisible (settingsButton.get());
settingsButton->onClick = [this]
{
if (auto* pcc = findParentComponentOfClass<ProjectContentComponent>())
@@ -87,16 +88,17 @@ public:
isEnabled = false;
errorMessage = getErrorMessage();
errorMessageLabel = new Label ("Error", errorMessage);
errorMessageLabel.reset (new Label ("Error", errorMessage));
errorMessageLabel->setJustificationType (Justification::centred);
errorMessageLabel->setFont (Font (12.0f));
errorMessageLabel->setMinimumHorizontalScale (1.0f);
addAndMakeVisible (errorMessageLabel);
addAndMakeVisible (errorMessageLabel.get());
if (showDownloadButton)
{
addAndMakeVisible (downloadButton = new TextButton ("Download"));
downloadButton.reset (new TextButton ("Download"));
addAndMakeVisible (downloadButton.get());
downloadButton->onClick = [this] { downloadDLL(); };
}
@@ -110,7 +112,8 @@ public:
buttonText = "Re-enable";
}
addAndMakeVisible (enableButton = new TextButton (buttonText));
enableButton.reset (new TextButton (buttonText));
addAndMakeVisible (enableButton.get());
enableButton->onClick = [this]
{
if (auto* pcc = findParentComponentOfClass<ProjectContentComponent>())


+ 7
- 4
extras/Projucer/Source/Project/UI/Sidebar/jucer_TabComponents.h View File

@@ -173,22 +173,25 @@ public:
{
if (hasAddButton)
{
addAndMakeVisible (addButton = new IconButton ("Add", &getIcons().plus));
addButton.reset (new IconButton ("Add", &getIcons().plus));
addAndMakeVisible (addButton.get());
addButton->onClick = [this] { showAddMenu(); };
}
if (hasSettingsButton)
{
addAndMakeVisible (settingsButton = new IconButton ("Settings", &getIcons().settings));
settingsButton.reset (new IconButton ("Settings", &getIcons().settings));
addAndMakeVisible (settingsButton.get());
settingsButton->onClick = [this] { showSettings(); };
}
if (hasFindPanel)
{
addAndMakeVisible (findPanel = new FindPanel ([this] (const String& filter) { treeToDisplay->rootItem->setSearchFilter (filter); }));
findPanel.reset (new FindPanel ([this] (const String& filter) { treeToDisplay->rootItem->setSearchFilter (filter); }));
addAndMakeVisible (findPanel.get());
}
addAndMakeVisible (treeToDisplay);
addAndMakeVisible (treeToDisplay.get());
}
~ConcertinaTreeComponent()


+ 10
- 5
extras/Projucer/Source/Project/UI/jucer_HeaderComponent.cpp View File

@@ -43,7 +43,8 @@ HeaderComponent::HeaderComponent()
exporterBox.onChange = [this] { updateExporterButton(); };
addAndMakeVisible (juceIcon = new ImageComponent ("icon"));
juceIcon.reset (new ImageComponent ("icon"));
addAndMakeVisible (juceIcon.get());
juceIcon->setImage (ImageCache::getFromMemory (BinaryData::juce_icon_png, BinaryData::juce_icon_pngSize),
RectanglePlacement::centred);
@@ -260,7 +261,8 @@ void HeaderComponent::initialiseButtons() noexcept
{
auto& icons = getIcons();
addAndMakeVisible (projectSettingsButton = new IconButton ("Project Settings", &icons.settings));
projectSettingsButton.reset (new IconButton ("Project Settings", &icons.settings));
addAndMakeVisible (projectSettingsButton.get());
projectSettingsButton->onClick = [this]
{
sendProjectButtonAnalyticsEvent ("Project Settings");
@@ -269,7 +271,8 @@ void HeaderComponent::initialiseButtons() noexcept
pcc->showProjectSettings();
};
addAndMakeVisible (saveAndOpenInIDEButton = new IconButton ("Save and Open in IDE", nullptr));
saveAndOpenInIDEButton.reset (new IconButton ("Save and Open in IDE", nullptr));
addAndMakeVisible (saveAndOpenInIDEButton.get());
saveAndOpenInIDEButton->isIDEButton = true;
saveAndOpenInIDEButton->onClick = [this]
{
@@ -279,7 +282,8 @@ void HeaderComponent::initialiseButtons() noexcept
pcc->openInSelectedIDE (true);
};
addAndMakeVisible (userSettingsButton = new IconButton ("User Settings", &icons.user));
userSettingsButton.reset (new IconButton ("User Settings", &icons.user));
addAndMakeVisible (userSettingsButton.get());
userSettingsButton->isUserButton = true;
userSettingsButton->onClick = [this]
{
@@ -289,7 +293,8 @@ void HeaderComponent::initialiseButtons() noexcept
showUserSettings();
};
addAndMakeVisible (runAppButton = new IconButton ("Run Application", &icons.play));
runAppButton.reset (new IconButton ("Run Application", &icons.play));
addAndMakeVisible (runAppButton.get());
runAppButton->onClick = [this]
{
sendProjectButtonAnalyticsEvent ("Run Application");


+ 14
- 9
extras/Projucer/Source/Project/UI/jucer_ProjectContentComponent.cpp View File

@@ -39,7 +39,7 @@ struct LogoComponent : public Component
LogoComponent()
{
ScopedPointer<XmlElement> svg (XmlDocument::parse (BinaryData::background_logo_svg));
logo = Drawable::createFromSVG (*svg);
logo.reset (Drawable::createFromSVG (*svg));
}
void paint (Graphics& g) override
@@ -71,10 +71,14 @@ ProjectContentComponent::ProjectContentComponent()
setOpaque (true);
setWantsKeyboardFocus (true);
addAndMakeVisible (logo = new LogoComponent());
addAndMakeVisible (header = new HeaderComponent());
logo.reset (new LogoComponent());
addAndMakeVisible (logo.get());
addAndMakeVisible (fileNameLabel = new Label());
header.reset (new HeaderComponent());
addAndMakeVisible (header.get());
fileNameLabel.reset (new Label());
addAndMakeVisible (fileNameLabel.get());
fileNameLabel->setJustificationType (Justification::centred);
sidebarSizeConstrainer.setMinimumWidth (200);
@@ -265,8 +269,9 @@ void ProjectContentComponent::rebuildProjectTabs()
.getFloatValue());
//======================================================================
addAndMakeVisible (resizerBar = new ResizableEdgeComponent (&sidebarTabs, &sidebarSizeConstrainer,
ResizableEdgeComponent::rightEdge));
resizerBar.reset (new ResizableEdgeComponent (&sidebarTabs, &sidebarSizeConstrainer,
ResizableEdgeComponent::rightEdge));
addAndMakeVisible (resizerBar.get());
resizerBar->setAlwaysOnTop (true);
project->addChangeListener (this);
@@ -299,7 +304,7 @@ void ProjectContentComponent::saveOpenDocumentList()
ScopedPointer<XmlElement> xml (recentDocumentList.createXML());
if (xml != nullptr)
project->getStoredProperties().setValue ("lastDocs", xml);
project->getStoredProperties().setValue ("lastDocs", xml.get());
}
}
@@ -419,7 +424,7 @@ bool ProjectContentComponent::setEditorComponent (Component* editor,
{
auto* viewport = new ContentViewport (editor);
contentView = viewport;
contentView.reset (viewport);
currentDocument = nullptr;
fileNameLabel->setVisible (false);
@@ -427,7 +432,7 @@ bool ProjectContentComponent::setEditorComponent (Component* editor,
}
else
{
contentView = editor;
contentView.reset (editor);
currentDocument = doc;
fileNameLabel->setText (doc->getFile().getFileName(), dontSendNotification);
fileNameLabel->setVisible (true);


+ 2
- 2
extras/Projucer/Source/Project/jucer_Project.cpp View File

@@ -1819,7 +1819,7 @@ Array<var> Project::getDefaultRTASCategories() const noexcept
EnabledModuleList& Project::getModules()
{
if (enabledModulesList == nullptr)
enabledModulesList = new EnabledModuleList (*this, projectRoot.getOrCreateChildWithName (Ids::MODULES, nullptr));
enabledModulesList.reset (new EnabledModuleList (*this, projectRoot.getOrCreateChildWithName (Ids::MODULES, nullptr)));
return *enabledModulesList;
}
@@ -1923,7 +1923,7 @@ bool Project::ExporterIterator::next()
if (++index >= project.getNumExporters())
return false;
exporter = project.createExporter (index);
exporter.reset (project.createExporter (index));
if (exporter == nullptr)
{


+ 1
- 1
extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Android.h View File

@@ -1332,7 +1332,7 @@ private:
customStringsXmlContent << cfg.getCustomStringsXml();
customStringsXmlContent << "\n</resources>";
ScopedPointer<XmlElement> strings = XmlDocument::parse (customStringsXmlContent);
ScopedPointer<XmlElement> strings (XmlDocument::parse (customStringsXmlContent));
String dir = cfg.isDebug() ? "debug" : "release";
String subPath = "app/src/" + dir + "/res/values/string.xml";


+ 2
- 2
extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_CLion.h View File

@@ -137,7 +137,7 @@ public:
for (auto& exporterName : getExporterNames())
{
ScopedPointer<ProjectExporter> exporter = createNewExporter (getProject(), exporterName);
ScopedPointer<ProjectExporter> exporter (createNewExporter (getProject(), exporterName));
if (isExporterSupported (*exporter))
description << exporter->getName() << newLine;
@@ -938,7 +938,7 @@ private:
{
auto plistFile = exporter.getTargetFolder().getChildFile (targetAttributes["INFOPLIST_FILE"]);
XmlDocument infoPlistData (plistFile);
ScopedPointer<XmlElement> plist = infoPlistData.getDocumentElement();
ScopedPointer<XmlElement> plist (infoPlistData.getDocumentElement());
if (plist != nullptr)
{


+ 2
- 2
extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Xcode.h View File

@@ -1280,7 +1280,7 @@ public:
ScopedPointer<XmlElement> plist (XmlDocument::parse (owner.getPListToMergeString()));
if (plist == nullptr || ! plist->hasTagName ("plist"))
plist = new XmlElement ("plist");
plist.reset (new XmlElement ("plist"));
auto* dict = plist->getChildByName ("dict");
@@ -2493,7 +2493,7 @@ private:
v->setProperty ("path", pathString, nullptr);
v->setProperty ("sourceTree", sourceTree, nullptr);
auto existing = pbxFileReferences.indexOfSorted (*this, v);
auto existing = pbxFileReferences.indexOfSorted (*this, v.get());
if (existing >= 0)
{


+ 4
- 4
extras/Projucer/Source/ProjectSaving/jucer_ProjectExporter.cpp View File

@@ -792,15 +792,15 @@ Image ProjectExporter::getBestIconForSize (int size, bool returnNullIfNothingBig
if (im1 != nullptr && im2 != nullptr)
{
if (im1->getWidth() >= size && im2->getWidth() >= size)
im = im1->getWidth() < im2->getWidth() ? im1 : im2;
im = im1->getWidth() < im2->getWidth() ? im1.get() : im2.get();
else if (im1->getWidth() >= size)
im = im1;
im = im1.get();
else if (im2->getWidth() >= size)
im = im2;
im = im2.get();
}
else
{
im = im1 != nullptr ? im1 : im2;
im = im1 != nullptr ? im1.get() : im2.get();
}
if (im == nullptr)


+ 1
- 1
extras/Projucer/Source/ProjectSaving/jucer_ProjectSaver.h View File

@@ -699,7 +699,7 @@ private:
JobStatus runJob() override
{
owner.saveExporter (exporter, modules);
owner.saveExporter (exporter.get(), modules);
return jobHasFinished;
}


+ 1
- 1
extras/Projucer/Source/Settings/jucer_StoredSettings.cpp View File

@@ -114,7 +114,7 @@ void StoredSettings::updateKeyMappings()
const ScopedPointer<XmlElement> keys (commandManager->getKeyMappings()->createXml (true));
if (keys != nullptr)
getGlobalProperties().setValue ("keyMappings", keys);
getGlobalProperties().setValue ("keyMappings", keys.get());
}
}


+ 1
- 1
extras/Projucer/Source/Utility/PIPs/jucer_PIPGenerator.cpp View File

@@ -135,7 +135,7 @@ Result PIPGenerator::createJucerFile()
auto outputFile = outputDirectory.getChildFile (metadata[Ids::name].toString() + ".jucer");
ScopedPointer<XmlElement> xml = root.createXml();
ScopedPointer<XmlElement> xml (root.createXml());
if (xml->writeToFile (outputFile, {}))
return Result::ok();


+ 2
- 2
extras/Projucer/Source/Utility/UI/jucer_JucerTreeViewBase.cpp View File

@@ -31,7 +31,7 @@
//==============================================================================
void TreePanelBase::setRoot (JucerTreeViewBase* root)
{
rootItem = root;
rootItem.reset (root);
tree.setRootItem (root);
tree.getRootItem()->setOpen (true);
@@ -243,7 +243,7 @@ void JucerTreeViewBase::itemSelectionChanged (bool isNowSelected)
{
if (isNowSelected)
{
delayedSelectionTimer = new ItemSelectionTimer (*this);
delayedSelectionTimer.reset (new ItemSelectionTimer (*this));
delayedSelectionTimer->startTimer (getMillisecsAllowedForDragGesture());
}
else


+ 2
- 1
extras/Projucer/Source/Utility/UI/jucer_SlidingPanelComponent.cpp View File

@@ -78,7 +78,8 @@ void SlidingPanelComponent::addTab (const String& tabName,
PageInfo* page = new PageInfo();
pages.insert (insertIndex, page);
page->content = contentComponent;
addAndMakeVisible (page->dotButton = new DotButton (*this, pages.indexOf (page)));
page->dotButton.reset (new DotButton (*this, pages.indexOf (page)));
addAndMakeVisible (page->dotButton.get());
page->name = tabName;
page->shouldDelete = deleteComponentWhenNotNeeded;


+ 8
- 4
extras/Projucer/Source/Utility/UI/jucer_UserSettingsPopup.h View File

@@ -47,7 +47,8 @@ public:
auto standardFont = Font (16.0f);
addAndMakeVisible (loggedInUsernameLabel = new Label ("Username Label"));
loggedInUsernameLabel.reset (new Label ("Username Label"));
addAndMakeVisible (loggedInUsernameLabel.get());
loggedInUsernameLabel->setFont (standardFont);
loggedInUsernameLabel->setJustificationType (Justification::centred);
@@ -57,13 +58,15 @@ public:
loggedInUsernameLabel->setText ("GPL Mode: Re-compile with JUCER_ENABLE_GPL_MODE=0 to enable login!",
NotificationType::dontSendNotification);
#else
addAndMakeVisible (licenseTypeLabel = new Label ("License Type Label"));
licenseTypeLabel.reset (new Label ("License Type Label"));
addAndMakeVisible (licenseTypeLabel.get());
licenseTypeLabel->setFont (standardFont);
licenseTypeLabel->setJustificationType (Justification::centred);
licenseTypeLabel->setMinimumHorizontalScale (1.0f);
addAndMakeVisible (logoutButton = new TextButton (isInsideWebview ? "Select different account..." : "Logout"));
logoutButton.reset (new TextButton (isInsideWebview ? "Select different account..." : "Logout"));
addAndMakeVisible (logoutButton.get());
logoutButton->setColour (TextButton::buttonColourId, findColour (secondaryButtonBackgroundColourId));
logoutButton->onClick = [this]
@@ -74,7 +77,8 @@ public:
if (! isInsideWebview)
{
addAndMakeVisible (switchLicenseButton = new TextButton ("Switch License"));
switchLicenseButton.reset (new TextButton ("Switch License"));
addAndMakeVisible (switchLicenseButton.get());
switchLicenseButton->onClick = [this]
{
dismissCalloutBox();


+ 4
- 3
extras/Projucer/Source/Wizards/jucer_NewProjectWizardComponent.h View File

@@ -421,10 +421,11 @@ public:
}
auto projectDir = fileBrowser.getSelectedFile (0);
ScopedPointer<Project> project (wizard->runWizard (*this, projectName.getText(),
projectDir,
modulesPathBox.isUsingGlobalPaths));
if (ScopedPointer<Project> project = wizard->runWizard (*this, projectName.getText(),
projectDir,
modulesPathBox.isUsingGlobalPaths))
if (project != nullptr)
{
mw->setProject (project.release());
getAppSettings().lastWizardFolder = projectDir.getParentDirectory();


+ 2
- 2
extras/Projucer/Source/Wizards/jucer_TemplateThumbnailsComponent.h View File

@@ -42,13 +42,13 @@ public:
ScopedPointer<XmlElement> svg (XmlDocument::parse (thumbSvg));
jassert (svg != nullptr);
thumb = Drawable::createFromSVG (*svg);
thumb.reset (Drawable::createFromSVG (*svg));
// svg for thumbnail background highlight
ScopedPointer<XmlElement> backSvg (XmlDocument::parse (BinaryData::wizard_Highlight_svg));
jassert (backSvg != nullptr);
hoverBackground = Drawable::createFromSVG (*backSvg);
hoverBackground.reset (Drawable::createFromSVG (*backSvg));
name = buttonName;


+ 8
- 8
modules/juce_audio_devices/native/juce_linux_ALSA.cpp View File

@@ -240,12 +240,12 @@ public:
const int type = formatsToTry [i + 1];
bitDepth = type & 255;
converter = createConverter (isInput, bitDepth,
(type & isFloatBit) != 0,
(type & isLittleEndianBit) != 0,
(type & onlyUseLower24Bits) != 0,
numChannels,
isInterleaved);
converter.reset (createConverter (isInput, bitDepth,
(type & isFloatBit) != 0,
(type & isLittleEndianBit) != 0,
(type & onlyUseLower24Bits) != 0,
numChannels,
isInterleaved));
break;
}
}
@@ -563,7 +563,7 @@ public:
if (outputChannelDataForCallback.size() > 0 && outputId.isNotEmpty())
{
outputDevice = new ALSADevice (outputId, false);
outputDevice.reset (new ALSADevice (outputId, false));
if (outputDevice->error.isNotEmpty())
{
@@ -587,7 +587,7 @@ public:
if (inputChannelDataForCallback.size() > 0 && inputId.isNotEmpty())
{
inputDevice = new ALSADevice (inputId, true);
inputDevice.reset (new ALSADevice (inputId, true));
if (inputDevice->error.isNotEmpty())
{


+ 1
- 1
modules/juce_audio_devices/native/juce_linux_Midi.cpp View File

@@ -210,7 +210,7 @@ public:
void registerCallback()
{
if (inputThread == nullptr)
inputThread = new MidiInputThread (*this);
inputThread.reset (new MidiInputThread (*this));
if (++activeCallbacks - 1 == 0)
inputThread->startThread();


+ 5
- 5
modules/juce_audio_devices/native/juce_win32_Midi.cpp View File

@@ -266,7 +266,7 @@ private:
deviceId = index;
}
collector = new MidiInCollector (parentService, input, *callback);
collector.reset (new MidiInCollector (parentService, input, *callback));
HMIDIIN h;
MMRESULT err = midiInOpen (&h, deviceId,
@@ -1134,7 +1134,7 @@ MidiService::MidiService()
#if JUCE_USE_WINRT_MIDI
try
{
internal = new WinRTMidiService();
internal.reset (new WinRTMidiService());
return;
}
catch (std::runtime_error&)
@@ -1142,7 +1142,7 @@ MidiService::MidiService()
}
#endif
internal = new WindowsMidiService();
internal.reset (new WindowsMidiService());
}
//==============================================================================
@@ -1171,7 +1171,7 @@ MidiInput* MidiInput::openDevice (const int index, MidiInputCallback* const call
try
{
wrapper = MidiService::getInstance()->getService()->createInputWrapper (in, index, callback);
wrapper.reset (MidiService::getInstance()->getService()->createInputWrapper (in.get(), index, callback));
}
catch (std::runtime_error&)
{
@@ -1208,7 +1208,7 @@ MidiOutput* MidiOutput::openDevice (const int index)
try
{
wrapper = MidiService::getInstance()->getService()->createOutputWrapper (index);
wrapper.reset (MidiService::getInstance()->getService()->createOutputWrapper (index));
}
catch (std::runtime_error&)
{


+ 13
- 13
modules/juce_audio_devices/native/juce_win32_WASAPI.cpp View File

@@ -731,7 +731,7 @@ public:
void updateFormatWithType (SourceType*) noexcept
{
typedef AudioData::Pointer<AudioData::Float32, AudioData::NativeEndian, AudioData::NonInterleaved, AudioData::NonConst> NativeType;
converter = new AudioData::ConverterInstance<AudioData::Pointer<SourceType, AudioData::LittleEndian, AudioData::Interleaved, AudioData::Const>, NativeType> (actualNumChannels, 1);
converter.reset (new AudioData::ConverterInstance<AudioData::Pointer<SourceType, AudioData::LittleEndian, AudioData::Interleaved, AudioData::Const>, NativeType> (actualNumChannels, 1));
}
void updateFormat (bool isFloat) override
@@ -888,7 +888,7 @@ public:
void updateFormatWithType (DestType*)
{
typedef AudioData::Pointer<AudioData::Float32, AudioData::NativeEndian, AudioData::NonInterleaved, AudioData::Const> NativeType;
converter = new AudioData::ConverterInstance<NativeType, AudioData::Pointer<DestType, AudioData::LittleEndian, AudioData::Interleaved, AudioData::NonConst>> (1, actualNumChannels);
converter.reset (new AudioData::ConverterInstance<NativeType, AudioData::Pointer<DestType, AudioData::LittleEndian, AudioData::Interleaved, AudioData::NonConst>> (1, actualNumChannels));
}
void updateFormat (bool isFloat) override
@@ -1024,8 +1024,8 @@ public:
}
else
{
WASAPIDeviceBase* d = inputDevice != nullptr ? static_cast<WASAPIDeviceBase*> (inputDevice)
: static_cast<WASAPIDeviceBase*> (outputDevice);
WASAPIDeviceBase* d = inputDevice != nullptr ? static_cast<WASAPIDeviceBase*> (inputDevice.get())
: static_cast<WASAPIDeviceBase*> (outputDevice.get());
defaultSampleRate = d->defaultSampleRate;
minBufferSize = d->minBufferSize;
defaultBufferSize = d->defaultBufferSize;
@@ -1303,7 +1303,7 @@ public:
{
// Note that this function is handed the input device so it can check for the event and make sure
// the input reservoir is filled up correctly even when bufferSize > device actualBufferSize
outputDevice->copyBuffers (const_cast<const float**> (outputBuffers), numOutputBuffers, bufferSize, inputDevice, *this);
outputDevice->copyBuffers (const_cast<const float**> (outputBuffers), numOutputBuffers, bufferSize, inputDevice.get(), *this);
if (outputDevice->sampleRateHasChanged)
{
@@ -1375,9 +1375,9 @@ private:
const EDataFlow flow = getDataFlow (device);
if (deviceId == inputDeviceId && flow == eCapture)
inputDevice = new WASAPIInputDevice (device, useExclusiveMode);
inputDevice.reset (new WASAPIInputDevice (device, useExclusiveMode));
else if (deviceId == outputDeviceId && flow == eRender)
outputDevice = new WASAPIOutputDevice (device, useExclusiveMode);
outputDevice.reset (new WASAPIOutputDevice (device, useExclusiveMode));
}
return (outputDeviceId.isEmpty() || (outputDevice != nullptr && outputDevice->isOk()))
@@ -1492,12 +1492,12 @@ public:
if (outputIndex >= 0 || inputIndex >= 0)
{
device = new WASAPIAudioIODevice (outputDeviceName.isNotEmpty() ? outputDeviceName
: inputDeviceName,
getTypeName(),
outputDeviceIds [outputIndex],
inputDeviceIds [inputIndex],
exclusiveMode);
device.reset (new WASAPIAudioIODevice (outputDeviceName.isNotEmpty() ? outputDeviceName
: inputDeviceName,
getTypeName(),
outputDeviceIds [outputIndex],
inputDeviceIds [inputIndex],
exclusiveMode));
if (! device->initialise())
device = nullptr;


+ 9
- 9
modules/juce_audio_plugin_client/AAX/juce_AAX_Wrapper.cpp View File

@@ -533,7 +533,8 @@ namespace AAXClasses
setOpaque (true);
setBroughtToFrontOnMouseClick (true);
addAndMakeVisible (pluginEditor = plugin.createEditorIfNeeded());
pluginEditor.reset (plugin.createEditorIfNeeded());
addAndMakeVisible (pluginEditor.get());
if (pluginEditor != nullptr)
{
@@ -551,7 +552,7 @@ namespace AAXClasses
{
PopupMenu::dismissAllActiveMenus();
pluginEditor->removeMouseListener (this);
pluginEditor->processor.editorBeingDeleted (pluginEditor);
pluginEditor->processor.editorBeingDeleted (pluginEditor.get());
}
}
@@ -1425,9 +1426,8 @@ namespace AAXClasses
{
aaxWrapperProvidedBypassParam = true;
ownedBypassParameter = new AudioParameterBool (cDefaultMasterBypassID, "Master Bypass", false, {}, {}, {});
bypassParameter = ownedBypassParameter;
ownedBypassParameter.reset (new AudioParameterBool (cDefaultMasterBypassID, "Master Bypass", false, {}, {}, {}));
bypassParameter = ownedBypassParameter.get();
}
if (! bypassPartOfRegularParams)
@@ -1808,7 +1808,7 @@ namespace AAXClasses
if (component == nullptr)
{
if (auto* params = dynamic_cast<JuceAAX_Processor*> (GetEffectParameters()))
component = new ContentWrapperComponent (*this, params->getPluginInstance());
component.reset (new ContentWrapperComponent (*this, params->getPluginInstance()));
else
jassertfalse;
}
@@ -2051,7 +2051,7 @@ namespace AAXClasses
static void getPlugInDescription (AAX_IEffectDescriptor& descriptor, const AAX_IFeatureInfo* featureInfo)
{
PluginHostType::jucePlugInClientCurrentWrapperType = AudioProcessor::wrapperType_AAX;
ScopedPointer<AudioProcessor> plugin = createPluginFilterOfType (AudioProcessor::wrapperType_AAX);
ScopedPointer<AudioProcessor> plugin (createPluginFilterOfType (AudioProcessor::wrapperType_AAX));
auto numInputBuses = plugin->getBusCount (true);
auto numOutputBuses = plugin->getBusCount (false);
@@ -2141,11 +2141,11 @@ AAX_Result JUCE_CDECL GetEffectDescriptions (AAX_ICollection* collection)
ScopedPointer<const AAX_IFeatureInfo> stemFormatFeatureInfo;
if (const auto* hostDescription = collection->DescriptionHost())
stemFormatFeatureInfo = hostDescription->AcquireFeatureProperties (AAXATTR_ClientFeature_StemFormat);
stemFormatFeatureInfo.reset (hostDescription->AcquireFeatureProperties (AAXATTR_ClientFeature_StemFormat));
if (auto* descriptor = collection->NewDescriptor())
{
AAXClasses::getPlugInDescription (*descriptor, stemFormatFeatureInfo);
AAXClasses::getPlugInDescription (*descriptor, stemFormatFeatureInfo.get());
collection->AddEffect (JUCE_STRINGIFY (JucePlugin_AAXIdentifier), descriptor);
collection->SetManufacturerName (JucePlugin_Manufacturer);


+ 19
- 19
modules/juce_audio_plugin_client/AU/juce_AU_Wrapper.mm View File

@@ -107,7 +107,7 @@ struct AudioProcessorHolder
initialiseJuce_GUI();
}
juceFilter = createPluginFilterOfType (AudioProcessor::wrapperType_AudioUnit);
juceFilter.reset (createPluginFilterOfType (AudioProcessor::wrapperType_AudioUnit));
// audio units do not have a notion of enabled or un-enabled buses
juceFilter->enableAllBuses();
@@ -128,8 +128,8 @@ public:
JuceAU (AudioUnit component)
: AudioProcessorHolder(activePlugins.size() + activeUIs.size() == 0),
MusicDeviceBase (component,
(UInt32) AudioUnitHelpers::getBusCount (juceFilter, true),
(UInt32) AudioUnitHelpers::getBusCount (juceFilter, false)),
(UInt32) AudioUnitHelpers::getBusCount (juceFilter.get(), true),
(UInt32) AudioUnitHelpers::getBusCount (juceFilter.get(), false)),
isBypassed (false),
mapper (*juceFilter)
{
@@ -208,7 +208,7 @@ public:
return err;
mapper.alloc();
pulledSucceeded.calloc (static_cast<size_t> (AudioUnitHelpers::getBusCount (juceFilter, true)));
pulledSucceeded.calloc (static_cast<size_t> (AudioUnitHelpers::getBusCount (juceFilter.get(), true)));
prepareToPlay();
@@ -298,7 +298,7 @@ public:
if (isInput) return false;
#endif
const int busCount = AudioUnitHelpers::getBusCount (juceFilter, isInput);
const int busCount = AudioUnitHelpers::getBusCount (juceFilter.get(), isInput);
return (juceFilter->canAddBus (isInput) || (busCount > 0 && juceFilter->canRemoveBus (isInput)));
#endif
}
@@ -311,12 +311,12 @@ public:
if ((err = scopeToDirection (scope, isInput)) != noErr)
return err;
if (count != (UInt32) AudioUnitHelpers::getBusCount (juceFilter, isInput))
if (count != (UInt32) AudioUnitHelpers::getBusCount (juceFilter.get(), isInput))
{
#ifdef JucePlugin_PreferredChannelConfigurations
return kAudioUnitErr_PropertyNotWritable;
#else
const int busCount = AudioUnitHelpers::getBusCount (juceFilter, isInput);
const int busCount = AudioUnitHelpers::getBusCount (juceFilter.get(), isInput);
if ((! juceFilter->canAddBus (isInput)) && ((busCount == 0) || (! juceFilter->canRemoveBus (isInput))))
return kAudioUnitErr_PropertyNotWritable;
@@ -360,7 +360,7 @@ public:
if (err != noErr)
{
// restore bus state
const int newBusCount = AudioUnitHelpers::getBusCount (juceFilter, isInput);
const int newBusCount = AudioUnitHelpers::getBusCount (juceFilter.get(), isInput);
for (int i = newBusCount; i != busCount; i += (busCount > newBusCount ? 1 : -1))
{
if (busCount > newBusCount)
@@ -475,7 +475,7 @@ public:
switch (inID)
{
case juceFilterObjectPropertyID:
((void**) outData)[0] = (void*) static_cast<AudioProcessor*> (juceFilter);
((void**) outData)[0] = (void*) static_cast<AudioProcessor*> (juceFilter.get());
((void**) outData)[1] = (void*) this;
return noErr;
@@ -996,7 +996,7 @@ public:
ComponentResult Version() override { return JucePlugin_VersionCode; }
bool SupportsTail() override { return true; }
Float64 GetTailTime() override { return juceFilter->getTailLengthSeconds(); }
double getSampleRate() { return AudioUnitHelpers::getBusCount (juceFilter, false) > 0 ? GetOutput(0)->GetStreamFormat().mSampleRate : 44100.0; }
double getSampleRate() { return AudioUnitHelpers::getBusCount (juceFilter.get(), false) > 0 ? GetOutput (0)->GetStreamFormat().mSampleRate : 44100.0; }
Float64 GetLatency() override
{
@@ -1831,7 +1831,7 @@ private:
busIdx = static_cast<int> (element);
if ((err = scopeToDirection (scope, isInput)) != noErr) return err;
if (isPositiveAndBelow (busIdx, AudioUnitHelpers::getBusCount (juceFilter, isInput))) return noErr;
if (isPositiveAndBelow (busIdx, AudioUnitHelpers::getBusCount (juceFilter.get(), isInput))) return noErr;
return kAudioUnitErr_InvalidElement;
}
@@ -1936,8 +1936,8 @@ private:
OSStatus syncAudioUnitWithProcessor()
{
OSStatus err = noErr;
const int enabledInputs = AudioUnitHelpers::getBusCount (juceFilter, true);
const int enabledOutputs = AudioUnitHelpers::getBusCount (juceFilter, false);
const int enabledInputs = AudioUnitHelpers::getBusCount (juceFilter.get(), true);
const int enabledOutputs = AudioUnitHelpers::getBusCount (juceFilter.get(), false);
if ((err = MusicDeviceBase::SetBusCount (kAudioUnitScope_Input, static_cast<UInt32> (enabledInputs))) != noErr)
return err;
@@ -1958,8 +1958,8 @@ private:
OSStatus syncProcessorWithAudioUnit()
{
const int numInputBuses = AudioUnitHelpers::getBusCount (juceFilter, true);
const int numOutputBuses = AudioUnitHelpers::getBusCount (juceFilter, false);
const int numInputBuses = AudioUnitHelpers::getBusCount (juceFilter.get(), true);
const int numOutputBuses = AudioUnitHelpers::getBusCount (juceFilter.get(), false);
const int numInputElements = static_cast<int> (GetScope(kAudioUnitScope_Input). GetNumberOfElements());
const int numOutputElements = static_cast<int> (GetScope(kAudioUnitScope_Output).GetNumberOfElements());
@@ -1994,7 +1994,7 @@ private:
return kAudioUnitErr_FormatNotSupported;
#endif
if (! AudioUnitHelpers::setBusesLayout (juceFilter, requestedLayouts))
if (! AudioUnitHelpers::setBusesLayout (juceFilter.get(), requestedLayouts))
return kAudioUnitErr_FormatNotSupported;
// update total channel count
@@ -2094,7 +2094,7 @@ private:
{
auto& layouts = isInput ? supportedInputLayouts : supportedOutputLayouts;
layouts.clear();
auto numBuses = AudioUnitHelpers::getBusCount (juceFilter, isInput);
auto numBuses = AudioUnitHelpers::getBusCount (juceFilter.get(), isInput);
for (int busNr = 0; busNr < numBuses; ++busNr)
{
@@ -2109,8 +2109,8 @@ private:
{
currentInputLayout.clear(); currentOutputLayout.clear();
currentInputLayout. resize (AudioUnitHelpers::getBusCount (juceFilter, true));
currentOutputLayout.resize (AudioUnitHelpers::getBusCount (juceFilter, false));
currentInputLayout. resize (AudioUnitHelpers::getBusCount (juceFilter.get(), true));
currentOutputLayout.resize (AudioUnitHelpers::getBusCount (juceFilter.get(), false));
addSupportedLayoutTagsForDirection (true);
addSupportedLayoutTagsForDirection (false);


+ 55
- 56
modules/juce_audio_plugin_client/AU/juce_AUv3_Wrapper.mm View File

@@ -102,8 +102,8 @@ struct AudioProcessorHolder : public ReferenceCountedObject
AudioProcessorHolder() {}
AudioProcessorHolder (AudioProcessor* p) : processor (p) {}
AudioProcessor& operator*() noexcept { return *processor; }
AudioProcessor* operator->() noexcept { return processor; }
AudioProcessor* get() noexcept { return processor; }
AudioProcessor* operator->() noexcept { return processor.get(); }
AudioProcessor* get() noexcept { return processor.get(); }
struct ViewConfig
{
@@ -468,7 +468,7 @@ public:
if (editorObserverToken != nullptr)
{
[paramTree removeParameterObserver: editorObserverToken];
[paramTree.get() removeParameterObserver: editorObserverToken];
editorObserverToken = nullptr;
}
}
@@ -509,15 +509,14 @@ public:
totalOutChannels = processor.getTotalNumOutputChannels();
{
channelCapabilities = [[NSMutableArray<NSNumber*> alloc] init];
channelCapabilities.reset ([[NSMutableArray<NSNumber*> alloc] init]);
for (int i = 0; i < channelInfos.size(); ++i)
{
AUChannelInfo& info = channelInfos.getReference (i);
[channelCapabilities addObject: [NSNumber numberWithInteger: info.inChannels]];
[channelCapabilities addObject: [NSNumber numberWithInteger: info.outChannels]];
[channelCapabilities.get() addObject: [NSNumber numberWithInteger: info.inChannels]];
[channelCapabilities.get() addObject: [NSNumber numberWithInteger: info.outChannels]];
}
}
@@ -547,18 +546,18 @@ public:
//==============================================================================
AUAudioUnitPreset* getCurrentPreset() override
{
const int n = static_cast<int> ([factoryPresets count]);
const int n = static_cast<int> ([factoryPresets.get() count]);
const int idx = static_cast<int> (getAudioProcessor().getCurrentProgram());
if (idx < n)
return [factoryPresets objectAtIndex:static_cast<unsigned int> (idx)];
return [factoryPresets.get() objectAtIndex:static_cast<unsigned int> (idx)];
return nullptr;
}
void setCurrentPreset(AUAudioUnitPreset* preset) override
{
const int n = static_cast<int> ([factoryPresets count]);
const int n = static_cast<int> ([factoryPresets.get() count]);
const int idx = static_cast<int> ([preset number]);
if (isPositiveAndBelow (idx, n))
@@ -567,7 +566,7 @@ public:
NSArray<AUAudioUnitPreset*>* getFactoryPresets() override
{
return factoryPresets;
return factoryPresets.get();
}
NSDictionary<NSString*, id>* getFullState() override
@@ -637,17 +636,17 @@ public:
AUParameterTree* getParameterTree() override
{
return paramTree;
return paramTree.get();
}
NSArray<NSNumber*>* parametersForOverviewWithCount (int count) override
{
const int n = static_cast<int> ([overviewParams count]);
const int n = static_cast<int> ([overviewParams.get() count]);
if (count >= n)
return overviewParams;
return overviewParams.get();
NSMutableArray<NSNumber*>* retval = [[NSMutableArray<NSNumber*>alloc] initWithArray: overviewParams];
NSMutableArray<NSNumber*>* retval = [[NSMutableArray<NSNumber*>alloc] initWithArray: overviewParams.get()];
[retval removeObjectsInRange: NSMakeRange (static_cast<unsigned int> (count), static_cast<unsigned int> (n - count))];
return [retval autorelease];
@@ -666,9 +665,9 @@ public:
}
//==============================================================================
AUAudioUnitBusArray* getInputBusses() override { return inputBusses; }
AUAudioUnitBusArray* getOutputBusses() override { return outputBusses; }
NSArray<NSNumber*>* getChannelCapabilities() override { return channelCapabilities; }
AUAudioUnitBusArray* getInputBusses() override { return inputBusses.get(); }
AUAudioUnitBusArray* getOutputBusses() override { return outputBusses.get(); }
NSArray<NSNumber*>* getChannelCapabilities() override { return channelCapabilities.get(); }
bool shouldChangeToFormat (AVAudioFormat* format, AUAudioUnitBus* auBus) override
{
@@ -858,7 +857,7 @@ public:
audioBuffer.prepare (totalInChannels, totalOutChannels, static_cast<int> (maxFrames));
double sampleRate = (jmax (AudioUnitHelpers::getBusCount (&processor, true), AudioUnitHelpers::getBusCount (&processor, false)) > 0 ?
[[[([inputBusses count] > 0 ? inputBusses : outputBusses) objectAtIndexedSubscript: 0] format] sampleRate] : 44100.0);
[[[([inputBusses.get() count] > 0 ? inputBusses.get() : outputBusses.get()) objectAtIndexedSubscript: 0] format] sampleRate] : 44100.0);
processor.setRateAndBufferSizeDetails (sampleRate, static_cast<int> (maxFrames));
processor.prepareToPlay (sampleRate, static_cast<int> (maxFrames));
@@ -948,7 +947,7 @@ public:
if (isPositiveAndBelow (idx, juceParameters.getNumParameters()))
{
if (AUParameter* param = [paramTree parameterWithAddress: getAUParameterAddressForIndex (idx)])
if (AUParameter* param = [paramTree.get() parameterWithAddress: getAUParameterAddressForIndex (idx)])
{
if (editorObserverToken != nullptr)
[param setValue: newValue originator: editorObserverToken];
@@ -1133,7 +1132,7 @@ private:
//==============================================================================
void addAudioUnitBusses (bool isInput)
{
ScopedPointer<NSMutableArray<AUAudioUnitBus*>> array = [[NSMutableArray<AUAudioUnitBus*> alloc] init];
ScopedPointer<NSMutableArray<AUAudioUnitBus*>> array ([[NSMutableArray<AUAudioUnitBus*> alloc] init]);
AudioProcessor& processor = getAudioProcessor();
const int n = AudioUnitHelpers::getBusCount (&processor, isInput);
@@ -1142,19 +1141,19 @@ private:
ScopedPointer<AUAudioUnitBus> audioUnitBus;
{
ScopedPointer<AVAudioFormat> defaultFormat = [[AVAudioFormat alloc] initStandardFormatWithSampleRate: kDefaultSampleRate
channels: static_cast<AVAudioChannelCount> (processor.getChannelCountOfBus (isInput, i))];
ScopedPointer<AVAudioFormat> defaultFormat ([[AVAudioFormat alloc] initStandardFormatWithSampleRate: kDefaultSampleRate
channels: static_cast<AVAudioChannelCount> (processor.getChannelCountOfBus (isInput, i))]);
audioUnitBus = [[AUAudioUnitBus alloc] initWithFormat: defaultFormat
error: nullptr];
audioUnitBus.reset ([[AUAudioUnitBus alloc] initWithFormat: defaultFormat.get()
error: nullptr]);
}
[array addObject: audioUnitBus];
[array.get() addObject: audioUnitBus.get()];
}
(isInput ? inputBusses : outputBusses) = [[AUAudioUnitBusArray alloc] initWithAudioUnit: au
busType: (isInput ? AUAudioUnitBusTypeInput : AUAudioUnitBusTypeOutput)
busses: array];
(isInput ? inputBusses : outputBusses).reset ([[AUAudioUnitBusArray alloc] initWithAudioUnit: au
busType: (isInput ? AUAudioUnitBusTypeInput : AUAudioUnitBusTypeOutput)
busses: array.get()]);
}
// When parameters are discrete we need to use integer values.
@@ -1170,9 +1169,9 @@ private:
void addParameters()
{
ScopedPointer<NSMutableArray<AUParameterNode*>> params = [[NSMutableArray<AUParameterNode*> alloc] init];
ScopedPointer<NSMutableArray<AUParameterNode*>> params ([[NSMutableArray<AUParameterNode*> alloc] init]);
overviewParams = [[NSMutableArray<NSNumber*> alloc] init];
overviewParams.reset ([[NSMutableArray<NSNumber*> alloc] init]);
auto& processor = getAudioProcessor();
juceParameters.update (processor, forceLegacyParamIDs);
@@ -1252,40 +1251,40 @@ private:
#endif
// create methods in AUParameterTree return unretained objects (!) -> see Apple header AUAudioUnitImplementation.h
ScopedPointer<AUParameter> param = [[AUParameterTree createParameterWithIdentifier: juceStringToNS (identifier)
name: juceStringToNS (name)
address: address
min: 0.0f
max: getMaximumParameterValue (juceParam)
unit: unit
unitName: nullptr
flags: flags
valueStrings: valueStrings.get()
dependentParameters: nullptr] retain];
ScopedPointer<AUParameter> param ([[AUParameterTree createParameterWithIdentifier: juceStringToNS (identifier)
name: juceStringToNS (name)
address: address
min: 0.0f
max: getMaximumParameterValue (juceParam)
unit: unit
unitName: nullptr
flags: flags
valueStrings: valueStrings.get()
dependentParameters: nullptr] retain]);
[param.get() setValue: juceParam->getDefaultValue()];
[params addObject: param];
[overviewParams addObject: [NSNumber numberWithUnsignedLongLong:address]];
[params.get() addObject: param.get()];
[overviewParams.get() addObject: [NSNumber numberWithUnsignedLongLong:address]];
}
// create methods in AUParameterTree return unretained objects (!) -> see Apple header AUAudioUnitImplementation.h
paramTree = [[AUParameterTree createTreeWithChildren: params] retain];
paramTree.reset ([[AUParameterTree createTreeWithChildren: params.get()] retain]);
paramObserver = CreateObjCBlock (this, &JuceAudioUnitv3::valueChangedFromHost);
paramProvider = CreateObjCBlock (this, &JuceAudioUnitv3::getValue);
stringFromValueProvider = CreateObjCBlock (this, &JuceAudioUnitv3::stringFromValue);
valueFromStringProvider = CreateObjCBlock (this, &JuceAudioUnitv3::valueFromString);
[paramTree setImplementorValueObserver: paramObserver];
[paramTree setImplementorValueProvider: paramProvider];
[paramTree setImplementorStringFromValueCallback: stringFromValueProvider];
[paramTree setImplementorValueFromStringCallback: valueFromStringProvider];
[paramTree.get() setImplementorValueObserver: paramObserver];
[paramTree.get() setImplementorValueProvider: paramProvider];
[paramTree.get() setImplementorStringFromValueCallback: stringFromValueProvider];
[paramTree.get() setImplementorValueFromStringCallback: valueFromStringProvider];
if (processor.hasEditor())
{
editorParamObserver = CreateObjCBlock (this, &JuceAudioUnitv3::valueChangedForObserver);
editorObserverToken = [paramTree tokenByAddingParameterObserver: editorParamObserver];
editorObserverToken = [paramTree.get() tokenByAddingParameterObserver: editorParamObserver];
}
if ((bypassParam = processor.getBypassParameter()) != nullptr)
@@ -1305,7 +1304,7 @@ private:
void addPresets()
{
factoryPresets = [[NSMutableArray<AUAudioUnitPreset*> alloc] init];
factoryPresets.reset ([[NSMutableArray<AUAudioUnitPreset*> alloc] init]);
const int n = getAudioProcessor().getNumPrograms();
@@ -1313,11 +1312,11 @@ private:
{
String name = getAudioProcessor().getProgramName (idx);
ScopedPointer<AUAudioUnitPreset> preset = [[AUAudioUnitPreset alloc] init];
[preset setName: juceStringToNS (name)];
[preset setNumber: static_cast<NSInteger> (idx)];
ScopedPointer<AUAudioUnitPreset> preset ([[AUAudioUnitPreset alloc] init]);
[preset.get() setName: juceStringToNS (name)];
[preset.get() setNumber: static_cast<NSInteger> (idx)];
[factoryPresets addObject: preset];
[factoryPresets.get() addObject: preset.get()];
}
}
@@ -1331,7 +1330,7 @@ private:
const AUAudioFrameCount maxFrames = [getAudioUnit() maximumFramesToRender];
for (int busIdx = 0; busIdx < n; ++busIdx)
busBuffers.add (new BusBuffer ([(isInput ? inputBusses : outputBusses) objectAtIndexedSubscript: static_cast<unsigned int> (busIdx)],
busBuffers.add (new BusBuffer ([(isInput ? inputBusses.get() : outputBusses.get()) objectAtIndexedSubscript: static_cast<unsigned int> (busIdx)],
static_cast<int> (maxFrames)));
}
@@ -1848,7 +1847,7 @@ private:
ScopedPointer<JuceAUViewController> cpp;
}
- (instancetype) initWithNibName: (nullable NSString*) nib bundle: (nullable NSBundle*) bndl { self = [super initWithNibName: nib bundle: bndl]; cpp = new JuceAUViewController (self); return self; }
- (instancetype) initWithNibName: (nullable NSString*) nib bundle: (nullable NSBundle*) bndl { self = [super initWithNibName: nib bundle: bndl]; cpp.reset (new JuceAUViewController (self)); return self; }
- (void) loadView { cpp->loadView(); }
- (AUAudioUnit *) createAudioUnitWithComponentDescription: (AudioComponentDescription) desc error: (NSError **) error { return cpp->createAudioUnit (desc, error); }
- (CGSize) preferredContentSize { return cpp->getPreferredContentSize(); }


+ 1
- 1
modules/juce_audio_plugin_client/Standalone/juce_StandaloneFilterApp.cpp View File

@@ -99,7 +99,7 @@ public:
//==============================================================================
void initialise (const String&) override
{
mainWindow = createWindow();
mainWindow.reset (createWindow());
#if JUCE_STANDALONE_FILTER_WINDOW_USE_KIOSK_MODE
Desktop::getInstance().setKioskModeComponent (mainWindow, false);


+ 14
- 14
modules/juce_audio_plugin_client/Standalone/juce_StandaloneFilterWindow.h View File

@@ -87,7 +87,7 @@ public:
: processor->getMainBusNumInputChannels());
if (preferredSetupOptions != nullptr)
options = new AudioDeviceManager::AudioDeviceSetup (*preferredSetupOptions);
options.reset (new AudioDeviceManager::AudioDeviceSetup (*preferredSetupOptions));
if (inChannels > 0 && RuntimePermissions::isRequired (RuntimePermissions::recordAudio)
&& ! RuntimePermissions::isGranted (RuntimePermissions::recordAudio))
@@ -99,7 +99,7 @@ public:
void init (bool enableAudioInput, const String& preferredDefaultDeviceName)
{
setupAudioDevices (enableAudioInput, preferredDefaultDeviceName, options);
setupAudioDevices (enableAudioInput, preferredDefaultDeviceName, options.get());
reloadPluginState();
startPlaying();
@@ -120,7 +120,7 @@ public:
{
#if JUCE_MODULE_AVAILABLE_juce_audio_plugin_client
processor = ::createPluginFilterOfType (AudioProcessor::wrapperType_Standalone);
processor.reset (::createPluginFilterOfType (AudioProcessor::wrapperType_Standalone));
#else
AudioProcessor::setTypeOfNextNewPlugin (AudioProcessor::wrapperType_Standalone);
processor = createPluginFilter();
@@ -228,7 +228,7 @@ public:
//==============================================================================
void startPlaying()
{
player.setProcessor (processor);
player.setProcessor (processor.get());
#if JucePlugin_Enable_IAA && JUCE_IOS
if (auto device = dynamic_cast<iOSAudioIODevice*> (deviceManager.getCurrentAudioDevice()))
@@ -297,7 +297,7 @@ public:
{
ScopedPointer<XmlElement> xml (deviceManager.createStateXml());
settings->setValue ("audioSetup", xml);
settings->setValue ("audioSetup", xml.get());
#if ! (JUCE_IOS || JUCE_ANDROID)
settings->setValue ("shouldMuteInput", (bool) shouldMuteInput.getValue());
@@ -313,7 +313,7 @@ public:
if (settings != nullptr)
{
savedState = settings->getXmlValue ("audioSetup");
savedState.reset (settings->getXmlValue ("audioSetup"));
#if ! (JUCE_IOS || JUCE_ANDROID)
shouldMuteInput.setValue (settings->getBoolValue ("shouldMuteInput", true));
@@ -332,7 +332,7 @@ public:
deviceManager.initialise (enableAudioInput ? totalInChannels : 0,
totalOutChannels,
savedState,
savedState.get(),
true,
preferredDefaultDeviceName,
preferredSetupOptions);
@@ -603,9 +603,9 @@ public:
optionsButton.setTriggeredOnMouseDown (true);
#endif
pluginHolder = new StandalonePluginHolder (settingsToUse, takeOwnershipOfSettings,
preferredDefaultDeviceName, preferredSetupOptions,
constrainToConfiguration, autoOpenMidiDevices);
pluginHolder.reset (new StandalonePluginHolder (settingsToUse, takeOwnershipOfSettings,
preferredDefaultDeviceName, preferredSetupOptions,
constrainToConfiguration, autoOpenMidiDevices));
#if JUCE_IOS || JUCE_ANDROID
setFullScreen (true);
@@ -646,7 +646,7 @@ public:
}
//==============================================================================
AudioProcessor* getAudioProcessor() const noexcept { return pluginHolder->processor; }
AudioProcessor* getAudioProcessor() const noexcept { return pluginHolder->processor.get(); }
AudioDeviceManager& getDeviceManager() const noexcept { return pluginHolder->deviceManager; }
/** Deletes and re-creates the plugin, resetting it to its default state. */
@@ -710,7 +710,7 @@ public:
optionsButton.setBounds (8, 6, 60, getTitleBarHeight() - 8);
}
virtual StandalonePluginHolder* getPluginHolder() { return pluginHolder; }
virtual StandalonePluginHolder* getPluginHolder() { return pluginHolder.get(); }
ScopedPointer<StandalonePluginHolder> pluginHolder;
@@ -733,7 +733,7 @@ private:
editor->addComponentListener (this);
componentMovedOrResized (*editor, false, true);
addAndMakeVisible (editor);
addAndMakeVisible (editor.get());
}
addChildComponent (notification);
@@ -752,7 +752,7 @@ private:
if (editor != nullptr)
{
editor->removeComponentListener (this);
owner.pluginHolder->processor->editorBeingDeleted (editor);
owner.pluginHolder->processor->editorBeingDeleted (editor.get());
editor = nullptr;
}
}


+ 1
- 1
modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp View File

@@ -1072,7 +1072,7 @@ public:
if (auto* ed = processor->createEditorIfNeeded())
{
vstEffect.flags |= vstEffectFlagHasEditor;
editorComp = new EditorCompWrapper (*this, *ed);
editorComp.reset (new EditorCompWrapper (*this, *ed));
#if ! (JUCE_MAC || JUCE_IOS)
ed->setScaleFactor (editorScaleFactor);


+ 12
- 11
modules/juce_audio_plugin_client/VST3/juce_VST3_Wrapper.cpp View File

@@ -98,7 +98,7 @@ public:
virtual ~JuceAudioProcessor() {}
AudioProcessor* get() const noexcept { return audioProcessor; }
AudioProcessor* get() const noexcept { return audioProcessor.get(); }
JUCE_DECLARE_VST3_COM_QUERY_METHODS
JUCE_DECLARE_VST3_COM_REF_METHODS
@@ -169,7 +169,8 @@ private:
if (bypassParameter == nullptr)
{
vst3WrapperProvidedBypassParam = true;
bypassParameter = ownedBypassParameter = new AudioParameterBool ("byps", "Bypass", false, {}, {}, {});
ownedBypassParameter.reset (new AudioParameterBool ("byps", "Bypass", false, {}, {}, {}));
bypassParameter = ownedBypassParameter.get();
}
// if the bypass parameter is not part of the exported parameters that the plug-in supports
@@ -789,7 +790,7 @@ private:
: Vst::EditorView (&ec, nullptr),
owner (&ec), pluginInstance (p)
{
component = new ContentWrapperComponent (*this, p);
component.reset (new ContentWrapperComponent (*this, p));
}
tresult PLUGIN_API queryInterface (const TUID targetIID, void** obj) override
@@ -822,7 +823,7 @@ private:
return kResultFalse;
if (component == nullptr)
component = new ContentWrapperComponent (*this, pluginInstance);
component.reset (new ContentWrapperComponent (*this, pluginInstance));
#if JUCE_WINDOWS
component->addToDesktop (0, parent);
@@ -830,7 +831,7 @@ private:
component->setVisible (true);
#else
isNSView = (strcmp (type, kPlatformTypeNSView) == 0);
macHostWindow = juce::attachComponentToWindowRefVST (component, parent, isNSView);
macHostWindow = juce::attachComponentToWindowRefVST (component.get(), parent, isNSView);
#endif
component->resizeHostWindow();
@@ -853,7 +854,7 @@ private:
#else
if (macHostWindow != nullptr)
{
juce::detachComponentFromWindowRefVST (component, macHostWindow, isNSView);
juce::detachComponentFromWindowRefVST (component.get(), macHostWindow, isNSView);
macHostWindow = nullptr;
}
#endif
@@ -912,8 +913,8 @@ private:
if (auto* editor = component->pluginEditor.get())
{
// checkSizeConstraint
auto juceRect = editor->getLocalArea (component, Rectangle<int>::leftTopRightBottom (rectToCheck->left, rectToCheck->top,
rectToCheck->right, rectToCheck->bottom));
auto juceRect = editor->getLocalArea (component.get(), Rectangle<int>::leftTopRightBottom (rectToCheck->left, rectToCheck->top,
rectToCheck->right, rectToCheck->bottom));
if (auto* constrainer = editor->getConstrainer())
{
Rectangle<int> limits (0, 0, constrainer->getMaximumWidth(), constrainer->getMaximumHeight());
@@ -972,7 +973,7 @@ private:
if (pluginEditor != nullptr)
{
addAndMakeVisible (pluginEditor);
addAndMakeVisible (pluginEditor.get());
pluginEditor->setTopLeftPosition (0, 0);
lastBounds = getSizeToContainChild();
@@ -991,7 +992,7 @@ private:
if (pluginEditor != nullptr)
{
PopupMenu::dismissAllActiveMenus();
pluginEditor->processor.editorBeingDeleted (pluginEditor);
pluginEditor->processor.editorBeingDeleted (pluginEditor.get());
}
}
@@ -1003,7 +1004,7 @@ private:
juce::Rectangle<int> getSizeToContainChild()
{
if (pluginEditor != nullptr)
return getLocalArea (pluginEditor, pluginEditor->getLocalBounds());
return getLocalArea (pluginEditor.get(), pluginEditor->getLocalBounds());
return {};
}


+ 1
- 1
modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm View File

@@ -1452,7 +1452,7 @@ public:
auSupportsBypass = (AudioUnitGetPropertyInfo (audioUnit, kAudioUnitProperty_BypassEffect,
kAudioUnitScope_Global, 0, &propertySize, &writable) == noErr
&& propertySize >= sizeof (UInt32) && writable);
bypassParam = new AUBypassParameter (*this);
bypassParam.reset (new AUBypassParameter (*this));
}
void updateLatency()


+ 1
- 1
modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp View File

@@ -1477,7 +1477,7 @@ private:
{
#if JUCE_WINDOWS
if (auto* topComp = getTopLevelComponent())
peer = embeddedComponent.createNewPeer (0, topComp->getWindowHandle());
peer.reset (embeddedComponent.createNewPeer (0, topComp->getWindowHandle()));
else
peer = nullptr;


+ 2
- 2
modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp View File

@@ -659,11 +659,11 @@ struct ModuleHandle : public ReferenceCountedObject
if (moduleMain != nullptr)
{
vstXml = XmlDocument::parse (file.withFileExtension ("vstxml"));
vstXml.reset (XmlDocument::parse (file.withFileExtension ("vstxml")));
#if JUCE_WINDOWS
if (vstXml == nullptr)
vstXml = XmlDocument::parse (getDLLResource (file, "VSTXML", 1));
vstXml.reset (XmlDocument::parse (getDLLResource (file, "VSTXML", 1)));
#endif
}


+ 2
- 2
modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp View File

@@ -1333,7 +1333,7 @@ void AudioProcessorGraph::processBlock (AudioBuffer<float>& buffer, MidiBuffer&
if (isPrepared.get() == 0 && MessageManager::getInstance()->isThisTheMessageThread())
handleAsyncUpdate();
processBlockForBuffer<float> (buffer, midiMessages, *this, renderSequenceFloat, isPrepared);
processBlockForBuffer<float> (buffer, midiMessages, *this, renderSequenceFloat.get(), isPrepared);
}
void AudioProcessorGraph::processBlock (AudioBuffer<double>& buffer, MidiBuffer& midiMessages)
@@ -1341,7 +1341,7 @@ void AudioProcessorGraph::processBlock (AudioBuffer<double>& buffer, MidiBuffer&
if (isPrepared.get() == 0 && MessageManager::getInstance()->isThisTheMessageThread())
handleAsyncUpdate();
processBlockForBuffer<double> (buffer, midiMessages, *this, renderSequenceDouble, isPrepared);
processBlockForBuffer<double> (buffer, midiMessages, *this, renderSequenceDouble.get(), isPrepared);
}
//==============================================================================


+ 1
- 1
modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp View File

@@ -428,7 +428,7 @@ public:
parameterComp.reset (new SliderParameterComponent (param));
}
addAndMakeVisible (parameterComp);
addAndMakeVisible (parameterComp.get());
setSize (400, 40);
}


+ 1
- 1
modules/juce_blocks_basics/topology/juce_RuleBasedTopologySource.cpp View File

@@ -90,7 +90,7 @@ struct RuleBasedTopologySource::Internal : public TopologySource::Listener,
RuleBasedTopologySource::RuleBasedTopologySource (TopologySource& d)
{
internal = new Internal (*this, d);
internal.reset (new Internal (*this, d));
}
RuleBasedTopologySource::~RuleBasedTopologySource()


+ 2
- 2
modules/juce_core/memory/juce_SharedResourcePointer.h View File

@@ -149,9 +149,9 @@ private:
const SpinLock::ScopedLockType sl (holder.lock);
if (++(holder.refCount) == 1)
holder.sharedInstance = new SharedObjectType();
holder.sharedInstance.reset (new SharedObjectType());
sharedObject = holder.sharedInstance;
sharedObject = holder.sharedInstance.get();
}
// There's no need to assign to a SharedResourcePointer because every


+ 1
- 1
modules/juce_core/native/juce_win32_Threads.cpp View File

@@ -509,7 +509,7 @@ private:
bool ChildProcess::start (const String& command, int streamFlags)
{
activeProcess = new ActiveProcess (command, streamFlags);
activeProcess.reset (new ActiveProcess (command, streamFlags));
if (! activeProcess->ok)
activeProcess = nullptr;


+ 1
- 1
modules/juce_core/threads/juce_Thread.h View File

@@ -176,7 +176,7 @@ public:
//==============================================================================
/** Used to receive callbacks for thread exit calls */
class Listener
class JUCE_API Listener
{
public:
virtual ~Listener() {}


+ 3
- 2
modules/juce_dsp/frequency/juce_Convolution.cpp View File

@@ -119,7 +119,7 @@ struct ConvolutionEngine
buffersImpulseSegments.add (newImpulseSegment);
}
ScopedPointer<FFT> FFTTempObject = new FFT (roundToInt (std::log2 (FFTSize)));
ScopedPointer<FFT> FFTTempObject (new FFT (roundToInt (std::log2 (FFTSize))));
auto* channelData = info.buffer->getWritePointer (channel);
@@ -829,8 +829,9 @@ private:
{
AudioFormatManager manager;
manager.registerBasicFormats();
ScopedPointer<AudioFormatReader> formatReader (manager.createReaderFor (stream));
if (ScopedPointer<AudioFormatReader> formatReader = manager.createReaderFor (stream))
if (formatReader != nullptr)
{
currentInfo.originalNumChannels = formatReader->numChannels > 1 ? 2 : 1;
currentInfo.originalSampleRate = formatReader->sampleRate;


+ 2
- 2
modules/juce_dsp/frequency/juce_FFT.cpp View File

@@ -92,8 +92,8 @@ struct FFTFallback : public FFT::Instance
FFTFallback (int order)
{
configForward = new FFTConfig (1 << order, false);
configInverse = new FFTConfig (1 << order, true);
configForward.reset (new FFTConfig (1 << order, false));
configInverse.reset (new FFTConfig (1 << order, true));
size = 1 << order;
}


+ 2
- 2
modules/juce_events/native/juce_linux_Messaging.cpp View File

@@ -57,7 +57,7 @@ public:
pfds[INTERNAL_QUEUE_FD].fd = getReadHandle();
pfds[INTERNAL_QUEUE_FD].events = POLLIN;
readCallback[INTERNAL_QUEUE_FD] = new LinuxEventLoop::CallbackFunction<decltype(internalQueueCb)> (internalQueueCb);
readCallback[INTERNAL_QUEUE_FD].reset (new LinuxEventLoop::CallbackFunction<decltype(internalQueueCb)> (internalQueueCb));
}
~InternalMessageQueue()
@@ -96,7 +96,7 @@ public:
fdCount = 2;
pfds[WINDOW_SYSTEM_FD].fd = _fd;
pfds[WINDOW_SYSTEM_FD].events = POLLIN;
readCallback[WINDOW_SYSTEM_FD] = _readCallback;
readCallback[WINDOW_SYSTEM_FD].reset (_readCallback);
readCallback[WINDOW_SYSTEM_FD]->active = true;
}


+ 1
- 1
modules/juce_events/native/juce_win32_Messaging.cpp View File

@@ -199,7 +199,7 @@ void MessageManager::doPlatformSpecificInitialisation()
OleInitialize (0);
using namespace WindowsMessageHelpers;
messageWindow = new HiddenMessageWindow (messageWindowName, (WNDPROC) messageWndProc);
messageWindow.reset (new HiddenMessageWindow (messageWindowName, (WNDPROC) messageWndProc));
juce_messageWindowHandle = messageWindow->getHWND();
}


+ 3
- 1
modules/juce_graphics/native/juce_linux_Fonts.cpp View File

@@ -48,7 +48,9 @@ StringArray FTTypefaceList::getDefaultFontDirectories()
if (fontDirs.isEmpty())
{
if (ScopedPointer<XmlElement> fontsInfo = findFontsConfFile())
ScopedPointer<XmlElement> fontsInfo (findFontsConfFile());
if (fontsInfo != nullptr)
{
forEachXmlChildElementWithTagName (*fontsInfo, e, "dir")
{


+ 11
- 9
modules/juce_gui_basics/native/juce_linux_X11_Windowing.cpp View File

@@ -1176,7 +1176,9 @@ private:
for (int i = 0; i < numMonitors; ++i)
{
if ((screens = xrandr.getScreenResources (display, RootWindow (display, i))).get())
screens.reset (xrandr.getScreenResources (display, RootWindow (display, i)));
if (screens != nullptr)
{
for (int j = 0; j < screens->noutput; ++j)
{
@@ -1188,16 +1190,16 @@ private:
if (! mainDisplay)
mainDisplay = screens->outputs[j];
ScopedPointer<XRROutputInfo> output;
ScopedPointer<XRROutputInfo> output (xrandr.getOutputInfo (display, screens.get(), screens->outputs[j]));
if ((output = xrandr.getOutputInfo (display, screens.get(), screens->outputs[j])).get())
if (output != nullptr)
{
if (! output->crtc)
continue;
ScopedPointer<XRRCrtcInfo> crtc;
ScopedPointer<XRRCrtcInfo> crtc (xrandr.getCrtcInfo (display, screens.get(), output->crtc));
if ((crtc = xrandr.getCrtcInfo (display, screens.get(), output->crtc)).get())
if (crtc != nullptr)
{
ExtendedInfo e;
e.totalBounds = Rectangle<int> (crtc->x, crtc->y,
@@ -1471,9 +1473,9 @@ public:
display = XWindowSystem::getInstance()->displayRef();
atoms = new Atoms (display);
dragState = new DragState (display);
repainter = new LinuxRepaintManager (*this, display);
atoms.reset (new Atoms (display));
dragState.reset (new DragState (display));
repainter.reset (new LinuxRepaintManager (*this, display));
if (isAlwaysOnTop)
++numAlwaysOnTopPeers;
@@ -3216,7 +3218,7 @@ private:
void resetExternalDragState()
{
dragState = new DragState (display);
dragState.reset (new DragState (display));
}
void sendDragAndDropMessage (XClientMessageEvent& msg)


+ 2
- 2
modules/juce_gui_basics/native/juce_win32_FileChooser.cpp View File

@@ -74,7 +74,7 @@ public:
if (! selectsDirectories)
{
if (previewComp != nullptr)
customComponent = new CustomComponentHolder (previewComp);
customComponent.reset (new CustomComponentHolder (previewComp));
setupFilters();
}
@@ -357,7 +357,7 @@ private:
if (customComponent)
{
Component::SafePointer<Component> custom (customComponent);
Component::SafePointer<Component> custom (customComponent.get());
RECT r, cr;
GetWindowRect (hdlg, &r);


+ 2
- 2
modules/juce_gui_basics/native/juce_win32_Windowing.cpp View File

@@ -1003,7 +1003,7 @@ public:
if ((windowStyleFlags & windowHasDropShadow) != 0
&& ((! hasTitleBar()) || SystemStats::getOperatingSystemType() < SystemStats::WinVista))
{
shadower = component.getLookAndFeel().createDropShadowerForComponent (&component);
shadower.reset (component.getLookAndFeel().createDropShadowerForComponent (&component));
if (shadower != nullptr)
shadower->setOwner (&component);
@@ -3937,7 +3937,7 @@ void Desktop::setScreenSaverEnabled (const bool isEnabled)
if (isEnabled)
screenSaverDefeater = nullptr;
else if (screenSaverDefeater == nullptr)
screenSaverDefeater = new ScreenSaverDefeater();
screenSaverDefeater.reset (new ScreenSaverDefeater());
}
bool Desktop::isScreenSaverEnabled()


+ 4
- 3
modules/juce_gui_extra/native/juce_linux_X11_WebBrowserComponent.cpp View File

@@ -449,17 +449,18 @@ public:
unsigned long windowHandle;
ssize_t actual = read (inChannel, &windowHandle, sizeof (windowHandle));
if (actual != sizeof (windowHandle))
{
killChild();
return;
}
receiver = new CommandReceiver (this, inChannel);
receiver.reset (new CommandReceiver (this, inChannel));
startThread();
xembed = new XEmbedComponent (windowHandle);
owner.addAndMakeVisible (xembed);
xembed.reset (new XEmbedComponent (windowHandle));
owner.addAndMakeVisible (xembed.get());
}
void quit()


+ 1
- 1
modules/juce_gui_extra/native/juce_win32_ActiveXComponent.cpp View File

@@ -380,7 +380,7 @@ bool ActiveXControlComponent::createControl (const void* controlIID)
if (newControl->control->DoVerb (OLEIVERB_SHOW, 0, newControl->clientSite, 0, hwnd, &rect) == S_OK)
{
control = newControl;
control.reset (newControl.release());
control->controlHWND = ActiveXHelpers::getHWND (this);
if (control->controlHWND != 0)


+ 1
- 1
modules/juce_gui_extra/native/juce_win32_SystemTrayIcon.cpp View File

@@ -146,7 +146,7 @@ public:
if (JuceWindowIdentifier::isJUCEWindow (hwnd))
if (ComponentPeer* peer = (ComponentPeer*) GetWindowLongPtr (hwnd, 8))
if (SystemTrayIconComponent* const iconComp = dynamic_cast<SystemTrayIconComponent*> (&(peer->getComponent())))
return iconComp->pimpl;
return iconComp->pimpl.get();
return nullptr;
}


+ 1
- 1
modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp View File

@@ -246,7 +246,7 @@ WebBrowserComponent::WebBrowserComponent (const bool unloadPageWhenBrowserIsHidd
unloadPageWhenBrowserIsHidden (unloadPageWhenBrowserIsHidden_)
{
setOpaque (true);
addAndMakeVisible (browser);
addAndMakeVisible (browser.get());
}
WebBrowserComponent::~WebBrowserComponent()


+ 2
- 2
modules/juce_opengl/native/juce_OpenGL_win32.h View File

@@ -39,7 +39,7 @@ public:
bool /*useMultisampling*/,
OpenGLVersion)
{
dummyComponent = new DummyComponent (*this);
dummyComponent.reset (new DummyComponent (*this));
createNativeWindow (component);
PIXELFORMATDESCRIPTOR pfd;
@@ -171,7 +171,7 @@ private:
void createNativeWindow (Component& component)
{
auto* topComp = component.getTopLevelComponent();
nativeWindow = createNonRepaintingEmbeddedWindowsPeer (*dummyComponent, topComp->getWindowHandle());
nativeWindow.reset (createNonRepaintingEmbeddedWindowsPeer (*dummyComponent, topComp->getWindowHandle()));
if (auto* peer = topComp->getPeer())
updateWindowPosition (peer->getAreaCoveredBy (component));


+ 2
- 2
modules/juce_osc/osc/juce_OSCBundle.cpp View File

@@ -58,9 +58,9 @@ OSCBundle::Element::Element (const Element& other)
bundle = nullptr;
if (other.isMessage())
message = new OSCMessage (other.getMessage());
message.reset (new OSCMessage (other.getMessage()));
else
bundle = new OSCBundle (other.getBundle());
bundle.reset (new OSCBundle (other.getBundle()));
}
}


+ 4
- 4
modules/juce_video/capture/juce_CameraDevice.cpp View File

@@ -94,10 +94,10 @@ CameraDevice* CameraDevice::openDevice (int index,
int maxWidth, int maxHeight,
bool useHighQuality)
{
if (ScopedPointer<CameraDevice> d = new CameraDevice (getAvailableDevices() [index], index,
minWidth, minHeight, maxWidth, maxHeight, useHighQuality))
if (d->pimpl->openedOk())
return d.release();
ScopedPointer<CameraDevice> d (new CameraDevice (getAvailableDevices() [index], index,
minWidth, minHeight, maxWidth, maxHeight, useHighQuality));
if (d != nullptr && d->pimpl->openedOk())
return d.release();
return nullptr;
}


+ 5
- 5
modules/juce_video/native/juce_win32_Video.h View File

@@ -163,8 +163,8 @@ struct VideoComponent::Pimpl : public Component
Pimpl() : videoLoaded (false)
{
setOpaque (true);
context = new DirectShowContext (*this);
componentWatcher = new ComponentWatcher (*this);
context.reset (new DirectShowContext (*this));
componentWatcher.reset (new ComponentWatcher (*this));
}
~Pimpl()
@@ -462,7 +462,7 @@ private:
{
if (SystemStats::getOperatingSystemType() >= SystemStats::WinVista)
{
videoRenderer = new VideoRenderers::EVR();
videoRenderer.reset (new VideoRenderers::EVR());
hr = videoRenderer->create (graphBuilder, baseFilter, hwnd);
if (FAILED (hr))
@@ -471,7 +471,7 @@ private:
if (videoRenderer == nullptr)
{
videoRenderer = new VideoRenderers::VMR7();
videoRenderer.reset (new VideoRenderers::VMR7());
hr = videoRenderer->create (graphBuilder, baseFilter, hwnd);
}
}
@@ -700,7 +700,7 @@ private:
if (auto* topLevelPeer = component.getTopLevelComponent()->getPeer())
{
nativeWindow = new NativeWindow ((HWND) topLevelPeer->getNativeHandle(), this);
nativeWindow.reset (new NativeWindow ((HWND) topLevelPeer->getNativeHandle(), this));
hwnd = nativeWindow->hwnd;


Loading…
Cancel
Save