finally i had some success regarding interacting between c++ and java script. i can send and receive numbers with EM_ASM. i still wonder if (and how) it is possible to do that with strings, arrays or even audio and video files…
#include "ofApp.h"
#include "emscripten.h"
//----------------------------------------------------------------
void ofApp::setup(){
}
//--------------------------------------------------------------
void ofApp::update(){
}
//--------------------------------------------------------------
void ofApp::draw(){
EM_ASM_({
console.log('I send: ' + $0);
document.getElementById("display_time").textContent = Number($0).toFixed(2);
}, ofGetElapsedTimef());
int size = EM_ASM_INT({
console.log('I received size: ' + document.getElementById("slider_size").value);
return document.getElementById("slider_size").value;
});
int blue = EM_ASM_INT({
console.log('I received blue: ' + document.getElementById("slider_blue").value);
return document.getElementById("slider_blue").value;
});
int t = ofGetElapsedTimef();
ofSetColor(t % 255, t % 255, blue);
ofRectangle rect;
rect.x = 10;
rect.y = 10;
rect.width = size;
rect.height = size;
ofDrawRectangle(rect);
}
//--------------------------------------------------------------
void ofApp::keyPressed(int key){
}
//--------------------------------------------------------------
void ofApp::keyReleased(int key){
}
//--------------------------------------------------------------
void ofApp::mouseMoved(int x, int y ){
}
//--------------------------------------------------------------
void ofApp::mouseDragged(int x, int y, int button){
}
//--------------------------------------------------------------
void ofApp::mousePressed(int x, int y, int button){
}
//--------------------------------------------------------------
void ofApp::mouseReleased(int x, int y, int button){
}
//--------------------------------------------------------------
void ofApp::mouseEntered(int x, int y){
}
//--------------------------------------------------------------
void ofApp::mouseExited(int x, int y){
}
//--------------------------------------------------------------
void ofApp::windowResized(int w, int h){
}
//--------------------------------------------------------------
void ofApp::gotMessage(ofMessage msg){
}
//--------------------------------------------------------------
void ofApp::dragEvent(ofDragInfo dragInfo){
}
here is a test: