mavsdk::Tune Class Reference
#include: tune.h
Enable creating and sending a tune to be played on the system.
Data Structures
struct TuneDescription
Public Types
Type | Description |
---|---|
enum SongElement | An element of the tune. |
enum Result | Possible results returned for tune requests. |
std::function< void(Result)> ResultCallback | Callback type for asynchronous Tune calls. |
Public Member Functions
Type | Name | Description |
---|---|---|
Tune (System & system) | Constructor. Creates the plugin for a specific System. | |
Tune (std::shared_ptr< System > system) | Constructor. Creates the plugin for a specific System. | |
~Tune () override | Destructor (internal use only). | |
Tune (const Tune & other) | Copy constructor. | |
void | play_tune_async (TuneDescription tune_description, const ResultCallback callback) | Send a tune to be played by the system. |
Result | play_tune (TuneDescription tune_description)const | Send a tune to be played by the system. |
const Tune & | operator= (const Tune &)=delete | Equality operator (object is not copyable). |
Constructor & Destructor Documentation
Tune()
mavsdk::Tune::Tune(System &system)
Constructor. Creates the plugin for a specific System.
The plugin is typically created as shown below:
auto tune = Tune(system);
Parameters
- System& system - The specific system associated with this plugin.
Tune()
mavsdk::Tune::Tune(std::shared_ptr< System > system)
Constructor. Creates the plugin for a specific System.
The plugin is typically created as shown below:
auto tune = Tune(system);
Parameters
- std::shared_ptr< System > system - The specific system associated with this plugin.
~Tune()
mavsdk::Tune::~Tune() override
Destructor (internal use only).
Tune()
mavsdk::Tune::Tune(const Tune &other)
Copy constructor.
Parameters
- const Tune& other -
Member Typdef Documentation
typedef ResultCallback
using mavsdk::Tune::ResultCallback = std::function<void(Result)>
Callback type for asynchronous Tune calls.
Member Enumeration Documentation
enum SongElement
An element of the tune.
Value | Description |
---|---|
StyleLegato |
After this element, start playing legato. |
StyleNormal |
After this element, start playing normal. |
StyleStaccato |
After this element, start playing staccato. |
Duration1 |
After this element, set the note duration to 1. |
Duration2 |
After this element, set the note duration to 2. |
Duration4 |
After this element, set the note duration to 4. |
Duration8 |
After this element, set the note duration to 8. |
Duration16 |
After this element, set the note duration to 16. |
Duration32 |
After this element, set the note duration to 32. |
NoteA |
Play note A. |
NoteB |
Play note B. |
NoteC |
Play note C. |
NoteD |
Play note D. |
NoteE |
Play note E. |
NoteF |
Play note F. |
NoteG |
Play note G. |
NotePause |
Play a rest. |
Sharp |
After this element, sharp the note (half a step up). |
Flat |
After this element, flat the note (half a step down). |
OctaveUp |
After this element, shift the note 1 octave up. |
OctaveDown |
After this element, shift the note 1 octave down. |
enum Result
Possible results returned for tune requests.
Value | Description |
---|---|
Unknown |
Unknown result. |
Success |
Request succeeded. |
InvalidTempo |
Invalid tempo (range: 32 - 255). |
TuneTooLong |
Invalid tune: encoded string must be at most 247 chars. |
Error |
Failed to send the request. |
NoSystem |
No system connected. |
Member Function Documentation
play_tune_async()
void mavsdk::Tune::play_tune_async(TuneDescription tune_description, const ResultCallback callback)
Send a tune to be played by the system.
This function is non-blocking. See 'play_tune' for the blocking counterpart.
Parameters
- TuneDescription tune_description -
- const ResultCallback callback -
play_tune()
Result mavsdk::Tune::play_tune(TuneDescription tune_description) const
Send a tune to be played by the system.
This function is blocking. See 'play_tune_async' for the non-blocking counterpart.
Parameters
- TuneDescription tune_description -
Returns
Result - Result of request.
operator=()
const Tune& mavsdk::Tune::operator=(const Tune &)=delete
Equality operator (object is not copyable).
Parameters
- const Tune& -
Returns
const Tune & -