Browse Source

Updates to WASAPI. Tweaks to resizable window borders.

tags/2021-05-28
Julian Storer 14 years ago
parent
commit
b709f97739
3 changed files with 42 additions and 22 deletions
  1. +21
    -11
      juce_amalgamated.cpp
  2. +13
    -3
      src/gui/components/windows/juce_ResizableWindow.cpp
  3. +8
    -8
      src/native/windows/juce_win32_WASAPI.cpp

+ 21
- 11
juce_amalgamated.cpp View File

@@ -78867,16 +78867,26 @@ void ResizableWindow::resized()
{
if (resizableBorder != 0)
{
#if JUCE_WINDOWS || JUCE_LINUX
// hide the resizable border if the OS already provides one..
resizableBorder->setVisible (! (isFullScreen() || isUsingNativeTitleBar()));
#else
resizableBorder->setVisible (! isFullScreen());
resizableBorder->setBorderThickness (getBorderThickness());
#endif

resizableBorder->setBorderThickness (getBorderThickness());
resizableBorder->setSize (getWidth(), getHeight());
resizableBorder->toBack();
}

if (resizableCorner != 0)
{
#if JUCE_MAC
// hide the resizable border if the OS already provides one..
resizableCorner->setVisible (! (isFullScreen() || isUsingNativeTitleBar()));
#else
resizableCorner->setVisible (! isFullScreen());
#endif

const int resizerSize = 18;
resizableCorner->setBounds (getWidth() - resizerSize,
@@ -78889,9 +78899,9 @@ void ResizableWindow::resized()

updateLastPos();

#if JUCE_DEBUG
#if JUCE_DEBUG
hasBeenResized = true;
#endif
#endif
}

void ResizableWindow::childBoundsChanged (Component* child)
@@ -252818,7 +252828,7 @@ private:

if (device != 0)
{
HRESULT hr = device->Activate (__uuidof (IAudioClient), CLSCTX_INPROC_SERVER, 0, (void**) &client);
HRESULT hr = device->Activate (__uuidof (IAudioClient), CLSCTX_INPROC_SERVER, 0, (void**) client.resetAndGetPointerAddress());
logFailure (hr);
}

@@ -252917,7 +252927,7 @@ public:
reservoirCapacity = 16384;
reservoir.setSize (actualNumChannels * reservoirCapacity * sizeof (float));
return openClient (newSampleRate, newChannels)
&& (numChannels == 0 || check (client->GetService (__uuidof (IAudioCaptureClient), (void**) &captureClient)));
&& (numChannels == 0 || check (client->GetService (__uuidof (IAudioCaptureClient), (void**) captureClient.resetAndGetPointerAddress())));
}

void close()
@@ -253029,7 +253039,7 @@ public:
bool open (const double newSampleRate, const BigInteger& newChannels)
{
return openClient (newSampleRate, newChannels)
&& (numChannels == 0 || check (client->GetService (__uuidof (IAudioRenderClient), (void**) &renderClient)));
&& (numChannels == 0 || check (client->GetService (__uuidof (IAudioRenderClient), (void**) renderClient.resetAndGetPointerAddress())));
}

void close()
@@ -253436,7 +253446,7 @@ private:
return false;

ComSmartPtr <IMMDeviceCollection> deviceCollection;
if (! check (enumerator->EnumAudioEndpoints (eAll, DEVICE_STATE_ACTIVE, &deviceCollection)))
if (! check (enumerator->EnumAudioEndpoints (eAll, DEVICE_STATE_ACTIVE, deviceCollection.resetAndGetPointerAddress())))
return false;

UINT32 numDevices = 0;
@@ -253446,7 +253456,7 @@ private:
for (UINT32 i = 0; i < numDevices; ++i)
{
ComSmartPtr <IMMDevice> device;
if (! check (deviceCollection->Item (i, &device)))
if (! check (deviceCollection->Item (i, device.resetAndGetPointerAddress())))
continue;

const String deviceId (getDeviceID (device));
@@ -253501,14 +253511,14 @@ public:
ComSmartPtr <IMMDeviceCollection> deviceCollection;
UINT32 numDevices = 0;

if (! (check (enumerator->EnumAudioEndpoints (eAll, DEVICE_STATE_ACTIVE, &deviceCollection))
if (! (check (enumerator->EnumAudioEndpoints (eAll, DEVICE_STATE_ACTIVE, deviceCollection.resetAndGetPointerAddress()))
&& check (deviceCollection->GetCount (&numDevices))))
return;

for (UINT32 i = 0; i < numDevices; ++i)
{
ComSmartPtr <IMMDevice> device;
if (! check (deviceCollection->Item (i, &device)))
if (! check (deviceCollection->Item (i, device.resetAndGetPointerAddress())))
continue;

const String deviceId (getDeviceID (device));
@@ -253524,7 +253534,7 @@ public:

{
ComSmartPtr <IPropertyStore> properties;
if (! check (device->OpenPropertyStore (STGM_READ, &properties)))
if (! check (device->OpenPropertyStore (STGM_READ, properties.resetAndGetPointerAddress())))
continue;

PROPVARIANT value;


+ 13
- 3
src/gui/components/windows/juce_ResizableWindow.cpp View File

@@ -157,16 +157,26 @@ void ResizableWindow::resized()
{
if (resizableBorder != 0)
{
#if JUCE_WINDOWS || JUCE_LINUX
// hide the resizable border if the OS already provides one..
resizableBorder->setVisible (! (isFullScreen() || isUsingNativeTitleBar()));
#else
resizableBorder->setVisible (! isFullScreen());
resizableBorder->setBorderThickness (getBorderThickness());
#endif
resizableBorder->setBorderThickness (getBorderThickness());
resizableBorder->setSize (getWidth(), getHeight());
resizableBorder->toBack();
}
if (resizableCorner != 0)
{
#if JUCE_MAC
// hide the resizable border if the OS already provides one..
resizableCorner->setVisible (! (isFullScreen() || isUsingNativeTitleBar()));
#else
resizableCorner->setVisible (! isFullScreen());
#endif
const int resizerSize = 18;
resizableCorner->setBounds (getWidth() - resizerSize,
@@ -179,9 +189,9 @@ void ResizableWindow::resized()
updateLastPos();
#if JUCE_DEBUG
#if JUCE_DEBUG
hasBeenResized = true;
#endif
#endif
}
void ResizableWindow::childBoundsChanged (Component* child)


+ 8
- 8
src/native/windows/juce_win32_WASAPI.cpp View File

@@ -253,7 +253,7 @@ private:
if (device != 0)
{
HRESULT hr = device->Activate (__uuidof (IAudioClient), CLSCTX_INPROC_SERVER, 0, (void**) &client);
HRESULT hr = device->Activate (__uuidof (IAudioClient), CLSCTX_INPROC_SERVER, 0, (void**) client.resetAndGetPointerAddress());
logFailure (hr);
}
@@ -353,7 +353,7 @@ public:
reservoirCapacity = 16384;
reservoir.setSize (actualNumChannels * reservoirCapacity * sizeof (float));
return openClient (newSampleRate, newChannels)
&& (numChannels == 0 || check (client->GetService (__uuidof (IAudioCaptureClient), (void**) &captureClient)));
&& (numChannels == 0 || check (client->GetService (__uuidof (IAudioCaptureClient), (void**) captureClient.resetAndGetPointerAddress())));
}
void close()
@@ -466,7 +466,7 @@ public:
bool open (const double newSampleRate, const BigInteger& newChannels)
{
return openClient (newSampleRate, newChannels)
&& (numChannels == 0 || check (client->GetService (__uuidof (IAudioRenderClient), (void**) &renderClient)));
&& (numChannels == 0 || check (client->GetService (__uuidof (IAudioRenderClient), (void**) renderClient.resetAndGetPointerAddress())));
}
void close()
@@ -878,7 +878,7 @@ private:
return false;
ComSmartPtr <IMMDeviceCollection> deviceCollection;
if (! check (enumerator->EnumAudioEndpoints (eAll, DEVICE_STATE_ACTIVE, &deviceCollection)))
if (! check (enumerator->EnumAudioEndpoints (eAll, DEVICE_STATE_ACTIVE, deviceCollection.resetAndGetPointerAddress())))
return false;
UINT32 numDevices = 0;
@@ -888,7 +888,7 @@ private:
for (UINT32 i = 0; i < numDevices; ++i)
{
ComSmartPtr <IMMDevice> device;
if (! check (deviceCollection->Item (i, &device)))
if (! check (deviceCollection->Item (i, device.resetAndGetPointerAddress())))
continue;
const String deviceId (getDeviceID (device));
@@ -947,14 +947,14 @@ public:
ComSmartPtr <IMMDeviceCollection> deviceCollection;
UINT32 numDevices = 0;
if (! (check (enumerator->EnumAudioEndpoints (eAll, DEVICE_STATE_ACTIVE, &deviceCollection))
if (! (check (enumerator->EnumAudioEndpoints (eAll, DEVICE_STATE_ACTIVE, deviceCollection.resetAndGetPointerAddress()))
&& check (deviceCollection->GetCount (&numDevices))))
return;
for (UINT32 i = 0; i < numDevices; ++i)
{
ComSmartPtr <IMMDevice> device;
if (! check (deviceCollection->Item (i, &device)))
if (! check (deviceCollection->Item (i, device.resetAndGetPointerAddress())))
continue;
const String deviceId (getDeviceID (device));
@@ -970,7 +970,7 @@ public:
{
ComSmartPtr <IPropertyStore> properties;
if (! check (device->OpenPropertyStore (STGM_READ, &properties)))
if (! check (device->OpenPropertyStore (STGM_READ, properties.resetAndGetPointerAddress())))
continue;
PROPVARIANT value;


Loading…
Cancel
Save