libosmscout 0.1
Loading...
Searching...
No Matches
osmscout::AvailableVoicesModel Class Reference

List model with voices available by configured providers (see Settings::GetVoiceProviders). More...

#include <AvailableVoicesModel.h>

+ Inheritance diagram for osmscout::AvailableVoicesModel:

Public Types

enum  Roles {
  NameRole = Qt::UserRole , LangRole = Qt::UserRole + 1 , GenderRole = Qt::UserRole + 2 , LicenseRole = Qt::UserRole + 3 ,
  DirectoryRole = Qt::UserRole + 4 , AuthorRole = Qt::UserRole + 5 , DescriptionRole = Qt::UserRole + 6 , StateRole = Qt::UserRole + 7 ,
  TypeRole = Qt::UserRole + 8 , LangCodeRole = Qt::UserRole + 9
}
 
enum  VoiceState { Available , Downloading , Downloaded }
 

Public Slots

void listDownloaded (const VoiceProvider &provider, QNetworkReply *)
 
void onVoiceStateChanged (const AvailableVoice &voice)
 
void reload ()
 

Signals

void loadingChanged ()
 

Public Member Functions

 AvailableVoicesModel ()
 
Q_INVOKABLE QVariant data (const QModelIndex &index, int role) const override
 
Q_INVOKABLE void download (const QModelIndex &index)
 
Q_INVOKABLE Qt::ItemFlags flags (const QModelIndex &index) const override
 
QString getFetchError ()
 
bool isLoading ()
 
Q_INVOKABLE void remove (const QModelIndex &index)
 
QHash< int, QByteArray > roleNames () const override
 
Q_INVOKABLE int rowCount (const QModelIndex &parent=QModelIndex()) const override
 
Q_INVOKABLE QString stateStr (VoiceState state) const
 
virtual ~AvailableVoicesModel ()
 

Properties

QString fetchError
 
bool loading
 

Detailed Description

List model with voices available by configured providers (see Settings::GetVoiceProviders).

Every voice provider have to expose list of voices by json. Two voice types are supported, distinguished by the "type" property.

"VoiceOfMarble" - pre-recorded ogg sample pack. Json format example:

[
 {
   "type": "VoiceOfMarble",
   "lang": "American English",
   "gender": "female",
   "name": "Alex",
   "license": "CC-By-SA 3.0",
   "dir": "American English - Alex (female)",
   "author": "Alex Spehr",
   "description": "American English speaker"
 }
]

"Piper" - Piper TTS voice (onnx model + json config). "dir" is the server directory, "model" and "metadata" are server-relative paths. Json format example:

[
 {
   "type": "Piper",
   "dir": "Piper/ar/ar_JO/kareem/medium",
   "metadata": "Piper/ar/ar_JO/kareem/medium/ar_JO-kareem-medium.onnx.json",
   "model": "Piper/ar/ar_JO/kareem/medium/ar_JO-kareem-medium.onnx",
   "license": "MIT",
   "lang_code": "ar_JO",
   "lang": "Arabic (Jordan)",
   "name": "kareem"
 }
]

Member Enumeration Documentation

◆ Roles

Enumerator
NameRole 
LangRole 
GenderRole 
LicenseRole 
DirectoryRole 
AuthorRole 
DescriptionRole 
StateRole 
TypeRole 
LangCodeRole 

◆ VoiceState

Enumerator
Available 
Downloading 
Downloaded 

Constructor & Destructor Documentation

◆ AvailableVoicesModel()

◆ ~AvailableVoicesModel()

osmscout::AvailableVoicesModel::~AvailableVoicesModel ( )
virtual

Member Function Documentation

◆ data()

◆ download()

void osmscout::AvailableVoicesModel::download ( const QModelIndex &  index)

◆ flags()

Qt::ItemFlags osmscout::AvailableVoicesModel::flags ( const QModelIndex &  index) const
override

◆ getFetchError()

QString osmscout::AvailableVoicesModel::getFetchError ( )
inline

◆ isLoading()

bool osmscout::AvailableVoicesModel::isLoading ( )
inline

◆ listDownloaded

void osmscout::AvailableVoicesModel::listDownloaded ( const VoiceProvider &  provider,
QNetworkReply *  reply 
)
slot

◆ loadingChanged

void osmscout::AvailableVoicesModel::loadingChanged ( )
signal

Referenced by listDownloaded(), and reload().

◆ onVoiceStateChanged

void osmscout::AvailableVoicesModel::onVoiceStateChanged ( const AvailableVoice voice)
slot

◆ reload

void osmscout::AvailableVoicesModel::reload ( )
slot

◆ remove()

void osmscout::AvailableVoicesModel::remove ( const QModelIndex &  index)

◆ roleNames()

QHash< int, QByteArray > osmscout::AvailableVoicesModel::roleNames ( ) const
override

◆ rowCount()

int osmscout::AvailableVoicesModel::rowCount ( const QModelIndex &  parent = QModelIndex()) const
override

◆ stateStr()

QString osmscout::AvailableVoicesModel::stateStr ( VoiceState  state) const

References Available, Downloaded, and Downloading.

Property Documentation

◆ fetchError

QString osmscout::AvailableVoicesModel::fetchError
read

Referenced by listDownloaded(), and reload().

◆ loading

bool osmscout::AvailableVoicesModel::loading
read

The documentation for this class was generated from the following files: