Thanks Theo for all the help and info. I will try what you’ve mentioned further on.
With your help I’ve finished the simplest timer example of ofEvent I was able to make and this time without another class as in my previous post. This example is supposed to be very easy to read and understand. The previous code had a custom event in case anyone wants to learn them.
Thanks again forum! 
I’ll leave the code here in case anyone is stuck at the beginning of ofEvents. You will need the fingers.mov video from the videoPlayerExample. This was made in of_v0073_win_cb_release .
testApp.h
#pragma once
#include "ofMain.h"
class testApp : public ofBaseApp{
public:
void setup();
void update();
void draw();
void keyPressed(int key);
void keyReleased(int key);
void mouseMoved(int x, int y );
void mouseDragged(int x, int y, int button);
void mousePressed(int x, int y, int button);
void mouseReleased(int x, int y, int button);
void windowResized(int w, int h);
void dragEvent(ofDragInfo dragInfo);
void gotMessage(ofMessage msg);
// "string &eventStr" argument is currently
// necessary as I was unable to find ofEvent <void>
void reRunMovie(string &eventStr);
ofEvent <string> events;
ofVideoPlayer movie;
int currentMinute;
int currentSecond;
int lastMinute;
int lastSecond;
int eventTCounter;
};
testApp.cpp
#include "testApp.h"
//--------------------------------------------------------------
void testApp::setup(){
ofBackground(0,0,0);
movie.loadMovie("fingers.mov");
movie.setLoopState(OF_LOOP_NONE);
movie.play();
currentMinute = lastMinute = 0;
currentSecond = lastSecond = 0;
eventTCounter = 0;
// listen to any timer event
ofAddListener(events, this, &testApp::reRunMovie);
}
//--------------------------------------------------------------
void testApp::reRunMovie(string & eventStr){
movie.setFrame(0);
movie.play();
eventTCounter++;
// Console output of string sent from ofNotifyEvent(events, str, this);
cout << "Event triggered at timestamp: " << eventStr << endl;
// It is not necessary to do anything with the arguments
// but they have to be same as the type of ofEvent.
}
//--------------------------------------------------------------
void testApp::update(){
currentMinute = ofGetMinutes();
currentSecond = ofGetSeconds();
movie.update();
if (currentMinute != lastMinute ) {
string str = ofGetTimestampString();
ofNotifyEvent(events, str, this);
lastMinute = currentMinute;
lastSecond = currentSecond;
}
}
//--------------------------------------------------------------
void testApp::draw(){
movie.draw(20,65);
ofDrawBitmapString("Current Min:Sec // "+ofToString(currentMinute,2,'0')+":"+ofToString(currentSecond,2,'0'), 20, 15);
ofDrawBitmapString("Last Min:Sec // "+ofToString(lastMinute,2,'0')+":"+ofToString(lastSecond,2,'0'), 20, 30);
ofDrawBitmapString("Trigger Count: "+ofToString(eventTCounter), 20, 45);
ofDrawBitmapString("Video length : "+ofToString(movie.getDuration())+" minutes.", 20, 60);
if (movie.getIsMovieDone() == true){
ofDrawBitmapString("Video is not playing.", 20, 315);
} else {
ofDrawBitmapString("Video is playing.", 20, 315);
}
}
//--------------------------------------------------------------
void testApp::keyPressed (int key){
}
//--------------------------------------------------------------
void testApp::keyReleased(int key){
}
//--------------------------------------------------------------
void testApp::mouseMoved(int x, int y ){
}
//--------------------------------------------------------------
void testApp::mouseDragged(int x, int y, int button){
}
//--------------------------------------------------------------
void testApp::mousePressed(int x, int y, int button){
}
//--------------------------------------------------------------
void testApp::mouseReleased(int x, int y, int button){
}
//--------------------------------------------------------------
void testApp::windowResized(int w, int h){
}
//--------------------------------------------------------------
void testApp::gotMessage(ofMessage msg){
}
//--------------------------------------------------------------
void testApp::dragEvent(ofDragInfo dragInfo){
}