Skip to content

Commit

Permalink
config.json から config.yaml を生成する際にコメントを追加する機能を削除
Browse files Browse the repository at this point in the history
  • Loading branch information
esperecyan committed Aug 3, 2019
1 parent 5e8e8d5 commit cca5b0f
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 52 deletions.
3 changes: 1 addition & 2 deletions readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -79,8 +79,7 @@ allow_direct_view: true

1. [バーチャルキャストを起動.js.cmd]を好きなフォルダに保存します。
2. `バーチャルキャストを起動.js.cmd` をダブルクリックして実行します。
3. `config.json` の内容をもとに `config.yaml` が作成された後、バーチャルキャストが起動します。
**※記述しているニコニ立体番号が多い場合、`config.yaml` の作成にしばらくかかります。**
3. `config.json` の内容をもとに `config.yaml` が作成された後、バーチャルキャストが起動します。
4. `config.yaml` が存在する場合、変換して `config.json` に上書き保存され、その後バーチャルキャストが起動します。
5. `VirtualCast.exe` を直接起動する代わりに、常に `バーチャルキャストを起動.js.cmd` からバーチャルキャストを起動するようにしておくと、
`config.json` の更新を意識せずにすむため便利です。
Expand Down
54 changes: 4 additions & 50 deletions バーチャルキャストを起動.js.cmd
Original file line number Diff line number Diff line change
Expand Up @@ -51,13 +51,6 @@ var INPUT_FILE_NAMES = ['config.yaml', 'config.yml'];
var UTF8_BOM_BYTES_LENGTH = 3;


/**
* ニコニ立体からタイトルを取得するときの間隔。
* @constant {DOMTimeStamp}
*/
var DELAY_MILISECONDS = 1000;



var FileSystemObject = WSH.CreateObject('Scripting.FileSystemObject');
var htmlfile = WSH.CreateObject('htmlfile');
Expand Down Expand Up @@ -280,49 +273,10 @@ if (inputFile) {
return;
}

var timeoutOccured = false;
var yamlString = jsyaml.safeDump(configJSON, {indent: 4, lineWidth: -1})
.replace(/^niconico:$/m, '$& # 利用するモデルのニコニ立体番号')
.replace(/^ {4}character_models:$/m, '$& # アバター (VRM)')
.replace(/^ {4}background_models:$/m, '$& # 背景 (glTF)')
.replace(/^panorama:\n {4}urls:$/m, '$& # 背景で使うパノラマ画像のURL')
.replace(/^whiteboard:\n {4}urls:$/m, '$& # ホワイトボードで使用する画像のURL')
.replace(/^cue_card:\n {4}urls:$/m, '$& # カンペで使用する画像のURL')
.replace(/^mode: /m, '# 起動モード\n$&')
.replace(/^allow_direct_view: /m, '# ダイレクトビューモードで凸を受け入れるかどうか\n$&')
.replace(/^hide_camera_from_viewers: /m, '# カメラのオブジェクトを視聴者から隠すかどうか\n$&')
.replace(/^persistent_object:$/m, '$& # スタジオ内に持ち込む画像のURL')
.replace(/^ {4}image_urls:$/m, '$& # 視聴者に見せる')
.replace(/^ {4}hidden_image_urls:$/m, '$& # 視聴者に見せない')
.replace(/^ {8}- ([0-9]+)$/gm, function (match, number) {
var url = 'https://3d.nicovideo.jp/works/td' + number;
var comment = '<' + url + '>';
if (!timeoutOccured) {
WSH.Sleep(DELAY_MILISECONDS);
var client = WSH.CreateObject('Msxml2.ServerXMLHTTP');
client.open('GET', url + '/components.json', false);
client.setTimeouts(5000, 5000, 5000, 5000);
try {
client.send();
} catch (e) {
timeoutOccured = true;
}

if (client.status === 200) {
var components;
try {
components = JSON.parse(client.responseText);
} catch (exception) {
}
if (components && components.work && components.work.title) {
comment = components.work.title + ' ' + comment;
}
}
}
return match + ' # ' + comment;
});

putFileContents(INPUT_FILE_NAMES[0], yamlString.replace(/\n/g, '\r\n'));
putFileContents(
INPUT_FILE_NAMES[0],
jsyaml.safeDump(configJSON, {indent: 4, lineWidth: -1}).replace(/\n/g, '\r\n')
);
} else {
Shell.Popup([OUTPUT_FILE_NAME].concat(INPUT_FILE_NAMES).map(function (name) {
return '「' + name + '」';
Expand Down

0 comments on commit cca5b0f

Please sign in to comment.