Skip to content

Commit

Permalink
Use Promise to get events/styles
Browse files Browse the repository at this point in the history
  • Loading branch information
TFSThiagoBR98 committed Feb 14, 2022
1 parent fe7258f commit 0795461
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 10 deletions.
2 changes: 2 additions & 0 deletions src/post-worker.js
Original file line number Diff line number Diff line change
Expand Up @@ -594,6 +594,7 @@ function onMessageFromMainEmscriptenThread(message) {
for (var i = 0; i < self.octObj.getEventCount(); i++) {
var evnt_ptr = self.octObj.track.get_events(i);
var event = {
_index: i,
Start: evnt_ptr.get_Start(),
Duration: evnt_ptr.get_Duration(),
ReadOrder: evnt_ptr.get_ReadOrder(),
Expand Down Expand Up @@ -636,6 +637,7 @@ function onMessageFromMainEmscriptenThread(message) {
for (var i = 0; i < self.octObj.getStyleCount(); i++) {
var styl_ptr = self.octObj.track.get_styles(i);
var style = {
_index: i,
Name: styl_ptr.get_Name(),
FontName: styl_ptr.get_FontName(),
FontSize: styl_ptr.get_FontSize(),
Expand Down
48 changes: 38 additions & 10 deletions src/subtitles-octopus.js
Original file line number Diff line number Diff line change
Expand Up @@ -88,8 +88,8 @@ var SubtitlesOctopus = function (options) {
// Worker
if (!self.worker) {
self.worker = new Worker(self.workerUrl);
self.worker.onmessage = self.onWorkerMessage;
self.worker.onerror = self.workerError;
self.worker.addEventListener('message', self.onWorkerMessage);
self.worker.addEventListener('error', self.workerError);
}
self.workerActive = false;
self.createCanvas();
Expand Down Expand Up @@ -387,13 +387,9 @@ var SubtitlesOctopus = function (options) {
break;
}
case 'get-events': {
console.log(data.target);
console.log(data.events);
break;
}
case 'get-styles': {
console.log(data.target);
console.log(data.styles);
break;
}
case 'ready': {
Expand Down Expand Up @@ -538,8 +534,24 @@ var SubtitlesOctopus = function (options) {
};

self.getEvents = function () {
self.worker.postMessage({
target: 'get-events'
return new Promise((resolve, reject) => {
try {
self.worker.onmessage = result => {
if (result.data.target == "get-events") {
resolve(result.data.events);
}
};

self.worker.onerror = error => {
reject(error);
};

self.worker.postMessage({
target: 'get-events'
});
} catch (error) {
reject(error);
}
});
};

Expand All @@ -566,8 +578,24 @@ var SubtitlesOctopus = function (options) {
};

self.getStyles = function () {
self.worker.postMessage({
target: 'get-styles'
return new Promise((resolve, reject) => {
try {
self.worker.onmessage = result => {
if (result.data.target == "get-styles") {
resolve(result.data.styles);
}
};

self.worker.onerror = error => {
reject(error);
};

self.worker.postMessage({
target: 'get-styles'
});
} catch (error) {
reject(error);
}
});
};

Expand Down

0 comments on commit 0795461

Please sign in to comment.