annotate ExplorePresetManager.h @ 52:89944ab3e129 tip

fix oF linker errors ios8
author Robert Tubb <rt300@eecs.qmul.ac.uk>
date Tue, 03 Feb 2015 13:18:23 +0000
parents d810aa9ca03a
children
rev   line source
rt300@6 1 //
rt300@6 2 // ExplorePresetManager.h
rt300@6 3 // riftathon
rt300@6 4 //
rt300@6 5 // Created by Robert Tubb on 16/10/2014.
rt300@6 6 //
rt300@6 7 // when people explore and find presets save them
rt300@6 8 // record audio
rt300@6 9 // can display images and text
rt300@6 10
rt300@6 11 //
rt300@6 12
rt300@6 13 #ifndef __riftathon__ExplorePresetManager__
rt300@6 14 #define __riftathon__ExplorePresetManager__
rt300@6 15
rt300@6 16 #include <iostream>
rt300@6 17 #include "presetManager.h"
rt300@18 18 #include "eventLogger.h"
rt300@18 19 #define MAX_PRESETS 8
rt300@6 20
rt300@18 21 extern EventLogger eventLogger;
rt300@18 22
rt300@18 23
rt300@18 24 template <typename T>
rt300@18 25 vector<T> makeVector8(T a1, T a2,T a3,T a4,T a5,T a6, T a7, T a8){
rt300@18 26
rt300@18 27 vector<T> vec;
rt300@18 28 vec.push_back(a1);
rt300@18 29 vec.push_back(a2);
rt300@18 30 vec.push_back(a3);
rt300@18 31 vec.push_back(a4);
rt300@18 32 vec.push_back(a5);
rt300@18 33 vec.push_back(a6);
rt300@18 34 vec.push_back(a7);
rt300@18 35 vec.push_back(a8);
rt300@18 36 return vec;
rt300@18 37 }
rt300@18 38 // preset slot is a preset with no values, waiting to become a real preset
rt300@18 39
rt300@18 40 class PresetSlot : public Preset{
rt300@18 41 public:
rt300@18 42 bool isFilled;
rt300@18 43
rt300@18 44
rt300@18 45 PresetSlot(vector<int> defaults,
rt300@18 46 string aname,
rt300@18 47 int aID,
rt300@18 48 string un,
rt300@18 49 unsigned int uid,
rt300@18 50 string imageFile = "")
rt300@18 51 : Preset(defaults, aname, aID, un, uid, imageFile)
rt300@18 52
rt300@18 53 {
rt300@18 54 isFilled = false;
rt300@18 55
rt300@18 56 name = aname;
rt300@18 57 creatorUserName = un;
rt300@18 58 creatorDeviceID = uid;
rt300@18 59 double timemsd = [NSDate timeIntervalSinceReferenceDate];
rt300@18 60 creationTime = (unsigned long long)(timemsd*1000);
rt300@18 61
rt300@18 62 //TODO color / texture?
rt300@18 63 imageFileName = imageFile;
rt300@18 64 if (imageFileName != ""){
rt300@18 65 iconView = new PresetIconView(name, imageFileName);
rt300@18 66 }
rt300@18 67
rt300@18 68 };
rt300@18 69
rt300@18 70 void setValues(vector<int> v){
rt300@18 71 CCValues = v;
rt300@18 72 double timemsd = [NSDate timeIntervalSinceReferenceDate];
rt300@18 73 creationTime = (unsigned long long)(timemsd*1000);
rt300@18 74 if (CCValues.size()){
rt300@18 75 isFilled = true;
rt300@18 76
rt300@18 77 }else{
rt300@18 78 isFilled = false;
rt300@18 79 }
rt300@18 80 }
rt300@18 81
rt300@18 82 };
rt300@18 83 //=====================================================================================
rt300@18 84 //=====================================================================================
rt300@6 85
rt300@6 86 class ExplorePresetManager : public PresetManager {
rt300@6 87
rt300@6 88 public:
rt300@18 89 void onAppLoad();
rt300@18 90 void goToFirstEmptySlot();
rt300@18 91 bool writeValuesToSlot(vector<int> values);
rt300@19 92 PresetSlot* getCurrentPresetSlot();
rt300@18 93 PresetSlot* getPresetSlotAtIndex(int index);
rt300@44 94 void nextSlot();
rt300@6 95 protected:
rt300@18 96
rt300@18 97 void initPresetSlots();
rt300@18 98
rt300@18 99 void fillSlotsWithLoadedPresets();
rt300@18 100 void fillSlotFromLoadedPreset(vector<PresetSlot *>::iterator psi, vector<Preset *>::iterator pi);
rt300@18 101 void generatePresetSlot(const string name, const string imagefn);
rt300@18 102
rt300@6 103 int filledSlots;
rt300@18 104 int currentPresetSlotIndex;
rt300@6 105 string presetSlotFilename;
rt300@18 106 vector<PresetSlot *> thePresetSlots;
rt300@6 107
rt300@6 108 vector<string> categories;
rt300@6 109 vector<string> names;
rt300@27 110
rt300@27 111
rt300@6 112 };
rt300@6 113
rt300@6 114 #endif /* defined(__riftathon__ExplorePresetManager__) */