Skip to content

Commit

Permalink
Merge branch 'develop'
Browse files Browse the repository at this point in the history
  • Loading branch information
xjbeta committed Jul 15, 2023
2 parents f2f699b + abea128 commit a06899c
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 38 deletions.
6 changes: 6 additions & 0 deletions DanmakuWeb/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,12 @@ iina.onMessage("pauseChanged", (t) => {
iina.onMessage("close", () => {
cm.clear;
cm.stop;
window._provider.destroy();
ws.onclose = function(){};
ws.close();
rawUrl = undefined;
dmType = undefined;
updateStatus('');
});

function bind() {
Expand Down
4 changes: 2 additions & 2 deletions Info.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
{
"name": "Danmaku",
"identifier": "com.xjbeta.danmaku",
"version": "0.1.6",
"ghVersion": 3,
"version": "0.1.7",
"ghVersion": 4,
"ghRepo": "xjbeta/iina-plugin-danmaku",
"description": "IINA Danmaku",
"author": {
Expand Down
56 changes: 20 additions & 36 deletions main.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,11 @@ let iinaPlusArgsKey = 'iinaPlusArgs=';
var iinaPlusOpts;
var optsParsed = false;

var danmakuWebLoaded = false;
var overlayShowing = false;
var overlayLoaded = false;
var mpvPaused = false;
var danmakuWebInited = false;

var stopped = true;

function print(str) {
console.log('[' + instanceID + '] ' + str);
};
Expand All @@ -41,7 +39,6 @@ function hideOverlay(osc=true) {

function loadXMLFile(path) {
print('loadXMLFile.' + 'path: ' + path);
loadDanmaku();
const content = iina.file.read(path);
return stringToHex(content);
};
Expand Down Expand Up @@ -72,7 +69,7 @@ function parseOpts() {
let scriptOpts = mpv.getString('script-opts').split(',');

let iinaPlusValue = scriptOpts.find(s => s.startsWith(iinaPlusArgsKey));
if (iinaPlusValue && !stopped) {
if (iinaPlusValue && !danmakuWebInited) {
optsParsed = true;

let opts = JSON.parse(hexToString(iinaPlusValue.substring(iinaPlusArgsKey.length)));
Expand All @@ -81,16 +78,12 @@ function parseOpts() {
mpv.command('loadfile', [opts.urls[opts.currentLine], 'replace', opts.mpvScript]);
iinaPlusOpts = opts;
iinaPlusOpts.mpvScript = undefined;
switch(opts.type) {
case 0: // 0 ws
case 1: // 1 xmlFile
loadDanmaku();
break;
default: // 2 none
break;
};

initMenuItems();

if (overlayLoaded) {
initDanmakuWeb();
};
};
};

Expand All @@ -107,7 +100,10 @@ function initMenuItems() {
'xmlPath': path,
'type': 1
};
loadDanmaku();

if (overlayLoaded) {
initDanmakuWeb();
};
}));

danmakuMenuItem.addSubMenuItem(menu.separator());
Expand Down Expand Up @@ -181,20 +177,12 @@ function requestNewUrl(quality, line) {
})
};

function loadDanmaku() {
// if (!danmakuWebLoaded) {
// print('loadDanmaku');
// overlay.loadFile("DanmakuWeb/index.htm");
// danmakuWebLoaded = true;
// };
};

function unloadDanmaku() {
// if (danmakuWebLoaded) {
// print('unloadDanmaku');
// overlay.simpleMode();
// danmakuWebLoaded = false;
// };
function stopDanmaku() {
print('stopDanmaku');
overlay.postMessage("close", {});
danmakuWebInited = false;
setObserver(false);
};

function initDanmakuWeb() {
Expand Down Expand Up @@ -245,29 +233,26 @@ function initDanmakuWeb() {
};



iina.event.on("iina.window-loaded", () => {
print('iina.window-loaded');

overlay.loadFile("DanmakuWeb/index.htm");
danmakuWebLoaded = true;
});

iina.event.on("iina.plugin-overlay-loaded", () => {
print('iina.plugin-overlay-loaded');
overlayLoaded = true;
initDanmakuWeb();
});

iina.event.on("iina.window-will-close", () => {
print('iina.window-will-close');
stopped = true;
iinaPlusOpts = undefined;
optsParsed = false;
removeOpts();
unloadDanmaku();
stopDanmaku();
overlayShowing = false;
mpvPaused = false;
danmakuWebInited = false;

});

iina.event.on("iina.pip.changed", (pip) => {
Expand All @@ -277,7 +262,6 @@ iina.event.on("iina.pip.changed", (pip) => {

iina.event.on("iina.file-started", () => {
print('iina.file-started');
stopped = false;
let e = iina.preferences.get('enableIINAPLUSOptsParse');

if (e != 0 && mpv.getString('path') == "-") {
Expand Down Expand Up @@ -312,7 +296,7 @@ function setObserver(start) {
};
};

if (start && !mpvPaused && danmakuWebLoaded && danmakuWebInited && overlayShowing) {
if (start && !mpvPaused && overlayLoaded && danmakuWebInited && overlayShowing) {
print('Start Observers.');
stop();
if (iinaPlusOpts.type == 1) {
Expand All @@ -324,7 +308,7 @@ function setObserver(start) {
overlay.postMessage("resizeWindow", {});
});
initObserverValues();
} else if (!start && (mpvPaused || !danmakuWebLoaded || !overlayShowing)) {
} else if (!start && (mpvPaused || !overlayShowing || !danmakuWebInited)) {
print('Stop Observers.');
stop();
};
Expand Down

0 comments on commit a06899c

Please sign in to comment.