1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-10 23:44:24 +00:00
This commit is contained in:
jules 2007-07-24 08:47:05 +00:00
parent f155d71b19
commit f09113af53
9 changed files with 73 additions and 19 deletions

View file

@ -253,7 +253,7 @@ static bool keyDown (const int keycode) throw()
static const int extendedKeyModifier = 0x10000000;
bool KeyPress::isKeyCurrentlyDown (int keyCode)
bool KeyPress::isKeyCurrentlyDown (const int keyCode) throw()
{
int keysym;

View file

@ -72,7 +72,7 @@ static ComponentPeer* juce_currentMouseTrackingPeer = 0;
//==============================================================================
static VoidArray keysCurrentlyDown;
bool KeyPress::isKeyCurrentlyDown (int keyCode)
bool KeyPress::isKeyCurrentlyDown (const int keyCode) throw()
{
if (keysCurrentlyDown.contains ((void*) keyCode))
return true;

View file

@ -443,7 +443,7 @@ void ModifierKeys::updateCurrentModifiers()
currentModifierFlags = currentModifiers;
}
bool KeyPress::isKeyCurrentlyDown (int keyCode)
bool KeyPress::isKeyCurrentlyDown (const int keyCode) throw()
{
SHORT k = (SHORT) keyCode;

View file

@ -346,6 +346,41 @@ void AudioSampleBuffer::addFrom (const int destChannel,
}
}
void AudioSampleBuffer::addFromWithRamp (const int destChannel,
const int destStartSample,
const float* source,
int numSamples,
float startGain,
const float endGain) throw()
{
jassert (destChannel >= 0 && destChannel < numChannels);
jassert (destStartSample >= 0 && destStartSample + numSamples <= size);
jassert (source != 0);
if (startGain == endGain)
{
addFrom (destChannel,
destStartSample,
source,
numSamples,
startGain);
}
else
{
if (numSamples > 0 && (startGain != 0.0f || endGain != 0.0f))
{
const float increment = (endGain - startGain) / numSamples;
float* d = channels [destChannel] + destStartSample;
while (--numSamples >= 0)
{
*d++ += startGain * *source++;
startGain += increment;
}
}
}
}
void AudioSampleBuffer::copyFrom (const int destChannel,
const int destStartSample,
const AudioSampleBuffer& source,

View file

@ -230,6 +230,24 @@ public:
int numSamples,
const float gainToApplyToSource = 1.0f) throw();
/** Adds samples from an array of floats, applying a gain ramp to them.
@param destChannel the channel within this buffer to add the samples to
@param destStartSample the start sample within this buffer's channel
@param source the source data to use
@param numSamples the number of samples to process
@param startGain the gain to apply to the first sample (this is multiplied with
the source samples before they are added to this buffer)
@param endGain the gain to apply to the final sample. The gain is linearly
interpolated between the first and last samples.
*/
void addFromWithRamp (const int destChannel,
const int destStartSample,
const float* source,
int numSamples,
float startGain,
float endGain) throw();
/** Copies samples from another buffer to this one.
@param destChannel the channel within this buffer to copy the samples to

View file

@ -72,9 +72,7 @@ Button::~Button()
if (commandManagerToUse != 0)
commandManagerToUse->removeListener (this);
if (repeatTimer != 0)
delete repeatTimer;
delete repeatTimer;
clearShortcuts();
}
@ -104,7 +102,7 @@ const String Button::getTooltip()
for (int i = 0; i < keyPresses.size(); ++i)
{
String key (keyPresses.getUnchecked(i).getTextDescription());
const String key (keyPresses.getUnchecked(i).getTextDescription());
if (key.length() == 1)
tt << " [shortcut: '" << key << "']";
@ -118,7 +116,7 @@ const String Button::getTooltip()
return SettableTooltipClient::getTooltip();
}
void Button::setConnectedEdges (const int connectedEdgeFlags_)
void Button::setConnectedEdges (const int connectedEdgeFlags_) throw()
{
if (connectedEdgeFlags != connectedEdgeFlags_)
{
@ -580,7 +578,7 @@ void Button::clearShortcuts()
parentHierarchyChanged();
}
bool Button::isShortcutPressed() const
bool Button::isShortcutPressed() const throw()
{
if (! isCurrentlyBlockedByAnotherModalComponent())
{

View file

@ -332,7 +332,7 @@ public:
LookAndFeel can choose to ignore it if it's not relevent for this type of
button.
*/
void setConnectedEdges (const int connectedEdgeFlags);
void setConnectedEdges (const int connectedEdgeFlags) throw();
/** Returns the set of flags passed into setConnectedEdges(). */
int getConnectedEdgeFlags() const throw() { return connectedEdgeFlags; }
@ -491,7 +491,7 @@ private:
Timer& getRepeatTimer() throw();
ButtonState updateState (const MouseEvent* const e) throw();
bool isShortcutPressed() const;
bool isShortcutPressed() const throw();
void turnOffOtherButtonsInGroup (const bool sendChangeNotification);
void flashButtonState() throw();

View file

@ -94,9 +94,11 @@ bool KeyPress::operator!= (const KeyPress& other) const throw()
return ! operator== (other);
}
bool KeyPress::isCurrentlyDown() const
bool KeyPress::isCurrentlyDown() const throw()
{
int modsMask = ModifierKeys::commandModifier | ModifierKeys::ctrlModifier | ModifierKeys::altModifier;
int modsMask = ModifierKeys::commandModifier
| ModifierKeys::ctrlModifier
| ModifierKeys::altModifier;
if (keyCode == KeyPress::downKey
|| keyCode == KeyPress::upKey
@ -153,7 +155,7 @@ static const KeyNameAndCode keyNameTranslations[] =
static const tchar* const numberPadPrefix = T("numpad ");
//==============================================================================
const KeyPress KeyPress::createFromDescription (const String& desc)
const KeyPress KeyPress::createFromDescription (const String& desc) throw()
{
int modifiers = 0;
@ -238,7 +240,7 @@ const KeyPress KeyPress::createFromDescription (const String& desc)
return KeyPress (key, ModifierKeys (modifiers), 0);
}
const String KeyPress::getTextDescription() const
const String KeyPress::getTextDescription() const throw()
{
String desc;
@ -294,4 +296,5 @@ const String KeyPress::getTextDescription() const
return desc;
}
END_JUCE_NAMESPACE

View file

@ -143,7 +143,7 @@ public:
@see getTextDescription
*/
static const KeyPress createFromDescription (const String& textVersion);
static const KeyPress createFromDescription (const String& textVersion) throw();
/** Creates a textual description of the key combination.
@ -152,7 +152,7 @@ public:
To store a keypress in a file, use this method, along with createFromDescription()
to retrieve it later.
*/
const String getTextDescription() const;
const String getTextDescription() const throw();
//==============================================================================
/** Checks whether the user is currently holding down the keys that make up this
@ -162,14 +162,14 @@ public:
down - e.g. if the keypress is CTRL+X and the user is actually holding CTRL+ALT+x
then it will be false.
*/
bool isCurrentlyDown() const;
bool isCurrentlyDown() const throw();
/** Checks whether a particular key is held down, irrespective of modifiers.
The values for key codes can either be one of the special constants defined in
this class, or an 8-bit character code.
*/
static bool isKeyCurrentlyDown (int keyCode);
static bool isKeyCurrentlyDown (int keyCode) throw();
//==============================================================================
// Key codes