ccba6d73f9
Fix wrong use of Doxygen grouping-related markup which somehow worked in older Doxygen versions, but doesn't work any longer. This fixes the problem with the "Functions by Category" pages being empty in the resulting HTML documentation and wrong documentation being shown for a bunch of wxString members. This is a combined cherry-pick of the following master commits: bd92523bc5 Fix use of Doxygen @addtogroup command 4c46e01b14 Remove stray Doxygen end group marker 8ac10d28f8 Fix all the other comments with Doxygen grouping commands too c0f1ecf263 Fix another unbalanced Doxygen grouping command after last commit See #22248, #22572.
134 lines
4.1 KiB
Objective-C
134 lines
4.1 KiB
Objective-C
/////////////////////////////////////////////////////////////////////////////
|
|
// Name: sound.h
|
|
// Purpose: interface of wxSound
|
|
// Author: wxWidgets team
|
|
// Licence: wxWindows licence
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
#define wxSOUND_SYNC 0
|
|
#define wxSOUND_ASYNC 1
|
|
#define wxSOUND_LOOP 2
|
|
|
|
|
|
/**
|
|
@class wxSound
|
|
|
|
This class represents a short sound (loaded from Windows WAV file), that
|
|
can be stored in memory and played.
|
|
|
|
Currently this class is implemented on Windows and Unix and can use either
|
|
Open Sound System (OSS) or Simple DirectMedia Layer (SDL) under the latter.
|
|
Notice that OSS is not provided any more by most, and maybe even all,
|
|
Linux systems in 2017 and osspd (OSS Proxy Daemon) package typically needs
|
|
to be installed to make it work.
|
|
|
|
@library{wxcore}
|
|
@category{media}
|
|
*/
|
|
class wxSound : public wxObject
|
|
{
|
|
public:
|
|
/**
|
|
Default ctor.
|
|
*/
|
|
wxSound();
|
|
|
|
/**
|
|
Constructs a wave object from a file or, under Windows, from a Windows
|
|
resource. Call IsOk() to determine whether this succeeded.
|
|
|
|
@param fileName
|
|
The filename or Windows resource.
|
|
@param isResource
|
|
@true if fileName is a resource, @false if it is a filename.
|
|
*/
|
|
wxSound(const wxString& fileName, bool isResource = false);
|
|
|
|
/**
|
|
Constructs a wave object from in-memory data.
|
|
|
|
@param size
|
|
Size of the buffer pointer to by @a data.
|
|
@param data
|
|
The buffer containing the sound data in WAV format.
|
|
*/
|
|
wxSound(size_t size, const void* data);
|
|
|
|
/**
|
|
Destroys the wxSound object.
|
|
*/
|
|
virtual ~wxSound();
|
|
|
|
/**
|
|
Constructs a wave object from a file or resource.
|
|
|
|
@param fileName
|
|
The filename or Windows resource.
|
|
@param isResource
|
|
@true if fileName is a resource, @false if it is a filename.
|
|
|
|
@return @true if the call was successful, @false otherwise.
|
|
*/
|
|
bool Create(const wxString& fileName, bool isResource = false);
|
|
|
|
/**
|
|
Constructs a wave object from in-memory data.
|
|
|
|
@param size
|
|
Size of the buffer pointer to by @a data.
|
|
@param data
|
|
The buffer containing the sound data in WAV format.
|
|
*/
|
|
bool Create(size_t size, const void* data);
|
|
|
|
/**
|
|
Returns @true if the object contains a successfully loaded file or resource,
|
|
@false otherwise.
|
|
*/
|
|
bool IsOk() const;
|
|
|
|
/**
|
|
Returns @true if a sound is played at the moment.
|
|
|
|
This method is currently not available under Windows and may not be
|
|
always implemented in Unix ports depending on the compilation options
|
|
used (in this case it just always returns @false).
|
|
|
|
@onlyfor{wxgtk,wxosx}
|
|
*/
|
|
static bool IsPlaying();
|
|
|
|
///@{
|
|
/**
|
|
Plays the sound file. If another sound is playing, it will be interrupted.
|
|
|
|
Returns @true on success, @false otherwise. Note that in general it is
|
|
possible to delete the object which is being asynchronously played any time
|
|
after calling this function and the sound would continue playing, however this
|
|
currently doesn't work under Windows for sound objects loaded from memory data.
|
|
|
|
The possible values for @a flags are:
|
|
- wxSOUND_SYNC: @c Play will block and wait until the sound is replayed.
|
|
- wxSOUND_ASYNC: Sound is played asynchronously, @c Play returns immediately.
|
|
- wxSOUND_ASYNC|wxSOUND_LOOP: Sound is played asynchronously and loops
|
|
until another sound is played, Stop() is
|
|
called or the program terminates.
|
|
|
|
The static form is shorthand for this code:
|
|
@code
|
|
wxSound(filename).Play(flags);
|
|
@endcode
|
|
*/
|
|
bool Play(unsigned flags = wxSOUND_ASYNC) const;
|
|
static bool Play(const wxString& filename,
|
|
unsigned flags = wxSOUND_ASYNC);
|
|
///@}
|
|
|
|
/**
|
|
If a sound is played, this function stops it.
|
|
*/
|
|
static void Stop();
|
|
};
|
|
|