Mercurial > hg > tweakathon2ios
view ExplorePresetManager.h @ 44:d810aa9ca03a
times. cosmetic stuff
author | Robert Tubb <rt300@eecs.qmul.ac.uk> |
---|---|
date | Mon, 15 Dec 2014 17:33:41 +0000 |
parents | 27cdf475aa4b |
children |
line wrap: on
line source
// // ExplorePresetManager.h // riftathon // // Created by Robert Tubb on 16/10/2014. // // when people explore and find presets save them // record audio // can display images and text // #ifndef __riftathon__ExplorePresetManager__ #define __riftathon__ExplorePresetManager__ #include <iostream> #include "presetManager.h" #include "eventLogger.h" #define MAX_PRESETS 8 extern EventLogger eventLogger; template <typename T> vector<T> makeVector8(T a1, T a2,T a3,T a4,T a5,T a6, T a7, T a8){ vector<T> vec; vec.push_back(a1); vec.push_back(a2); vec.push_back(a3); vec.push_back(a4); vec.push_back(a5); vec.push_back(a6); vec.push_back(a7); vec.push_back(a8); return vec; } // preset slot is a preset with no values, waiting to become a real preset class PresetSlot : public Preset{ public: bool isFilled; PresetSlot(vector<int> defaults, string aname, int aID, string un, unsigned int uid, string imageFile = "") : Preset(defaults, aname, aID, un, uid, imageFile) { isFilled = false; name = aname; creatorUserName = un; creatorDeviceID = uid; double timemsd = [NSDate timeIntervalSinceReferenceDate]; creationTime = (unsigned long long)(timemsd*1000); //TODO color / texture? imageFileName = imageFile; if (imageFileName != ""){ iconView = new PresetIconView(name, imageFileName); } }; void setValues(vector<int> v){ CCValues = v; double timemsd = [NSDate timeIntervalSinceReferenceDate]; creationTime = (unsigned long long)(timemsd*1000); if (CCValues.size()){ isFilled = true; }else{ isFilled = false; } } }; //===================================================================================== //===================================================================================== class ExplorePresetManager : public PresetManager { public: void onAppLoad(); void goToFirstEmptySlot(); bool writeValuesToSlot(vector<int> values); PresetSlot* getCurrentPresetSlot(); PresetSlot* getPresetSlotAtIndex(int index); void nextSlot(); protected: void initPresetSlots(); void fillSlotsWithLoadedPresets(); void fillSlotFromLoadedPreset(vector<PresetSlot *>::iterator psi, vector<Preset *>::iterator pi); void generatePresetSlot(const string name, const string imagefn); int filledSlots; int currentPresetSlotIndex; string presetSlotFilename; vector<PresetSlot *> thePresetSlots; vector<string> categories; vector<string> names; }; #endif /* defined(__riftathon__ExplorePresetManager__) */