1 #pragma once 2 3 #include <QHash> 4 #include <QString> 5 #include <QVector> 6 7 #include "proto/keys.pb.h" 8 #include "track/keys.h" 9 10 class KeyFactory { 11 public: 12 static Keys loadKeysFromByteArray(const QString& keysVersion, 13 const QString& keysSubVersion, 14 QByteArray* keysSerialized); 15 16 static Keys makeBasicKeys(mixxx::track::io::key::ChromaticKey global_key, 17 mixxx::track::io::key::Source source); 18 19 static Keys makeBasicKeysFromText(const QString& global_key_text, 20 mixxx::track::io::key::Source source); 21 22 static QString getPreferredVersion(); 23 24 static QString getPreferredSubVersion( 25 const QHash<QString, QString>& extraVersionInfo); 26 27 static Keys makePreferredKeys( 28 const KeyChangeList& key_changes, 29 const QHash<QString, QString>& extraVersionInfo, 30 const int iSampleRate, const int iTotalSamples); 31 }; 32