約 4,412,176 件
https://w.atwiki.jp/xboxonescore/pages/152.html
CastleStorm Definitive Edition 項目数:46 総ポイント:1000 難易度:★★☆☆☆ 感度が設定できないため繊細な操作が苦手な人は苦労します。 http //www.xboxachievements.com/game/castlestorm-definitive-edition/achievements/ About to Get Real Unlocked Dark Forest in the Campaign mode.キャンペーンモードで「暗黒の森」を出現させよう。 20 Vikings Gonna Vike Unlocked Kingskeep in the Campaign mode.キャンペーンモードで「王の天守」を出現させよう。 20 Jewel Heist Unlocked Donkey Island in the Campaign mode.キャンペーンモードで「ロバの島」を出現させよう。 20 Saddle Up Your Donkeys Unlocked Ore Mine in the Campaign mode.キャンペーンモードで「鉱山」を出現させよう。 20 This Mine Is My Mine Unlocked Creek Crossing in the Campaign mode.キャンペーンモードで「小川の横断」を出現させよう。 30 Clear Eyes Full Hearts Unlocked Mountain Entrance in the Campaign mode.キャンペーンモードで「山の入口」を出現させよう。 30 Rock Blocked Unlocked Mountain Passage in the Campaign mode.キャンペーンモードで「山の通り道」を出現させよう。 30 Northern Exposure Unlocked Viking Border in the Campaign mode.キャンペーンモードで「バイキングとの境界」を出現させよう。 30 A Fistful of Hammers Unlocked Norsheim in the Campaign mode.キャンペーンモードで「ノルスハイム」を出現させよう。 35 The Family Business Unlocked Troll Village in the Campaign mode.キャンペーンモードで「トロルの村」を出現させよう。 35 Friends in Large Places Unlocked Bladgard in the Campaign mode.キャンペーンモードで「ブラッドガルド」を出現させよう。 35 Peace... Forever? Finished the Campaign mode.キャンペーンモードを終了する。 40 All-Star Reached 100% completion in Campaign mode by obtaining all the stars.すべてのスターを獲得して、キャンペーンモードで達成率100%を目指そう。 25 Angry Demolition You destroyed 3 enemy rooms with one shot.1回の射撃で敵の部屋を3つ破壊する。 15 Budding Architect Battle won using a custom castle built in the Castle Editor.ゲームモードを問わず、城エディタで作ったカスタムの城で戦闘に勝利する。 15 Upgrayedded Upgraded a troop, projectile, spell or bonus room to its maximum level.ゲームモードを問わず、軍隊、飛び道具、呪文、またはボーナス部屋を最大レベルまでアップグレードする。 20 Hard Hat Area Enemy troop killed by collapsing his own castle on him.ゲームモードを問わず敵の頭上で敵の城を崩壊させ、軍隊を倒す。 15 Eagle Eye Flag carrier killed with a Homing Eagle.ゲームモードを問わず、「ホーミングイーグル」を使って敵の旗持ちを倒す。 15 Return to Sender Enemy troop killed by a deflected projectile of his own side.ゲームモードを問わず、敵の放った飛び道具を跳ね返して敵の軍隊を倒す。 15 Ten Heads Made 10 headshot kills in a row.ゲームモードを問わず、連続10ヘッドショットを達成する。 20 Troll Hunter Killed a troll with a hero.ゲームモードを問わず、英雄でトロルを倒す。 15 Dragon Slayer Killed a dragon with a hero.ゲームモードを問わず、英雄でドラゴンを倒す。 20 Crowd Control x5 or higher multikill reached.5倍以上の複数キルを獲得します。 15 Dropping Like Flies x10 or higher killing streak reached.10倍以上の連続キルを獲得します。 15 Fight in the Shade Shot 30 or more javelins within a shooting frenzy.大乱射中に最低30のやりを投げます。 15 Here I Am Finished an Xbox Live ranked match.Xbox LIVEのランクマッチを終了させます。 15 Taste of Victory Won an Xbox Live ranked match.Xbox LIVEのランクマッチで勝利します。 20 Fear No One Won an Xbox Live ranked match against a player with higher multiplayer level.Xbox LIVEのランクマッチで自分よりも高いマルチプレイヤー ランクを持つプレイヤーに勝利します。 25 Survival Honor Posted result on every Single-Player Survival leaderboard.すべてのシングルプレイヤー サバイバルランキングに結果を投稿します。 30 Against the Machine You won a Skirmish battle on the most difficult AI setting.もっとも難しいAI設定でスカーミッシュバトルに勝利します。 15 Chip Off the Old Block Won the King s Tournament with the mystery knight.謎の騎士で王のトーナメントに優勝する。 15 Princesslessness Held back all the attackers in the Shiny Forest.シャインフォレストにて、攻撃をすべて食い止める。 20 Princess Rescued Rescued the Princess from the city of Stonecrest.ストーンクレストの街から王女を救出します。 20 Flight to Vikingland Secured the Royal Airport and got a flight to Vikingland.バイキングの国への飛行便を確保するため、王宮の飛行場を守る。 20 LZ Secured Captured the Skyship Harbor of Vikingland.バイキングの国のスカイシップハーバーを奪取する。 20 Monster Killer Killed the monster protecting Bladgard.ブラッドガルドを守っているモンスターを倒す。 20 Royal Revenge Defeated the final boss of the Royal Guard campaign.近衛兵キャンペーンの最終ボスを倒す。 30 Superstar Earned all the stars of the Royal Guard campaign.近衛兵キャンペーンですべてのスターを獲得する。 15 Prison Breaker Escaped from the prison of Vikingland.バイキングランドの牢獄から逃げた。 15 This is My Town! Liberated Norsheim.ノースハイムを解放した。 15 Throwing Like a Girl Proved yourself a worthy leader in the Battle Arena.バトルアリーナの価値あるリーダーとして証明した。 15 Unwelcome Arrival Captured the Royal Airport.ロイヤルエアポートを奪った。 25 No Kingdom for the Old Man Secured King Edgar s safety.エドガー王の安全を守った。 25 Fate of Traitors You defeated the traitor s army at Stonecrest.裏切り者の軍隊をストーンクレスで破った。 25 For My Father Defeated the final boss of the Viking Elites campaign.バイキングエリートキャンペーンの最後のボスを打ち負かした。 30 Megastar Earned all the stars of the Viking Elites campaign.バイキングエリートキャンペーンの星を全て獲得した。 20 Angry Demolition https //youtu.be/qKc0TR8Szts Budding Architect お城のエディットからお城を創り保存。 保存したお城でステージクリアすれば解除されます。 Upgrayedded 武器、軍隊、呪文のいずれか一つを最大レベルにする。 レベルは最大で15まであり、普通に遊んでれば解除される。 Ten Heads キャンペーンのRoyal ArenaからMelee Masteryのミッションにて 敵兵士を弓でヘッドショットすれば解除される。 https //www.youtube.com/watch?v=XdepfyyeDt8 Megastar キャンペーンの全ての星を取る。 このゲームで最も難しく、ハードモードでのプレイを強要される。 https //www.youtube.com/watch?v=ccEQS5Jhs9s list=PL8eF-Qf_UGLQj8-YlaDNdVYKTOPIJ-Vql
https://w.atwiki.jp/altmcws/pages/19.html
This page explains various roles in the regular meeting. It also provides script and tips. Useful files are also available at Public Downloads. When you are assigned to a speech, be sure to bring your manuals to allow your evaluator to write a written evaluation for you. 1. Club Bylaws 2. Competent Communication Manual (Objectives) 3. Competent leadership Manual 4. Advanced Manuals (Descriptions) 5. Scripts (Timer, Vote Counter, GRAHCO) 6. Tips for Table Topics Master 7. Tips on Evaluation 8. Agenda Sample (Members Only Downloads) 9. Tips forTMOD (Members Only Downloads) 10. Glossary 11. You Can t Talk About That 12. Rules, Guidelines, Shopping - Introduction of TI Site Description 1. Club Bylaws These bylaws and constitution are used by all toastmasters club worldwide. 2. Competent Communication Manual (List of objectives) 3. Competent leadership Manual Read page 58 of your Competent Communication Manual on Communication and Leadership Tracks. This explains how to use the above two manuals includedin the new member kit. Members should bring two manuals everytime they serve a role. 4. Advanced Manuals Read page 76 of your Competent Communication Manual Upon completion of the first ten projects of Competent Communication Manual you will acquire the title CC (Competent Communicater) and be entitled to choose two manuals from 15 advanced manuals. The fees for the first two advanced manuals are included in your original payment on your application for membership. 5. Scripts Your first roles in the meeting will be invocation (Mission of the club, Thought of the day, vote counter, timer, and perhaps later GRAHCO (gra-cou). You will be requested to give an explanation of your role by TMOD (tea-mode Toastmaster Of The Day) at the start of the meeting. Feel free to modify these scripts (except for the Mission of the Club) to create your own version. When you are TMOD, and need to call a member, call the person as Toastmaster so and so - rather than TM (tea-em) so and so - even though the abbreviation may be used on the agenda. On the other hand GRAHCO and TMOD are acronyms and used as such. TMOD is preferably called Toastmaster or Madam Toastmaster typically at the start or end of a speech. Toastmaster of the Day is also used for this purpose. 6. Tips for Tabletopics Master To make your session most exciting. 7. Tips on Evaluation For a positive and effective evaluation. 8. Agenda Sample This file is at the Members Only Downloads. * This sample can be used for overwriting when you are TMOD 9. Tips for TMOD This file is at the Members Only Downloads. Please find * TMOD_duties_as_of_909.pdf . 10. Glossary 11. You Can t Talk About That! Members often tell us that other Toastmasters have told them that speeches concerning politics, religion and sex are forbidden by Toastmasters International because such controversial subjects are not appropriate. This is not true. Toastmasters International does not prohibit any speech topic, content or language. Toastmasters International recognizes club members may learn much about the world around them from listening to others’speeches on a variety of subjects. This variety can add interest to club meetings and stimulate thoughts and ideas. For these reasons, Toastmasters International does not place restrictions on topics, content, or language of any speeches. It also recognizesthat a club is a diverse group of people and recommends members be sensitive to this diversity and use good taste and responsibility when selecting speech topics, content, and language. While Toastmasters International has no restrictions, a club may guide its nembers on how to observe good taste and sensitivity in the context of that particular club. (from TIPS, toastmasters Bimonthly Magazine)
https://w.atwiki.jp/bacon_egg/pages/26.html
/* Problem B Make Purse Light 制作時間 2010/4/24 17 01~2010/4/24 17 21 (20分) 作者 コリンク ID s7509413 [解き方] まず素直にincludeなどの定形文を書いた。 硬貨の種類が違っても同じような処理をするだろうから、配列による逐次処理が有効だろうと思った。 で、硬貨には枚数と価値があるから構造体がいいだろうと思った。 後はSAMPLE INPUTに合わせてインタフェースを作り、処理を記述した。 途中で使用する硬貨の枚数を記録する変数も欲しくなり、shiyouメンバを追加した。 難易度は低く感じた。 */ #include cstdio #defineKOUKA_SHURUI4 #defineKOUKA_KACHI{10, 50, 100, 500} struct kouka_t{ int maisu,/* 硬貨の枚数 */ kachi,/* 硬貨の価値 */ shiyou;/* 使用する硬貨の枚数 */ }; void setKoukaKachi(struct kouka_t *obj){/* 硬貨の価値を設定 */ int temp[] = KOUKA_KACHI, i; for(i = 0; i KOUKA_SHURUI; ++i){ obj[i].kachi = temp[i]; } return; } int main(int argc, char *argv[]){ int pay;/* 支払い代金 */ struct kouka_t kouka[KOUKA_SHURUI];/* 持っている硬貨 */ int i; int sum; bool flagLoopExit; setKoukaKachi(kouka);/* 硬貨の価値を設定 */ while(true){ scanf("%d", pay);/* 支払い代金入力 */ if(pay = 0 || pay % kouka[0].kachi != 0){ break; }/* 0で終了 */ for(i = 0; i KOUKA_SHURUI; ++i){ scanf("%d", kouka[i].maisu);/* 硬貨の枚数入力 */ kouka[i].shiyou = 0; } /* 価値が低い順から硬貨を追加し、合計を支払い代金以上とする。 */ sum = 0; flagLoopExit = false; for(i = 0; i KOUKA_SHURUI !flagLoopExit; ++i){ while(kouka[i].maisu 0){ sum += kouka[i].kachi; --kouka[i].maisu; ++kouka[i].shiyou; if(sum = pay){ flagLoopExit = true; break; } } if(flagLoopExit){ break; } } /* 結果表示 */ for(i = 0; i KOUKA_SHURUI; ++i){ if(kouka[i].shiyou){ printf("%d %d\n", kouka[i].kachi, kouka[i].shiyou); } } puts(""); } return 0; }
https://w.atwiki.jp/mandemoari/pages/253.html
File 8 http //hissi.org/read.php/news/20081025/ZkRVc0trb2w.html 【GK路頭に迷う】 ソニーが大規模なリストラを示唆 244 : 紅茶鑑定士(アラバマ州)[]:2008/10/25(土) 11 50 32.56 ID fDUsKkol 電機連合並の賃金にすりゃみんな残れる りんご県担当者「登録料払い忘れた」農水省「はい、取消」で24年の歳月と開発費2億4千万がパーに 324 : 紅茶鑑定士(アラバマ州)[]:2008/10/25(土) 12 03 13.44 ID fDUsKkol 青森のクズどもに金やっても意味ないってことだよ あそこら一帯、滅びたほうがいいね ブラジャー、毎日替えますか? 958 : 紅茶鑑定士(アラバマ州)[]:2008/10/25(土) 12 28 17.07 ID fDUsKkol メスくさいスレだなあ さっさと埋めよう はまつまみの恋愛相談室。 30 : 紅茶鑑定士(アラバマ州)[]:2008/10/25(土) 12 32 32.85 ID fDUsKkol はまつまみ、生存確認w 高校進学で、男子校に行く奴って馬鹿なんじゃないの? 390 : 紅茶鑑定士(アラバマ州)[]:2008/10/25(土) 17 20 09.33 ID fDUsKkol 男子校て本気で嫌だったわ スイーツ(笑)な女の子と一緒のが楽しいし うちの高校は駅弁理系に進むのが多かったから一生女に縁ないやつもいそうで哀れ 日本共産党 × 生協 × 中国共産党 24 : 紅茶鑑定士(アラバマ州)[]:2008/10/25(土) 17 26 39.15 ID fDUsKkol 中国共産党とズブズブなのは層化だから。 日共なんて他の党と大差ない関係しか持ってないのにデマ流すやつがいるんだよなー 母子家庭9割が「生活苦しくなった」 113 : 紅茶鑑定士(アラバマ州)[]:2008/10/25(土) 17 37 14.51 ID fDUsKkol 旦那が病気や災害で亡くなったら生命保険入るだろ。 5000万入ってくるとして10年は戦えるなのに、9割の人は全部使っちゃったのかね。 やっぱ女は長期的視野に欠けるからダメだね。 <伝染るんです>カップヌードル、紙容器がアダに 261 : 紅茶鑑定士(アラバマ州)[]:2008/10/25(土) 17 43 23.28 ID fDUsKkol 先代のイメージが良かっただけにがっかり度も高い しばらくマルちゃんしか買わないことにしよう 駅前にあると嬉しいもの 32 : 紅茶鑑定士(アラバマ州)[]:2008/10/25(土) 17 47 34.85 ID fDUsKkol アフィ指南所 【ウヨ驚愕】朝鮮学校に対する不当な差別撤回、処遇改善を求める署名運動 3カ月で34万余人集まる! 387 : 紅茶鑑定士(アラバマ州)[]:2008/10/25(土) 17 52 22.91 ID fDUsKkol 電話帳丸写ししただけかw 野田聖子はいつ辞めるんだ 178 : 紅茶鑑定士(アラバマ州)[]:2008/10/25(土) 17 58 27.50 ID fDUsKkol 169 昔の悪代官そのまんまだな 岐阜の田舎者は次落とすよう民度を高めてくれ 投資物件選びのポイント 812 : 紅茶鑑定士(アラバマ州)[sage]:2008/10/25(土) 17 59 09.15 ID fDUsKkol ?-2BP(7261) sssp //img.2ch.net/ico/anime_sasuga03.gif 811 よろしくお願いいたします 東海理化、力尽きる 116 : 紅茶鑑定士(アラバマ州)[]:2008/10/25(土) 18 02 47.11 ID fDUsKkol みかちゃんが加藤なんかと別れて俺の嫁になりますように。 「○×中はアホ」 学テの結果を正直に発表した知事に、担当教育委員会「子供が傷つくので発表やめろ!」 64 : 紅茶鑑定士(アラバマ州)[]:2008/10/25(土) 18 17 45.66 ID fDUsKkol 子持ちのマンション選びじゃレベル高い学区かどうかってのも重要ポイント レベル高いところはどんどん高くなってるよね 日本人が好きなパスタ。 カルボナーラ>ミートソース 225 : 紅茶鑑定士(アラバマ州)[]:2008/10/25(土) 18 26 47.94 ID fDUsKkol パスタってセンターグリルのスパランチでしか食わない http //blog-imgs-17.fc2.com/s/h/i/shinyasyokudou/310-004.jpg 恐慌の最中だがなんとしても消費税増税を実行しなければならない 河村長官 131 : 紅茶鑑定士(アラバマ州)[]:2008/10/25(土) 18 31 07.70 ID fDUsKkol 消費税増税してもいいよ 厚生年金だらだら上げるのやめてくれ 今月から4万→4万6千になって泣きそうだ 【内定者の皆さん(´・ω・`)ノ コンニチハー】来年度女性採用予定者の個人情報がダダ漏れ【明●安●生命】 120 : 紅茶鑑定士(アラバマ州)[]:2008/10/25(土) 19 19 05.68 ID fDUsKkol これはちょっと見たい 日本人が好きなパスタ。 カルボナーラ>ミートソース 318 : 紅茶鑑定士(アラバマ州)[]:2008/10/25(土) 19 25 10.06 ID fDUsKkol たらこって昭和バブル臭がしてやだな 40代若作りババアが食ってるイメージ 投資物件選びのポイント 822 : 紅茶鑑定士(アラバマ州)[sage]:2008/10/25(土) 19 31 30.65 ID fDUsKkol ?-2BP(7261) sssp //img.2ch.net/ico/anime_sasuga03.gif 820 秋刀魚がおすすめ、今日は69円だった! 本日10月25日21時にガイジンが山手線でハロウィンパーテー 324 : 紅茶鑑定士(アラバマ州)[]:2008/10/25(土) 19 34 00.57 ID fDUsKkol ?-2BP(7262) sssp //img.2ch.net/ico/anime_sasuga03.gif スティッカムで実況するツワモノはおらんのかね ブラジャー、毎日替えますか? 993 : 紅茶鑑定士(アラバマ州)[sage]:2008/10/25(土) 20 01 04.33 ID fDUsKkol あと7 994 : 紅茶鑑定士(アラバマ州)[sage]:2008/10/25(土) 20 01 18.80 ID fDUsKkol あと6 996 : 紅茶鑑定士(アラバマ州)[sage]:2008/10/25(土) 20 01 29.97 ID fDUsKkol あと5 997 : 紅茶鑑定士(アラバマ州)[sage]:2008/10/25(土) 20 01 57.78 ID fDUsKkol ν速に女はいらない 998 : 紅茶鑑定士(アラバマ州)[sage]:2008/10/25(土) 20 02 09.95 ID fDUsKkol ν速に女はいらない 999 : 紅茶鑑定士(アラバマ州)[sage]:2008/10/25(土) 20 02 36.73 ID fDUsKkol ν速に女はいらない 1000 : 紅茶鑑定士(アラバマ州)[sage]:2008/10/25(土) 20 02 44.73 ID fDUsKkol ν速に女はいらない 【内定者の皆さん(´・ω・`)ノ コンニチハー】来年度女性採用予定者の個人情報がダダ漏れ【明●安●生命】 256 : 紅茶鑑定士(アラバマ州)[]:2008/10/25(土) 20 05 02.21 ID fDUsKkol 裏2ちゃん出入禁止になってた トレントでクレ 思い出す、学生時代のお昼休みの光景。みんなとわいわい楽しく仲良く食事してたあの光景 175 : 紅茶鑑定士(アラバマ州)[]:2008/10/25(土) 20 42 13.21 ID fDUsKkol 日吉のバカ大生は駅の反対側には来ないでね 群れてでかい声出しやがってうるせーんだよ 【画像有り】もしかしたら 北朝鮮の女って日本の女よりも綺麗なんじゃないか? 45 : 紅茶鑑定士(アラバマ州)[]:2008/10/25(土) 20 43 51.03 ID fDUsKkol うちの街でもチョゴリ着たチョン校生のレベルが一番高かったからね 南のブサとは違うよ 投資物件選びのポイント 848 : 紅茶鑑定士(アラバマ州)[sage]:2008/10/25(土) 20 44 53.24 ID fDUsKkol ?-2BP(7272) sssp //img.2ch.net/ico/anime_sasuga03.gif 843 頂けませんでしょうか 【格差社会】東京23区の小学六年生の37%が中学受験を予定。全国では13.2% 32 : 紅茶鑑定士(アラバマ州)[]:2008/10/25(土) 20 49 38.67 ID fDUsKkol 神奈川は劣悪 庶民感覚とズレている首相は必要か 69 : 紅茶鑑定士(アラバマ州)[]:2008/10/25(土) 21 03 46.23 ID fDUsKkol 29 毎晩酒飲んで何が悪いんだ カトリックの神父さんが首相になればいいのか 【台湾】馬政権と中国に謝罪を求めて60万人が反中デモ 90 : 紅茶鑑定士(アラバマ州)[]:2008/10/25(土) 21 27 42.49 ID fDUsKkol 馬英九は強敵だと思ってたんだが案外ヘタレで本当に良かった 投資物件選びのポイント 873 : 紅茶鑑定士(アラバマ州)[sage]:2008/10/25(土) 21 38 45.67 ID fDUsKkol ?-2BP(7272) sssp //img.2ch.net/ico/anime_sasuga03.gif あ 881 : 紅茶鑑定士(アラバマ州)[sage]:2008/10/25(土) 21 39 32.62 ID fDUsKkol ?-2BP(7272) sssp //img.2ch.net/ico/anime_sasuga03.gif おお 893 : 紅茶鑑定士(アラバマ州)[sage]:2008/10/25(土) 21 40 20.65 ID fDUsKkol ?-2BP(7272) sssp //img.2ch.net/ico/anime_sasuga03.gif あ 901 : 紅茶鑑定士(アラバマ州)[sage]:2008/10/25(土) 21 41 05.60 ID fDUsKkol ?-2BP(7272) sssp //img.2ch.net/ico/anime_sasuga03.gif ほぇー 宮崎あおいの収入は5億数千万円! 224 : 紅茶鑑定士(アラバマ州)[]:2008/10/25(土) 21 51 09.60 ID fDUsKkol こうなると金村くんが殺されたのはこいつが動いたから?って勘ぐりたくもなる 無料で送れる広告付き年賀状、tipoca(ティポカ)の受付開始 22 : 紅茶鑑定士(アラバマ州)[]:2008/10/25(土) 22 01 23.97 ID fDUsKkol 年賀状交換って見栄張りがやることだろ タダの年賀状とか無いと思うんだけどね 投資物件選びのポイント 914 : 紅茶鑑定士(アラバマ州)[sage]:2008/10/25(土) 22 02 15.17 ID fDUsKkol ?-2BP(7272) sssp //img.2ch.net/ico/anime_sasuga03.gif ラストショット! 何で男の人ってHする前は一緒にシャワー入りたがるくせに終わったら1人でそそくさと入るんですかぁ? 76 : 紅茶鑑定士(アラバマ州)[]:2008/10/25(土) 22 05 28.63 ID fDUsKkol おっさんになって数年前に初めて夢精したんだがあれほど気持ちよいものはないな 早くからセックスなんてし始めなきゃよかったと後悔 痴漢でっちあげ男に懲役5年6ヶ月。女も同じぐらいぶち込め 163 : 紅茶鑑定士(アラバマ州)[]:2008/10/25(土) 22 07 37.61 ID fDUsKkol 阪田真紀子にも実刑を食らわせたいねー 誰?山田さやか「お父さんは元ヤクザ」 どうでもいい。 12 : 紅茶鑑定士(アラバマ州)[]:2008/10/25(土) 22 09 32.76 ID fDUsKkol 6 こりゃまた酷いブスですね 加えて育ちも悪いって、どんな人に支持されてんのよ 【高知】「地産地消」認知22ポイント上昇 8割が「高知県内産」意識 5 : 紅茶鑑定士(アラバマ州)[sage]:2008/10/25(土) 22 29 01.83 ID fDUsKkol ?-2BP(7272) sssp //img.2ch.net/ico/anime_sasuga03.gif 並びます 焼き鳥は塩。タレとか言う奴を見かけるとぶん殴りたくなる。 52 : 紅茶鑑定士(アラバマ州)[]:2008/10/25(土) 22 37 38.71 ID fDUsKkol どっちでもいい 店のオヤジが旨いと思ったほうで出してくれればいい 投資物件選びのポイント 931 : 紅茶鑑定士(アラバマ州)[]:2008/10/25(土) 22 40 56.86 ID fDUsKkol ?-2BP(7272) sssp //img.2ch.net/ico/anime_sasuga03.gif 7777にしてください ν速プログラミング愛好会 22 : 紅茶鑑定士(アラバマ州)[]:2008/10/25(土) 22 48 04.45 ID fDUsKkol PHPはユダヤ人の国のもんだからダメだ 投資物件選びのポイント 948 : 紅茶鑑定士(アラバマ州)[sage]:2008/10/25(土) 22 56 38.03 ID fDUsKkol ?-2BP(7272) sssp //img.2ch.net/ico/anime_sasuga03.gif 全然崩されない余裕まんまん 951 : 紅茶鑑定士(アラバマ州)[sage]:2008/10/25(土) 22 58 59.60 ID fDUsKkol ?-2BP(7273) sssp //img.2ch.net/ico/anime_sasuga03.gif あれ? 957 : 紅茶鑑定士(アラバマ州)[sage]:2008/10/25(土) 23 03 04.74 ID fDUsKkol ?-2BP(7277) sssp //img.2ch.net/ico/anime_sasuga03.gif o(´□`o)これはありがとうというべきですね、ぽんぽん! ν速プログラミング愛好会 58 : 紅茶鑑定士(アラバマ州)[]:2008/10/25(土) 23 04 13.95 ID fDUsKkol ?-2BP(7277) sssp //img.2ch.net/ico/anime_sasuga03.gif 57 voidのくせにねぇ 只今携帯版でFOMA冬モデルの…いろいろ公開中 107 : 紅茶鑑定士(アラバマ州)[]:2008/10/25(土) 23 07 10.32 ID fDUsKkol 83 willcom 03 の使いまわし? 投資物件選びのポイント 963 : 紅茶鑑定士(アラバマ州)[sage]:2008/10/25(土) 23 08 56.89 ID fDUsKkol ?-2BP(7277) sssp //img.2ch.net/ico/anime_sasuga03.gif 近鉄で好きだった選手はピッチャーの神部 ν速プログラミング愛好会 83 : 紅茶鑑定士(アラバマ州)[]:2008/10/25(土) 23 28 25.43 ID fDUsKkol ?-2BP(7277) sssp //img.2ch.net/ico/anime_sasuga03.gif 例外のキャッチってどこでキャッチすんのか?になんない? GOTOはダメでキャッチがいいってのが理解できないよ 只今携帯版でFOMA冬モデルの…いろいろ公開中 219 : 紅茶鑑定士(アラバマ州)[]:2008/10/25(土) 23 37 33.95 ID fDUsKkol 217 ソフトが同じFのがいいだろ いわゆる半身浴の効能についておまえらの知るところを教えてほしい 6 : 紅茶鑑定士(アラバマ州)[]:2008/10/25(土) 23 38 50.30 ID fDUsKkol やりすぎると顔面滝汗人間になるからやめとけ アメリカ人のうちの1400万人「ニグロの大統領は嫌」 3000万人「黒んぼじゃない事は重要」 53 : 紅茶鑑定士(アラバマ州)[]:2008/10/25(土) 23 42 12.55 ID fDUsKkol 民主党の大統領は反日だらけだから負け印に頑張って欲しい ν速プログラミング愛好会 112 : 紅茶鑑定士(アラバマ州)[]:2008/10/25(土) 23 46 53.72 ID fDUsKkol ポインタなんてアセンブラ勉強すればすぐわかるよ 只今携帯版でFOMA冬モデルの…いろいろ公開中 286 : 紅茶鑑定士(アラバマ州)[]:2008/10/25(土) 23 55 53.53 ID fDUsKkol 283 ITブラック四天王に任せるって酷くないですか?
https://w.atwiki.jp/sicpstudygroup/pages/90.html
SICP naga Exercise 5.7 (define expt-a (make-machine (continue n b val) (list (list = =) (list - -) (list * *)) (machine (assign continue (label expt-done)) expt-loop (test (op =) (reg n) (const 0)) (branch (label immediate-answer)) (save continue) (assign continue (label afterexpt)) (assign n (op -) (reg n) (const 1)) (goto (label expt-loop)) afterexpt (restore continue) (assign val (op *) (reg b) (reg val)) (goto (reg continue)) immediate-answer (assign val (const 1)) (goto (reg continue)) expt-done) )) (set-register-contents! expt-a b 2) (set-register-contents! expt-a n 5) (start expt-a) ;;gosh (get-register-contents expt-a val) ;;32 (define expt-b (make-machine (counter product n b) (list (list = =) (list - -) (list * *)) (machine (assign counter (reg n)) (assign product (const 1)) expt-loop (test (op =) (reg counter) (const 0)) (branch (label expt-done)) (assign counter (op -) (reg counter) (const 1)) (assign product (op *) (reg b) (reg product)) (goto (label expt-loop)) expt-done) )) (set-register-contents! expt-b b 2) (set-register-contents! expt-b n 6) (start expt-b) ;;gosh (get-register-contents expt-b product) ;;64 Exercise 5.8 (define ex5.8 (make-machine (a) (list ()) (start (goto (label here)) here (assign a (const 3)) (goto (label there)) here (assign a (const 4)) (goto (label there)) there) )) (start ex5.8) ;;gosh (get-register-contents ex5.8 a) ;;3 ;;; extract-labels で同じラベルがあるかどうかチェックする。 (define (extract-labels text receive) (if (null? text) (receive () ()) (extract-labels (cdr text) (lambda (insts labels) (let ((next-inst (car text))) (if (symbol? next-inst) (let ((p (assoc next-inst labels))) (if p (error "Duplicate label -- ASSEMBLE" next-inst) (receive insts (cons (make-label-entry next-inst insts) labels)))) (receive (cons (make-instruction next-inst) insts) labels))))))) ;;gosh (define ex5.8 ;; (make-machine ;; (a) ;; (list ()) ;; (start ;; (goto (label here)) ;; here ;; (assign a (const 3)) ;; (goto (label there)) ;; here ;; (assign a (const 4)) ;; (goto (label there)) ;; there) ;; )) ;;*** ERROR Duplicate label -- ASSEMBLE here Exercise 5.9 ;;; make-operation-exp で operand が label の時はエラーとする。 (define (make-operation-exp exp machine labels operation) (let ((op (lookup-prim (operation-exp-op exp) operation)) (aprocs (map (lambda (e) (if (label-exp? e) (error "Operations can be used only with registers and constants -- ASSEMBLE" exp) (make-primitive-exp e machine labels))) (operation-exp-operands exp)))) (lambda () (apply op (map (lambda (p) (p)) aprocs))))) (define ex5.9 (make-machine (a) (list (list + +)) (l (assign a (op +) (label l) (const 1)) ) )) ;;gosh (load "ex5_9") ;;*** ERROR Operations can be used only with registers and constants -- ASSEMBLE ((op +) (label l) (const 1)) Exercise 5.10 ;;; syntax って assembler の変更で対応できる範囲という事でいいのかな? ;;; という事で、 ;;; label にオフセット(省略可)を指定できるように syntax を変更する。 ;;; (label label-name ) - (label label-name offset ) ;;; ;;; offset が + の時は、label-name から求めた inst を進める。 ;;; - の時は2つのポインタを使い、controller-text の最初に ;;; 強制的に埋め込んだ label位置に ポインタを設定し、一方を ;;; -offset だけ進めた後、label-name から 求めた inst に先に ;;; 進めたポインタがたどり着くまで2つのポインタを進める。 (define (assemble controller-text machine) (set! contoller-text (cons **main** controller-text)) (extract-labels controller-text (lambda (insts labels) (update-insts! insts labels machine) insts))) (define (label-exp-label exp) (cdr exp)) ;label-exp-lable-expb (define (label-name label-expb) (car label-expb)) (define (label-offset label-expb) (cond ((null? (cdr label-expb)) 0) ((number? (cadr label-expb)) (cadr label-expb)) (else (error "Offset must be number -- LABEL-EXPB" label-expb)))) (define (lookup-label labels label-expb) (define (forward insts n) (if (= n 0) insts (if (null? (cdr insts)) (error "Out of range -- ASSEMLBE" label-expb) (forward (cdr insts) (- n 1))))) (define (forward2 insts lead target) (if (eq? lead target) insts (if (null? (cdr lead)) (error "Out of range -- ASSEMBLE" label-expb) (forward2 (cdr insts) (cdr lead) target)))) (let ((name (label-name label-expb)) (offset (label-offset label-expb)) (insts ())) (let ((val (assoc name labels))) (if val (set! insts (cdr val)) (error "Undefined label -- ASSEMBLE" name))) (if ( = offset 0) (forward insts offset) (let ((ip (cdr (assoc **main** labels)))) (forward2 ip (forward ip (* offset -1)) insts))))) ;; test program (define ex5.10 (make-machine (a continue) (list (list + +) (list display display) (list newline newline)) (ex5.10 (assign a (const 0)) (assign continue (label t1e)) (goto (label s)) t1e (assign a (const 0)) (assign continue (label t2e)) (goto (label s -1)) t2e (assign a (const 0)) (assign continue (label t3e)) (goto (label s 1)) t3e (goto (label ex5.10.done)) ; (assign a (op +) (reg a) (const 1)) s (assign a (op +) (reg a) (const 1)) (assign a (op +) (reg a) (const 1)) (perform (op display) (reg a)) (perform (op newline)) (goto (reg continue)) ; ex5.10.done) )) ;;gosh (start ex5.10) ;;2 ;;3 ;;1 ;;done Exercise 5.11 ;;; a ;;; afterfib-n-2 の直後の ;;; (assign n (reg val)) (restore val) ;;; を ;;; (restore n) ;;; としても同じ結果を得ることができる。 ;;; b と c ;;; stack の方法を stack-mode に保持する。 ;;; a オリジナル b レジスタチェック c レジスタ毎のスタック (define stack-mode a) ;;; register にスタックを設ける。 (define (make-register name) (let ((contents *unassigned*) (stack (make-stack))) (define (dispatch message) (cond ((eq? message get) contents) ((eq? message set) (lambda (value) (set! contents value))) ((eq? message pop) (stack pop)) ((eq? message push) (stack push)) ((eq? message initialize) (stack initialize)) (else error "Unknown request -- REGISTER" message))) dispatch)) ;;; make-new-machine のオペレーション定義 initialize-stack を変更 (list initialize-stack (cond ((eq? stack-mode c) (lambda () (for-each (lambda (regpair) ((cdr regpair) initialize)) register-table))) (else (lambda () (stack initialize))))) ;;; make-save の変更 (define (make-save inst machine stack pc labels) (let ((reg (get-register machine (stack-inst-reg-name inst)))) (lambda () (cond ((eq? stack-mode a) (push stack (get-contents reg))) ((eq? stack-mode b) (push stack (get-contents reg)) (push stack (stack-inst-reg-name inst))) ((eq? stack-mode c) (push reg (get-contents reg)))) (advance-pc pc)))) ;;; make-retore の変更 (define (make-restore inst machine stack pc labels) (let ((reg (get-register machine (stack-inst-reg-name inst)))) (lambda () (cond ((eq? stack-mode a) (set-contents! reg (pop stack))) ((eq? stack-mode b) (let ((reg-name (pop stack))) (if (equal? reg-name (stack-inst-reg-name inst)) (set-contents! reg (pop stack)) (error "Pop-value was saved from " reg-name inst)))) ((eq? stack-mode c) (set-contents! reg (pop reg)))) (advance-pc pc)))) ;;; b の test program (define ex5.11.b (make-machine (a b) (list (list display display) (list newline newline)) (ex5.11.b (assign a (const 11)) (save a) (restore a) (perform (op display) (reg a)) (perform (op newline)) (save a) (restore b) (perform (op display) (reg b)) (perform (op newline)) ) )) ;;gosh (start ex5.11.b) ;;11 ;;*** ERROR Pop-value was saved from a (restore b) ;;Stack Trace ;;; c の test program (define ex5.11.c (make-machine (a b) (list (list display display) (list newline newline)) (ex5.11.c (assign a (const 1)) (assign b (const 2)) (save a) (save b) (assign a (const 10)) (assign b (const 10)) (restore a) (restore b) (perform (op display) (reg a)) (perform (op newline)) (perform (op display) (reg b)) (perform (op newline)) ) )) ;;gosh (start ex5.11.c) ;;1 ;;2 Exercise 5.12 ;;; make-new-machine の dispatch に以下を追加 ((eq? message insts) the-instruction-sequence) ;;; コマンド追加 (define (static-analyze machine) (s-analyze (machine insts))) ;;; insts から重複のない instuction text listを得る。 (define (unique insts) (let ((uinstsl ())) (for-each (lambda (inst) (if (not (member (instruction-text inst) uinstsl)) (set! uinstsl (cons (instruction-text inst) uinstsl)))) insts) uinstsl)) (define (analyze-report-inst title keys) (display title) (newline) (for-each (lambda (key) (display " ") (display (car key)) (newline) (for-each (lambda (text) (display " ") (display text) (newline)) (rsort (cdr key)))) (rsort keys))) (define (analyze-report-reg title regs) (display title) (newline) (for-each (lambda (reg) (display " ") (display reg)) (rsort regs)) (newline)) ;;; リストをソートする。 (define (rsort items) (sort items (lambda (x y) (= (comp x y) -1)))) (define (comp x y) (cond ((and (null? x) (null? y)) 0) ((null? x) -1) ((null? y) 1) ((and (number? x) (number? y)) (compare x y)) ((number? x) -1) ((number? y) 1) ((and (string? x) (string? y)) (compare x y)) ((string? x) -1) ((string? y) 1) ((and (symbol? x) (symbol? y)) (compare (symbol- string x) (symbol- string y))) ((symbol? x) -1) ((symbol? y) 1) ((and (pair? x) (pair? y)) (let ((f (comp (car x) (car y)))) (if (= f 0) (comp (cdr x) (cdr y)) f))) (else 1) )) (define (s-analyze insts) (let ((analyze-1 ()) ; instructions (analyze-2 ()) ; registers refed by goto (analyze-3 ()) ; registers saved or restored (analyze-4 ())) ; assign instructions (for-each (lambda (text) (let ((insttype (assoc (car text) analyze-1))) (if (not insttype) (begin (set! insttype (cons (car text) ())) (set! analyze-1 (cons insttype analyze-1)))) (set-cdr! insttype (cons text (cdr insttype)))) (if (and (eq? (car text) goto) (register-exp? (goto-dest text))) (set! analyze-2 (cons (register-exp-reg (goto-dest text)) analyze-2))) (if (or (eq? (car text) save) (eq? (car text) restore)) (let ((reg (memq (stack-inst-reg-name text) analyze-3))) (if (not reg) (set! analyze-3 (cons (stack-inst-reg-name text) analyze-3))))) (if (eq? (car text) assign) (let ((reg (assoc (assign-reg-name text) analyze-4))) (if (not reg) (begin (set! reg (cons (assign-reg-name text) ())) (set! analyze-4 (cons reg analyze-4)))) (set-cdr! reg (cons text (cdr reg))))) ) (unique insts)) (analyze-report-inst ";;Instructions" analyze-1) (analyze-report-reg ";;Regs-refed-by-goto" analyze-2) (analyze-report-reg ";;Regs-refed-by-save-restore" analyze-3) (analyze-report-inst ";;Regs-source" analyze-4) )) ;; test program (define fib (make-machine (continue n val) (list (list ) (list - -) (list + +)) (machine (assign continue (label fib-done)) fib-loop (test (op ) (reg n) (const 2)) (branch (label immediate-answer)) ;; set up to compute Fib(n - 1) (save continue) (assign continue (label afterfib-n-1)) (save n) ; save old value of n (assign n (op -) (reg n) (const 1)); clobber n to n - 1 (goto (label fib-loop)) ; perform recursive call afterfib-n-1 ; upon return, val contains Fib(n - 1) (restore n) (restore continue) ;; set up to compute Fib(n - 2) (assign n (op -) (reg n) (const 2)) (save continue) (assign continue (label afterfib-n-2)) (save val) ; save Fib(n - 1) (goto (label fib-loop)) afterfib-n-2 ; upon return, val contains Fib(n - 2) (assign n (reg val)) ; n now contains Fib(n - 2) (restore val) ; val now contains Fib(n - 1) (restore continue) (assign val ; Fib(n - 1) + Fib(n - 2) (op +) (reg val) (reg n)) (goto (reg continue)) ; return to caller, answer is in val immediate-answer (assign val (reg n)) ; base case Fib(n) = n (goto (reg continue)) fib-done) )) ;;gosh (static-analyze fib) ;;;;Instructions ;; assign ;; (assign continue (label afterfib-n-1)) ;; (assign continue (label afterfib-n-2)) ;; (assign continue (label fib-done)) ;; (assign n (op -) (reg n) (const 1)) ;; (assign n (op -) (reg n) (const 2)) ;; (assign n (reg val)) ;; (assign val (op +) (reg val) (reg n)) ;; (assign val (reg n)) ;; branch ;; (branch (label immediate-answer)) ;; goto ;; (goto (label fib-loop)) ;; (goto (reg continue)) ;; restore ;; (restore continue) ;; (restore n) ;; (restore val) ;; save ;; (save continue) ;; (save n) ;; (save val) ;; test ;; (test (op ) (reg n) (const 2)) ;;;;Regs-refed-by-goto ;; continue ;;;;Regs-refed-by-save-restore ;; continue n val ;;;;Regs-source ;; continue ;; (assign continue (label afterfib-n-1)) ;; (assign continue (label afterfib-n-2)) ;; (assign continue (label fib-done)) ;; n ;; (assign n (op -) (reg n) (const 1)) ;; (assign n (op -) (reg n) (const 2)) ;; (assign n (reg val)) ;; val ;; (assign val (op +) (reg val) (reg n)) ;; (assign val (reg n)) Exercise 5.13 ;;; make-new-machine の内部定義手続き lookup-register を register ;;; が見つからなかったら作るよう変更する。 (define (lookup-register name) (let ((val (assoc name register-table))) (if val (cadr val) (begin (allocate-register name) (lookup-register name))))) ;; test program (define expt-b (make-machine () (list (list = =) (list - -) (list * *)) (machine (assign counter (reg n)) (assign product (const 1)) expt-loop (test (op =) (reg counter) (const 0)) (branch (label expt-done)) (assign counter (op -) (reg counter) (const 1)) (assign product (op *) (reg b) (reg product)) (goto (label expt-loop)) expt-done) )) (set-register-contents! expt-b b 2) (set-register-contents! expt-b n 6) ;;gosh (start expt-b) ;;done ;;gosh (get-register-contents expt-b product) ;;64 Exercise 5.14 (define n! (make-machine (continue n val) (list (list = =) (list - -) (list * *)) (machine (assign continue (label fact-done)) ; set up final return address fact-loop (test (op =) (reg n) (const 1)) (branch (label base-case)) ;; Set up for the recursive call by saving n and continue. ;; Set up continue so that the computation will continue ;; at after-fact when the subroutine returns. (save continue) (save n) (assign n (op -) (reg n) (const 1)) (assign continue (label after-fact)) (goto (label fact-loop)) after-fact (restore n) (restore continue) (assign val (op *) (reg n) (reg val)) ; val now contains n(n - 1)! (goto (reg continue)) ; return to caller base-case (assign val (const 1)) ; base case 1! = 1 (goto (reg continue)) ; return to caller fact-done) )) (define (ex5.14 num) (define (iter c) (if ( c num) done (begin ((n! stack) initialize) (set-register-contents! n! n c) (start n!) (format #t "n ~2d n! ~8d" c (get-register-contents n! val)) (display " ") ((n! stack) print-statistics) (iter (+ c 1))))) (iter 1)) ;;gosh (ex5.14 10) ;;n 1 n! 1 (total-pushes = 0 maximum-depth = 0) ;;n 2 n! 2 (total-pushes = 2 maximum-depth = 2) ;;n 3 n! 6 (total-pushes = 4 maximum-depth = 4) ;;n 4 n! 24 (total-pushes = 6 maximum-depth = 6) ;;n 5 n! 120 (total-pushes = 8 maximum-depth = 8) ;;n 6 n! 720 (total-pushes = 10 maximum-depth = 10) ;;n 7 n! 5040 (total-pushes = 12 maximum-depth = 12) ;;n 8 n! 40320 (total-pushes = 14 maximum-depth = 14) ;;n 9 n! 362880 (total-pushes = 16 maximum-depth = 16) ;;n 10 n! 3628800 (total-pushes = 18 maximum-depth = 18) ;;done Exercise 5.15 ;;; make-new-machine に追加 ;;ローカル変数追加 (instruction-counter 0) ;;内部定義手続き execute の末尾再帰の前に追加 (set! instruction-counter (+ instruction-counter 1)) ;;内部定義手続き追加 (define (inst-count) (let ((cnt instruction-counter)) (set! instruction-counter 0) cnt)) ;;メッセージ受付追加 ((eq? message instruction-count) (inst-count)) ;;; test program (define icnt (make-machine (n) (list (list = =) (list - -)) (machine loop (test (op =) (reg n) (const 1)) (branch (label loop-end)) (assign n (op -) (reg n) (const 1)) (goto (label loop)) loop-end) )) (define (ex5.15 num) (define (iter c) (if ( c num) done (begin (set-register-contents! icnt n c) (start icnt) (format #t "n ~d instruction-count ~d~%" c (icnt instruction-count)) (iter (+ c 1))))) (iter 1)) ;;gosh (ex5.15 5) ;;n 1 instruction-count 2 ;;n 2 instruction-count 6 ;;n 3 instruction-count 10 ;;n 4 instruction-count 14 ;;n 5 instruction-count 18 ;;done Exercise 5.16 ;;; (trace machine on/ off) ;;; make-new-machine に追加 ;;ローカル変数追加 (trace off) ;;内部定義手続き execute の instruction の実行の前に追加 (if (eq? trace on) (trace-out (car insts))) ;;メッセージ受付追加 ((eq? message trace) (lambda (mode) (set! trace mode))) ;;; コマンドとトレース出力追加 (define (trace machine mode) (if (or (eq? mode on) (eq? mode off)) ((machine trace) mode) (else (error "Mode must be on/ off" mode)))) (define (trace-out inst) (format #t "trace ~s~%" (instruction-text inst))) ;;; test program (define icnt (make-machine (n) (list (list = =) (list - -)) (loop (test (op =) (reg n) (const 1)) (branch (label loop-end)) (assign n (op -) (reg n) (const 1)) (goto (label loop)) loop-end) )) (define (ex5.16) (set-register-contents! icnt n 1) (start icnt) (format #t "n 1 instruction-count ~d~%" (icnt instruction-count)) ; (trace icnt on) (set-register-contents! icnt n 2) (start icnt) (format #t "n 2 instruction-count ~d~%" (icnt instruction-count)) ; (trace icnt off) (set-register-contents! icnt n 3) (start icnt) (format #t "n 3 instruction-count ~d~%" (icnt instruction-count)) ) ;;gosh (ex5.16) ;;n 1 instruction-count 2 ;;trace (test (op =) (reg n) (const 1)) ;;trace (branch (label loop-end)) ;;trace (assign n (op -) (reg n) (const 1)) ;;trace (goto (label loop)) ;;trace (test (op =) (reg n) (const 1)) ;;trace (branch (label loop-end)) ;;n 2 instruction-count 6 ;;n 3 instruction-count 10 ;;# undef Exercise 5.17 ;;; label 出力のため inst に label 情報を含める。 ;;; inst を ((text . proc) label-name1 ...) の形式にし、、 ;;; make-instruction, instruction-text, instruction-execution-proc, ;;; set-instruction-execution-proc!, make-label-entry を変更, ;;; instruction-labels を追加する。 (define (make-instruction text) (cons (cons text ()) ())) (define (instruction-text inst) (caar inst)) (define (instruction-execution-proc inst) (cdar inst)) (define (instruction-labels inst) (cdr inst)) (define (set-instruction-execution-proc! inst proc) (set-cdr! (car inst) proc)) (define (make-label-entry label-name insts) (let ((lentry (cons label-name insts))) (if (and (not (null? insts)) (not (eq? label-name **main**))) (set-cdr! (car insts) (cons label-name (instruction-labels (car insts))))) lentry)) ;;; 5.16 で作成した trace-out を変更する。 (define (trace-out inst) (if (not (null? (instruction-labels inst))) (for-each (lambda (x) (format #t "trace ~s~%" x)) (instruction-labels inst))) (format #t "trace ~s~%" (instruction-text inst))) ;;; test program (define expt-a (make-machine (continue n b val) (list (list = =) (list - -) (list * *)) (machine (assign continue (label expt-done)) expt-loop (test (op =) (reg n) (const 0)) (branch (label immediate-answer)) (save continue) (assign continue (label afterexpt)) (assign n (op -) (reg n) (const 1)) (goto (label expt-loop)) afterexpt (restore continue) (assign val (op *) (reg b) (reg val)) (goto (reg continue)) immediate-answer (assign val (const 1)) (goto (reg continue)) expt-done) )) (trace expt-a on) (set-register-contents! expt-a b 2) (set-register-contents! expt-a n 2) ;;gosh (start expt-a) ;;trace machine ;;trace (assign continue (label expt-done)) ;;trace expt-loop ;;trace (test (op =) (reg n) (const 0)) ;;trace (branch (label immediate-answer)) ;;trace (save continue) ;;trace (assign continue (label afterexpt)) ;;trace (assign n (op -) (reg n) (const 1)) ;;trace (goto (label expt-loop)) ;;trace expt-loop ;;trace (test (op =) (reg n) (const 0)) ;;trace (branch (label immediate-answer)) ;;trace (save continue) ;;trace (assign continue (label afterexpt)) ;;trace (assign n (op -) (reg n) (const 1)) ;;trace (goto (label expt-loop)) ;;trace expt-loop ;;trace (test (op =) (reg n) (const 0)) ;;trace (branch (label immediate-answer)) ;;trace immediate-answer ;;trace (assign val (const 1)) ;;trace (goto (reg continue)) ;;trace afterexpt ;;trace (restore continue) ;;trace (assign val (op *) (reg b) (reg val)) ;;trace (goto (reg continue)) ;;trace afterexpt ;;trace (restore continue) ;;trace (assign val (op *) (reg b) (reg val)) ;;trace (goto (reg continue)) ;;done Exercise 5.18 ;;; (register-trace machine regisetr-name on/ off) ;;; make-register の引数 name はこのために用意されていたのか? ;;; make-register 変更 (define (make-register name) (let ((contents *unassigned*) (stack (make-stack)) (trace off)) (define (dispatch message) (cond ((eq? message get) contents) ((eq? message set) (lambda (value) (if (eq? trace on) (format #t "reg [~s] ~s- ~s~%" name contents value)) (set! contents value))) ((eq? message pop) (stack pop)) ((eq? message push) (stack push)) ((eq? message initialize) (stack initialize)) ((eq? message trace) (lambda (mode) (set! trace mode))) (else error "Unknown request -- REGISTER" message))) dispatch)) ;;; 新規 (define (set-register-trace-mode! register mode) (if (or (eq? mode on) (eq? mode off)) ((register trace) mode) (else (error "Mode must be on/ off" mode)))) (define (register-trace machine register-name mode) (set-register-trace-mode! (get-register machine register-name) mode)) ;;; test program (define expt-a (make-machine (continue n b val) (list (list = =) (list - -) (list * *)) (machine (assign continue (label expt-done)) expt-loop (test (op =) (reg n) (const 0)) (branch (label immediate-answer)) (save continue) (assign continue (label afterexpt)) (assign n (op -) (reg n) (const 1)) (goto (label expt-loop)) afterexpt (restore continue) (assign val (op *) (reg b) (reg val)) (goto (reg continue)) immediate-answer (assign val (const 1)) (goto (reg continue)) expt-done) )) (set-register-contents! expt-a b 2) (set-register-contents! expt-a n 2) ;;gosh (register-trace expt-a val on) ;;on ;;gosh (register-trace expt-a n on) ;;on ;;gosh (start expt-a) ;;reg [n] 2- 1 ;;reg [n] 1- 0 ;;reg [val] *unassigned*- 1 ;;reg [val] 1- 2 ;;reg [val] 2- 4 ;;done ;;gosh (register-trace expt-a n off) ;;off ;;gosh (set-register-contents! expt-a n 2) ;;done ;;gosh (start expt-a) ;;reg [val] 4- 1 ;;reg [val] 1- 2 ;;reg [val] 2- 4 ;;done Exercise 5.19 ;;; n の解釈を、問題で指定されている方法とは変えて、ブレークポイントは ;;; n番目のインストラクションを実行した後に(内部的には n+1 番目の ;;; インストラクションを実行する前に)働くようにする。 ;;; 従って、label直後のインストラクションを実行する前にブレークポイント ;;; を働かせるためには、 ;;; (set-breakpoint machine label ) ;;; とする。 ;;; label n は ex5.10 の形式を使用する。 ;;; inst は ex5.17 の((text . proc) label-name1 ...) の形式を使用する。 ;;; breakpointの設定は、上記の proc を breakpoint 処理を行う手続き(make-bp ;;; が返す手続き)に、トレースが出力されないよう text を breakに変更する。 ;;; make-new-machine の内部手続き execute を instruction から break が返ると ;;; loop が終了するよう変更する。 (define (execute) (let ((insts (get-contents pc))) (if (null? insts) done (begin (if (eq? trace on) (trace-out (car insts))) (if (not (eq? make-bp ((instruction-execution-proc (car insts))))) (begin (set! instruction-counter (+ instruction-counter 1)) (execute)) ))))) ;;; make-new-machine の message に proceed 用を追加する。 ((eq? message execute) (execute)) ;;; inst 変更用の手続きを追加する。 (define (set-instruction-text! inst text) (set-car! (car inst) text)) ;;; breakpoint が設定されている時はトレースを抑制する。 (define (trace-out inst) (if (not (eq? (instruction-text inst) break)) (begin (if (not (null? (instruction-labels inst))) (for-each (lambda (x) (format #t "trace ~s~%" x)) (instruction-labels inst))) (format #t "trace ~s~%" (instruction-text inst))))) ;;; 設定されている breakpoint を (inst1 inst2 ...) の形で保持 (define breakpoint-list ()) ;;; breakpoint 設定 (define (set-breakpoint machine . label-exp) (let ((tis (machine insts)) (name (label-name label-exp)) (offset (label-offset label-exp))) (let ((insts (lookup-label-tis tis name offset))) (let ((val (memq (car insts) breakpoint-list))) (if (not val) (begin (make-bp (car insts) name offset) (set! breakpoint-list (cons (car insts) breakpoint-list)) (instruction-text (car insts))) (warn "already set breakpoint " label-exp)) )))) ;;; breakpoint 停止後の再開。再開instructionの変更は未実装。 (define (proceed-machine machine . label-exp) (if (eq? label-exp ()) (let ((insts (get-register-contents machine pc))) (let ((val (memq (car insts) breakpoint-list))) (if val (begin ((instruction-execution-proc (car insts)) proceed) (machine execute) ) (error "Internal error -- PROCEED")))) (begin ) )) ;;; breakpoint 解除 (define (cancel-breakpoint machine . label-exp) (if (eq? label-exp ()) (begin ;all (for-each (lambda (inst) (if (not (eq? inst ())) ((instruction-execution-proc inst) cancel))) breakpoint-list) (set! breakpoint-list ()) done) (begin ;the (let ((tis (machine insts)) (name (label-name label-exp)) (offset (label-offset label-exp))) (let ((insts (lookup-label-tis tis name offset))) (let ((val (memq (car insts) breakpoint-list))) (if val (begin ((instruction-execution-proc (car isnts)) cancel) (set-car! val ()) ok) (warn "not set breakpoint " label-exp)) )))))) ;;; breakpoint (define (make-bp inst label offset) (let ((proc (instruction-execution-proc inst)) ; save proc (text (instruction-text inst)) ; save text (flag break)) ; break on (set-instruction-text! inst break) ; trace抑制 (set-instruction-execution-proc! inst (lambda arg (if (null? arg) ;; run-time (cond ((eq? flag break) (format #t "break! ~s ~s~%" label offset) make-bp) ((eq? flag proceed) (set-instruction-text! inst break) (set! flag break) (proc)) (else (error "Undefined Breakflag " flag))) ;; command (cond ((eq? (car arg) proceed) (set-instruction-text! inst text) (set! flag proceed)) ((eq? (car arg) cancel) (set-instruction-execution-proc! inst proc)) (else (error "Undefined Breakflag " arg)))))))) ;;; ラベルとオフセットから insts を得る。 (define (lookup-label-tis tis name offset) (define (forward insts n) (if (= n 0) insts (if (null? (cdr insts)) (error "Out of range -- BREAKPOINT" (list name offset)) (forward (cdr insts) (- n 1))))) (define (forward2 insts lead target) (if (eq? lead target) insts (if (null? (cdr lead)) (error "Out of range -- BREAKPOINT" (list name offset)) (forward2 (cdr insts) (cdr lead) target)))) (let ((insts (find-tail (lambda (inst) (and (not (null? (instruction-labels inst))) (memq name (instruction-labels inst)))) tis))) (if (not insts) (error "Undefined label -- BREAKPOINT" name)) (if ( = offset 0) (forward insts offset) (forward2 tis (forward tis (* offset -1)) insts)))) ;;; test program (define ex5.19 (make-machine (continue) (list (list format format)) (machine (assign continue (label t1e)) (goto (label s -3)) t1e (assign continue (label t2e)) (goto (label s -1)) t2e (assign continue (label t3e)) (goto (label s 1)) t3e (goto (label ex5.19.done)) ;; (perform (op format) (const #t) (const "stop s -2~%")) (goto (reg continue)) (perform (op format) (const #t) (const "stop s~%")) s (goto (reg continue)) (perform (op format) (const #t) (const "stop s 2~%")) (goto (reg continue)) ;; ex5.19.done) )) ;;gosh (bp! s -2) ; (set-breakpoint machine label n ) の短縮形 ;;break ;;gosh (bp! s) ;;break ;;gosh (bp! s 2) ;;break ;;gosh (start ex5.19) ;;stop s -2 ;;break! s -2 ;;gosh (go) ; (proceed-machine machine ) の短縮形 ;;stop s ;;break! s 0 ;;gosh (go) ;;stop s 2 ;;break! s 2 ;;gosh (cbp!) ; (cancel-all-breakpoints machine ) の短縮形 ;;done ;;gosh (start ex5.19) ;;stop s -2 ;;stop s ;;stop s 2 ;;done
https://w.atwiki.jp/n82_info/pages/29.html
N82にGmailを設定する ここではGmailを例にメールボックスの設定をします。 Gmailの設定 Gmailにログインして設定>メール転送と POP/IMAP 設定>IMAP アクセスのIMAPを有効にするにチェックを入れます。 N82の設定 はじめてのメールボックスの設定。 メール>オプション>設定>E-mail>メールボックスを選択します。 2つ目以降のメールボックスの設定。 メール>オプション>設定>E-mail>メールボックス>新規メールボックスを選択します。 メールボックスタイプをIMAP4又はPOP3から選びます。 Gmailの場合は「IMAP4」です。 自分のメールアドレスを入力します。 受信メール サーバーに「imap.gmail.com」と入力します。 送信メール サーバーに「smtp.gmail.com」と入力します。 メールボックスに入り接続設定をします。 受信E-mailサーバーにユーザー名、パスワードを入力します。 セキュリティ(ポート)を「SSL/TLS」に選択します。 ポートをユーザー定義で「993」と入力します。 送信E-mailサーバーにユーザー名、パスワードを入力します。 セキュリティ(ポート)を「StartTLS」に選択します。 ポートをユーザー定義で「587」と入力します。 これで設定は終わりです。 メールボックスは6つまで作成できます。 Gmail以外のメールアカウントの設定情報 受信メール サーバーのポート番号 StartTLS(IMAP4)「143」 StartTLS(POP3)「110」 SSL/TLS(IMAP4)「993」 SSL/TLS(POP3)「995」 送信メール サーバーのポート番号 StartTLS「587」 SSL/TLS「465」 .Mac メールボックスタイプ「IMAP4」 受信メール サーバー「mail.mac.com」 セキュリティ「SSL/TLS」 ポート番号「993」 送信メール サーバー「smtp.mac.com」 セキュリティ「StartTLS」 ポート番号「587」 MobileMe メールボックスタイプ「IMAP4」 受信メール サーバー「mail.me.com」 セキュリティ「SSL/TLS」 ポート番号「993」 送信メール サーバー「smtp.me.com」 セキュリティ「StartTLS」 ポート番号「587」 Yahoo!メール(日本) メールボックスタイプ「POP3」 受信メール サーバー「pop.mail.yahoo.co.jp」 セキュリティ「SSL/TLS」 ポート番号「995」 送信メール サーバー「smtp.mail.yahoo.co.jp」 セキュリティ「SSL/TLS」 ポート番号「465」 Yahoo! Mail(米国) メールボックスタイプ「POP3」 受信メール サーバー「plus.pop.mail.yahoo.com」 セキュリティ「SSL/TLS」 ポート番号「995」 送信メール サーバー「plus.smtp.mail.yahoo.com」 セキュリティ「StartTLS」 ポート番号「587」 Yahoo! BBメール メールボックスタイプ「POP3」 受信メール サーバー「ybbpop.mail.yahoo.co.jp」 セキュリティ「SSL/TLS」 ポート番号「995」 送信メール サーバー「ybbsmtp.mail.yahoo.co.jp」 セキュリティ「StartTLS」 ポート番号「587」 Hotmail メールボックスタイプ「POP3」 受信メール サーバー「pop3.live.com」 セキュリティ「SSL/TLS」 ポート番号「995」 送信メール サーバー「smtp.live.com」 セキュリティ「StartTLS」 ポート番号「587」
https://w.atwiki.jp/zensize/pages/917.html
【作品名】論理空軍 【ジャンル】音楽PV 【名前】JUNKERS Ju-87 STUKA P-MODEL仕様 【属性】平沢進の顔をディスプレイに映した UNDOで寸分前の過去を帳消す飛行機 【大きさ】全幅15m、全長11.5m 【長所】REDOで何千回でも試みるミサイル 【短所】そのミサイルでJASRACを攻撃 【備考】PVに出てきた飛行機はJunkers Ju-87 G-2 Stukaを元にしているため、 変わっているかもしれない全高以外はその機体の大きさそのままを採用した。 http //www.owaku.com/ashield/data/pmod99/ 参戦 vol.1 修正 vol.2
https://w.atwiki.jp/reflec_beat/pages/1523.html
CODE BREAKING CODE BREAKING概要 解禁方法 解禁楽曲 楽曲文字数 概要 2015/03/06 10 00開始のイベント 詳細 http //p.eagate.573.jp/game/reflec/groovin/p/information/information_03.html#info10 解禁方法 バラバラにされた楽曲名を解読し、その楽曲をオンラインでプレーすると楽曲が解禁されるモード選択画面の下に暗号が表示される例 「グッタリー」→並べ替えると「グリッター」→GLITTERをプレーで解禁 問題を解くと次の問題の文字数が増えていく 問題はランダムで出題されるクレジットをまたいでも問題は変わらない 解禁曲・隠し曲・ライセンス(EXIT TUNES・U.M.U.含む)・バージョンgroovin !!・バージョンgroovin !!Upperからは出題されない 暗号の文字数を数え、2~3文字覚えると見つかりやすい? 解禁楽曲 いずれも「Coca-Cola×BEMANI 店舗限定ロケテスト」で先行解禁できた楽曲。 問題 曲名 アーティスト BPM 難易度 備考 B M H ① 龍と少女とデコヒーレンス 黒猫ダンジョン 165 4 7 10+ IIDX 20 tricoroからの移植 ② INSOMNIA ジャカルタファンクブラザーズ 195 5 8 10+ IIDX 21 SPADAからの移植 ③ Ludus In Tenebris Akhuta 126 5 7 10+ IIDX 22 PENDUALとの同時収録 楽曲文字数 対象範囲は初代・limelight・coletteかつコナミオリジナル楽曲版権(EXIT TUNESとU.M.U.含む)とバージョンgroovin !!・groovin !!Upperは対象外 一部楽曲の文字数・読み方が間違っている可能性あり読み間違えやすい楽曲はBEMANIWiki 2ndで確認できます 文字数の範囲は4文字~16文字ぐらい CODE BREAKING 解読器(外部サイト) +2文字 2文字 曲名 読み方 曲名 読み方 Knell ネル MANA マナ +3文字 3文字 曲名 読み方 曲名 読み方 曲名 読み方 曲名 読み方 SEED シード robin ロビン meme ミーム SHION シオン 雫 シズク 朧 オボロ 蛇神 カガチ つばめ ツバメ 疾風 ハヤテ キルト キルト 桜 サクラ GAIA ガイア +4文字 4文字 曲名 読み方 曲名 読み方 曲名 読み方 smooooch・∀・ スムーチ SigSig シグシグ FLOWER フラワー Wuv U ワブユー cloche クロシェ concon コンコン ほしふり ホシフリ ALBIDA アルビダ 海神 ワダツミ ÆTHER エーテル Ha・lle・lu・jah ハレルヤ 紅焔 コウエン START スタート 天庭 テンテイ L avide ルアビデ 空葬 クウソウ polygon ポリゴン 黒点 コクテン ARACHNE アラクネ 水鏡 ミカガミ Round! ラウンド ラキラキ ラキラキ Valanga バランガ - - +5文字 5文字 曲名 読み方 曲名 読み方 曲名 読み方 reunion リユニオン Juicy ジューシー Wenkamui エンカムイ Elisha エリーシャ Silence サイレンス message メサージュ Broken ブロークン [E] カッコイー ツキミチヌ ツキミチヌ quaver♪ クエイバー EXUSIA エクスシア REcollect リコレクト 梅雪夜 ウメユキヨ Qipchāq キプチャク Freedom フリーダム Arcanos アルカノス RAGNAROK ラグナロク SPARKLE スパークル printemps プランタン GLITTER グリッター In Heaven インヘブン Wizard ウィザード Valanga ヴァランガ Mirage ミラージュ JOMANDA ジョマンダ 阿波おどり -Awaodori- アワオドリ Vairocana ビルシャナ +6文字 6文字 曲名 読み方 曲名 読み方 曲名 読み方 THE FALLEN ザフォールン DEADLOCK デッドロック Pharaoh ★ Love ファラオラブ VOLTEXES ボルテクシズ Ambitious アンビシャス Like+it! ライクイット 太陽の子 タイヨウノコ Fantasia ファンタジア Vairocana ヴィルシャナ ペリーでぇす! ペリーデェス Arousing アラウジング STULTI ストゥルティ Far Away ファラウェイ Vermilion バーミリオン VALLIS-NERIA バリスネリア Red Goose レッドグース - - - - +7文字 7文字 曲名 読み方 曲名 読み方 曲名 読み方 サヨナラ・ヘヴン サヨナラヘヴン Thunderbolt サンダーボルト Second Heaven セカンドヘブン 記憶の欠片 キオクノカケラ VALLIS-NERIA ヴァリスネリア STELLAR WIND ステラウィンド MIRACLE MEETS ミラクルミーツ DRAGON KILLER ドラゴンキラー HAERETICUS ハエレティクス TAKE THE FUN テイクザファン snow prism スノープリズム まほろば教 マホロバキョウ ロボット☆ライフ ロボットライフ 7 Colors セブンカラーズ みんな笑った ミンナワラッタ Lights On Me ライツオンミー ストレイ・マーチ ストレイマーチ Our Faith アワーフェイス MAXIMIZER マキシマイザー Vermilion ヴァーミリオン 創世ノート ソウセイノート 虹色の花 ニジイロノハナ True Blue トゥルーブルー Liberation リベレーション Need Your Love ニードユアラブ イブの時代っ! イブノジダイッ - - +8文字 8文字 曲名 読み方 曲名 読み方 bass 2 bass ベースツーベース さよならトリップ サヨナラトリップ not eternity ノットエタニティ カラフルミニッツ カラフルミニッツ Stay my side ステイマイサイド Bad Maniacs バッドマニアクス 天空の夜明け テンクウノヨアケ Flip Flap フリップフラップ HEAVENLY MOON ヘブンリームーン murmur twins マーマーツインズ Starry ☆ night スターリーナイト KIMONO♥PRINCESS キモノプリンセス Flying soda フライングソーダ serendipity セレンディピティ 星屑のキロク ホシクズノキロク Another Phase アナザーフェイズ カタルシスの月 カタルシスノツキ Colorful Cookie カラフルクッキー SILVER☆DREAM シルバードリーム ソ.レ.ミ.ファ.ソーダ ソレミファソーダ マッハマンの歌 マッハマンノウタ SPEED BLADE スピードブレード Little Flipper リトルフリッパー spring pony スプリングポニー Good-bye Chalon グッバイシャロン アルストロメリア アルストロメリア Empathetic エンパセティック Honey Party ハニーパーティー Clumsy thoughts クラムジーソーツ DOUBLE IMPACT ダブルインパクト Sakura Sunrise サクラサンライズ 走れメロンパン ハシレメロンパン High School Love ハイスクールラブ - - +9文字 9文字 曲名 読み方 曲名 読み方 Survival Games サバイバルゲームズ Medicine of love メディシンオブラブ Diamond Dust ダイアモンドダスト 中華急行 チュウカキュウコウ Turii ~Panta rhei~ トゥーリパンタレイ 幻想リフレクト ゲンソウリフレクト Cookie Bouquets クッキーブーケッツ I m so Happy アイムソーハッピー ЁVOLUTIΦN エヴォリューション OVER THE LIMIT! オーバーザリミット FRONTIER GATE フロンティアゲート Last Hometown ラストホームタウン Mr.フリーダム ミスターフリーダム London EVOLVED ロンドンエボルブド 恋とキングコング コイトキングコング 灼熱の翼 シャクネツノツバサ Snake Stick スネークスティック 隅田川夏恋歌 スミダガワカレンカ milky ice bear ミルキーアイスベア Re GENERATION リジェネレーション Candy Drop キャンディドロップ 恋閃繚乱 レンセンリョウラン Ground Shake グラウンドシェイク fallen leaves フォールンリーブズ It s my Miracle イッツマイミラクル 幻想雷神記 ゲンソウライジンキ WONDER WALKER ワンダーウォーカー バタフライキャット バタフライキャット 追儺の桜 -春- ツイナノサクラハル Vanity shadow バニティーシャドウ +10文字 10文字 曲名 読み方 曲名 読み方 Sakura Reflection サクラリフレクション この青空の下で コノアオゾラノシタデ まるでマトリョーシカ マルデマトリョーシカ limelight world ライムライトワールド 空色コンチェルト ソライロコンチェルト キラキラ☆ステーション キラキラステーション HAPPY limelight ハッピーライムライト TITANS RETURN ティターンズリターン Cosmic Hurricane コズミックハリケーン Brand New World ブランニューワールド めうめうぺったんたん!! メウメウペッタンタン にゃんだふる55 ニャンダフルゴーゴー 少年リップルズ ショウネンリップルズ アラベスクの回廊 アラベスクノカイロウ Wow Wow VENUS ウォウウォウビーナス Ignited Night イグナイテッドナイト guerre à outrance ゲーレアウートランス December Breeze ディセンバーブリーズ Going My Way ゴーイングマイウェイ Following Flow フォローイングフロウ 双璧のVANESSA ソウヘキノヴァネッサ Vanity shadow ヴァニティーシャドウ Chu☆Chu☆Tonight チュッチュッチュナイ - - +11文字 11文字 曲名 読み方 曲名 読み方 優勢オーバードーズ ユウセイオーバードーズ ポップミュージック論 ポップミュージックロン 透明なエモーション トウメイナエモーション Hollywood Galaxy ハリウッドギャラクシー ビューティフル レシート ビューティフルレシート Castle on the Moon キャッスルオンザムーン Une mage blanche ユヌマージュブロンシュ 万物快楽理論 バンブツカイラクリロン UNLIMITED FIRE アンリミテッドファイア 晴天Bon Voyage セイテンボンボヤージュ Windy Fairy ウィンディーフェアリー Playing With Fire プレインウィズファイア Intersect Platinum インターセクトプラチナ Dispersion Star ディスパージョンスター Velvet Sentiment ベルベットセンチメント Beautiful Dream ビューティフルドリーム Lapis Philosophorum ラピスフィロソフォルム Legendary Dragon レジェンダリードラゴン Nostalgia Is Lost ノスタルジアイズロスト アストライアの双皿 アストライアノソウベイ The Wind of Gold ザウィンドオブゴールド Aerial Skydive エアリアルスカイダイブ +12文字 12文字 曲名 読み方 曲名 読み方 虹の先に何があるか ニジノサキニナニガアルカ イミテーション語ル死ス イミテーションカタルシス The Sampling Paradise ザサンプリングパラダイス 魚氷に上り 耀よひて ウオヒニノボリカガヨヒテ ホーンテッド★メイドランチ ホーンテッドメイドランチ 愛は不死鳥の様に アイハフシチョウノヨウニ 純白レジエンド –冬– ジュンパクレジエンドフユ Daily Lunch Special デイリーランチスペシャル examination leave イグザミネーションリーヴ 終焔のClaudia シュウエンノクラウディア Express Emotion エクスプレスエモーション - - +13文字 13文字 曲名 読み方 曲名 読み方 NoN-Fiction Story! ノンフィクションストーリー He is my only star ヒーイズマイオンリースター 凛として咲く花の如く リントシテサクハナノゴトク DIORAMATIC MOMENT ジオラマティックモーメント Twinkle Wonderland トゥインクルワンダーランド OVERHEAT -Type R- オーバーヒートタイプアール とってもとっても、ありがとう。 トッテモトッテモアリガトウ nightbird lost wing ナイトバードロストウィング FIRE (REFLEC Version) ファイアリフレクバージョン 飛翔-オープニングテーマ- ヒショウオープニングテーマ 滅びに至るエランプシス ホロビニイタルエランプシス EMPEROR OF THE AVALON エンペラーオブジアヴァロン Screaming Your Faith!!! スクリーミングユアフェイス Russian Snowy Dance ロシアンスノーウィーダンス Synergy For Angels シナジーフォーエンジェルス Elemental Creation エレメンタルクリエーション 恋する☆宇宙戦争っ!! コイスルウチュウセンソウッ - - +14文字 14文字 曲名 読み方 L erisia(Primal Logic) ルエリシアプライマルロジック Gymnopedie -kors k mix- ジムノペディコースケミックス SPECIAL SUMMER CAMPAIGN! スペシャルサマーキャンペーン 量子の海のリントヴルム リョウシノウミノリントヴルム waxing and wanding ワクシングアンドワンディング 灼熱Beach Side Bunny シャクネツビーチサイドバニー Fly to Next World フライトゥーネクストワールド 愛のかたち幸せのかたち アイノカタチシアワセノカタチ ちくわパフェだよ☆CKP チクワパフェダヨシーケーピー +15文字 15文字 曲名 読み方 Why did you go away ホワイディッジューゴーアウェー 黒髪乱れし修羅となりて クロカミミダレシシュラトナリテ 532nm ファイブスリーツーナノメートル 三毛猫JIVE&ジャイブ ミケネコジャイブアンドジャイブ Last Memento -花火のない夏- ラストメメントハナビノナイナツ Survival Games -ZEUS Mix- サバイバルゲームゼウスミックス Chinese Snowy Dance チャイニーズスノーウィーダンス REVOLUTIONARY ADDICT レボリューショナリーアディクト +16文字 16文字 曲名 読み方 Mermaid girl (Ryu☆Remix) マーメイドガールリュウリミックス Apocalypse ~dirge of swans~ アポカリプスダージュオブスワンズ 虚空と光明のディスクール コクウトコウミョウノディスクール +17文字 17文字 曲名 読み方 Mind Mapping (kors k mix) マインドマッピングコースケミックス 祟竜ヤマタノオロチのテーマ タタリリュウヤマタノオロチノテーマ リリーゼと炎龍レーヴァテイン リリーゼトエンリュウレーヴァテイン Almace -HI SPEED EDITION- アルマースハイスピードエディション The Least 100sec ザリーストワンハンドレッドセカンズ +18文字 18文字 曲名 読み方 THE SAFARI -DJ TOTTO mix- ザサファリディージェートットミックス †渚の小悪魔ラヴリィ~レイディオ† ナギサノコアクマラヴリィーレイディオ +19文字 19文字 曲名 読み方 Smug Face -どうだ、オレの生き様は- スマッグフェイスドウダオレノイキザマハ 少女小景再抄録 ~影~ ショウジョショウケイサイショウロクカゲ Sweet Rain feat.Karin スウィートレインフィーチャリングカリン INTO YOUR HEART (Ruffage remix) イントゥユアハートラフェージリミックス +20文字以上 20文字以上 曲名 読み方 21文字 クシコス☆ポスト -青春SKAパンク ミックス!- クシコスポストセイシュンスカパンクミックス Colorful Days~NEW ラブプラスメインテーマ~ カラフルデイズニューラブプラスメインテーマ 華爛漫 -Flowers- (2nd EDITION) ハナランマンフラワーズセカンドエディション 22文字 Diamond Dust-Try to Sing Ver.- ダイアモンドダストトライトゥシングバージョン IMAGE-MATERIAL- (REFLEC BEAT Edition) イメージマテリアルリフレクビートエディション 23文字 凛として咲く花の如く~ひなビタ♪edition~ リントシテサクハナノゴトクヒナビタエディション Cosmic Hurricane-Try to Sing Ver.- コズミックハリケーントライトゥシングバージョン 24文字 QUIZ MAGIC ACADEMY VIII~決勝戦より~ クイズマジックアカデミーエイトケッショウセンヨリ UNLIMITED FIRE-Try to Sing Ver.- アンリミテッドファイアトライトゥシングバージョン 31文字 オープニングテーマ~クイズマジックアカデミー賢者の扉より~ オープニングテーマクイズマジックアカデミーケンジャノトビラヨリ 32文字 お米の美味しい炊き方、そしてお米を食べることによるその効果。 オコメノオイシイタキカタソシテオコメヲタベルコトニヨルソノコウカ 麻雀格闘倶楽部NEXT タイトルデモ~東一局~リーチ マージャンファイトクラブネクストタイトルデモトンイッキョクリーチ +作業中の曲 作業中の曲 「e-AMUSEMENT PASS使用解禁曲」のうち上のリストに載ってないもの 曲名 読み方 Anisakis -somatic mutation type Forza - アニサキス ANDROMEDA -SF_2011 Mix- アンドロメダ Blind Justice ~Torn souls, Hurt Faiths~ ブラインドジャスティス 編集する方へ ()や--を含む楽曲は表記しない、と書いてるけど文字数少ないのは載せるべきでは
https://w.atwiki.jp/ntemacs/pages/32.html
■ Emacs 全般で利用できる設定 【お知らせ】 2021/01/07 追記 Candidate の更新のキーバインドは、C-c C-u です。(覚え書き) 2019/04/03 追記 helm-occur の require が必要になったようなので、追加しました。 2018/08/30 追記 helm で grep を利用した際、helm バッファの表示が乱れる場合があります。その場合は C-c C-u で画面が再描画されます。お試しください。 2018/08/30 追記 2015年末に次のコミットで helm package から helm-do-grep の機能は削除されました。もし、helm-ag より helm-do-grep という方が居りましたら(grep コマンドしか使えないとか)、削除されたコードを復活させることにより helm-do-grep を利用することができます。なお、コードの復活を行わなくとも、 2018/08/29 追記 の方法で同様の機能の利用は可能です。ただし、利用がちょっと面倒です。 https //github.com/emacs-helm/helm/commit/013ee11b695f52c68b0a0648dbd143b3592e2ef3 https //github.com/emacs-helm/helm/commit/f1519ad9d7a13cf00854a6096413ccfe7472dda0 2018/08/29 追記 helm で grep を行うには、helm-ag を使わなくても helm-find-files の機能で行う方法があります。 本設定でのキーバインドの場合は、次のとおりとなります。 C-x C-f で helm-find-files を起動した後、TAB または C-i でアクションに移動し、grep を選択 C-x C-f で helm-find-files を起動した後、C-s でカーソルのある箇所のファイルを検索(ディレクトリも指定可) C-x C-f で helm-find-files を起動した後、C-u C-s でファイル種別を指定して検索 2018/08/26 追記 locate コマンドで and 検索ができることが分かったので、helm-locate-command の設定を見直しました。 2018/08/21 追記 helm については、次のページを参照してください。 https //github.com/emacs-helm/helm/wiki 2018/05/25 追記 helm を使っていて、「Wrong type argument window-live-p, nil」というメッセージが出力される場合の対策を追加しました。 2016/06/03 追記 helm-find-files で TAB補完が有効になるように設定しました。 2016/04/17 追記 次の修正を行いました。 M-x で動作するコマンドを helm-M-x に変更した。 C-x C-f で動作するコマンドを helm-find-files に変更した。 helm-show-kill-ring のキーバインドを C-; y から C-; C-y に変更した。 find-file と execute-extended-command(M-x)が helm インタフェースを使うようにするために追加していた設定を削除した。 2015/10/16 追記 本設定からは外してしまいましたが、helm-swoop が helm-migemo-mode に対応したようです。 https //github.com/ShingoFukuyama/helm-swoop 2015/10/02 追記 helm 本体で helm-migemo-mode がサポートされたので、helm-migemo の設定箇所を削除しました。この対応で、helm-occur で migemo が利用できるようになっています。 http //qiita.com/ballforest/items/4db3d66df16d84a027d0 http //syohex.hatenablog.com/entry/2015/10/10/171926 【本題】 mozc と一緒に使う場合は、「emacs-mozc を動かすための設定(Emacs 設定編)」の mozc-candidate-dispatch の advice を適用してください。 helm は melpa から helm、helm-descbinds、helm-ag package をインストールしてください。また、recentf-ext package もインストールしておくと、アクセスしたディレクトリを検索できるようになります。 http //keisanbutsuriya.hateblo.jp/entry/2015/02/15/174758 locateコマンドを使うための 検索DB の作成方法は、「locate を使うための設定」もしくは「locate を使うための設定(WSL 設定編)」を参照してください。 以下、helm を使うための設定(例)です。 (require helm-config) (require helm-descbinds) (require helm-occur) (require helm-ag) (helm-mode 1) (helm-migemo-mode 1) ;; 画面更新するまでのタイムラグを設定する(デフォルトは 0.01) (setq helm-input-idle-delay 0.2) ;; 表示する最大候補数を指定する(デフォルトで 100) ;; (setq helm-candidate-number-limit 500) ;; locateコマンドのパラメータを指定する ;; デフォルト値に設定してある -e オプションは性能がでないので削除している (setq helm-locate-command "locate %s -A --regex %s") ;; tramp で remote-directory を開いているときに、helm-for-files を起動すると反応が悪い ;; 原因は helm-source-files-in-current-dir だったので、この情報源の指定を削除する ;; また、一部表示順を変更する (setq helm-for-files-preferred-list (helm-source-buffers-list helm-source-bookmarks helm-source-recentf helm-source-file-cache ;; helm-source-files-in-current-dir helm-source-locate)) ;; 候補表示画面で改行しないようにする ;; (setq helm-truncate-lines t) ;; helm-source-buffers-list を詳細に表示しない (setq helm-buffer-details-flag nil) ;; helm-source-buffers-list でバッファ名を表示する幅を調整する (setq helm-buffer-max-length 50) ;; helm-follow-mode (C-c C-f で ON/OFF)の前回の状態を維持する (setq helm-follow-mode-persistent t) ;; ミニバッファで C-k 入力時にカーソル以降を削除する(C-u C-k でも同様の動きをする) (setq helm-delete-minibuffer-contents-from-point t) ;; 自動補完を無効にする (setq helm-ff-auto-update-initial-value nil) ;; helm-ag で利用する ag コマンドの追加オプションを設定する ;; (setq helm-ag-command-option "") ;; helm-ag でカーソル位置のシンボルを初期検索文字列とする ;; (setq helm-ag-insert-at-point symbol) ;; C-h でバックスペースと同じように文字を削除できるようにする ;; (define-key helm-read-file-map (kbd "C-h") delete-backward-char) ;; TAB で補完する ;; (補完は C-j できるので、helm-select-action の利用を考えれば設定しない方がよいかもしれない) (define-key helm-read-file-map (kbd " tab ") helm-execute-persistent-action) (define-key helm-find-files-map (kbd " tab ") helm-execute-persistent-action) ;; C-o は IME変換用として使っているので、helm-next-source を C-l に変更する (define-key helm-map (kbd "C-o") nil) (define-key helm-map (kbd "C-l") helm-next-source) ;; http //d.hatena.ne.jp/sugyan/20120104/1325604433 ;; プレフィックスキーを C-; に設定する (custom-set-variables (helm-command-prefix-key "C-;")) ;; キーバインドを設定する。コマンド起動後は、以下のキーが利用可能となる ;; ・M-n :カーソル位置の単語を検索パターンに追加 ;; ・C-z :チラ見 ;; ・C-c C-f :helm-follow-mode の ON/OFF (global-set-key (kbd "M-x") helm-M-x) (define-key ctl-x-map (kbd "C-b") helm-for-files) (define-key ctl-x-map (kbd "C-;") helm-for-files) (define-key ctl-x-map (kbd "C-f") helm-find-files) (define-key helm-command-map (kbd "C-;") helm-resume) ; C-u 付で起動すると、復元バッファを指定できる (define-key helm-command-map (kbd "C-y") helm-show-kill-ring) (define-key helm-command-map (kbd "o") helm-occur) (define-key helm-command-map (kbd "C-s") helm-occur-from-isearch) (define-key helm-command-map (kbd "C-g") helm-ag) (define-key helm-command-map (kbd "M-g") helm-do-ag) ; C-u 付で起動すると、ファイルパターンを指定できる ;; helm-occurコマンドの起動時に helm--maybe-use-default-as-input(helmコマンドに input パラメータが ;; 指定されていなければ、 default の値を使って表示を更新する)を設定する (advice-add helm-occur around (lambda (orig-fun rest args) (let ((helm--maybe-use-default-as-input t)) (apply orig-fun args)))) ;; 情報源の設定を調整する ;; ・follow helm 起動時点から helm-follow-mode を ON にする ;; ・requires-pattern 検索必要最低文字数を設定する ;; ・candidate-number-limit 表示最大候補数を設定する (defun helm-before-initialize-setup () (helm-aif helm-source-locate (progn (helm-attrset requires-pattern 2 it) (helm-attrset candidate-number-limit 1000 it) )) (helm-aif helm-source-occur (progn (helm-attrset follow 1 it) )) (helm-aif helm-source-grep (progn (helm-attrset follow 1 it) (helm-attrset requires-pattern 2 it) (helm-attrset candidate-number-limit 1000 it) )) (helm-aif helm-source-grep-ag (progn (helm-attrset follow 1 it) (helm-attrset requires-pattern 2 it) (helm-attrset candidate-number-limit 1000 it) )) (helm-aif helm-ag-source ; for helm-ag package (progn (helm-attrset follow 1 it) (helm-attrset candidate-number-limit 1000 it) )) (helm-aif helm-source-do-ag ; for helm-ag package (progn (helm-attrset follow 1 it) (helm-attrset requires-pattern 2 it) (helm-attrset candidate-number-limit 1000 it) )) ) (add-hook helm-before-initialize-hook helm-before-initialize-setup) NTEmacs を使っている場合は、以下も設定すると良いようです。 (require cl-lib) ;; w32-ime-buffer-switch-p を t にして helm を利用する場合に、ミニバッファで漢字を正常に ;; 使えるようにする対策(この設定がないと、ime が勝手に切り替わったりする) (setq w32-ime-buffer-switch-p t) (advice-add helm around (lambda (orig-fun rest args) (let ((select-window-functions nil)) (apply orig-fun args)))) ;; UNC や Tramp のパスに対して、helm-reduce-file-name が正しく機能しないことの対策 ;; ( (helm-mode 1) として dired を動かした際に C-l(helm-find-files-up-one-level) ;; が正しく機能するようにする対策) (advice-add helm-reduce-file-name override (lambda ( rest args) (let ((fname (nth 0 args)) (level (nth 1 args))) (while ( level 0) (setq fname (expand-file-name (concat fname "/../"))) (setq level (1- level))) fname))) ;; ffap を使っていて find-file-at-point を起動した場合に、カーソル位置の UNC が正しく ;; 取り込まれないことの対策 (advice-add helm-completing-read-default-1 around (lambda (orig-fun rest args) (when (listp (nth 4 args)) (setf (nth 4 args) (car (nth 4 args)))) (cl-letf (((symbol-function regexp-quote) (symbol-function identity))) (apply orig-fun args)))) 以下の設定は既に不要のものと思われます。一応、設定は残しておきます。 ;; w32-symlinks を使っている場合に C-u 付きで helm-do-grep を起動すると、選択したファイルを ;; no conversion で開いてしまうことの対策 (advice-add find-file around (lambda (orig-fun rest args) (let ((current-prefix-arg nil)) (apply orig-fun args)))) 以下の設定は locate で and 検索(-A オプション)ができないと思っていたときに作成したものです。 ファイル名が並んだファイルを検索する場合には現在でも使えると思います。一応、設定は残しておきます。 ;; helm-source-locate でワードの and 検索ができるようにする ;; ・locate を使えない場合は、「locate 」の部分を「cat /tmp/all.filelist」に置き換えてください。 ;; そして、find 等を使って /tmp/all.filelist(ファイル名が並んだファイル)を作成してください。 ;; ・helm の検索パターン入力ルールに従い、2つのスペースの並びを一つのスペースとして認識して検索 ;; します。また、「!検索パターン」(マッチしない)を指定可能です。 (setq helm-locate-command ;; (concat "locate_case=$(echo %s | sed s/-// ); locate |" (concat "locate_case=$(echo %s | sed s/-// ); cat /tmp/all.filelist |" "perl -ne \"$(echo %s |" "sed -r -e s/[\\\\ ] /__SpAcE__/g " "-e s/^ +// " "-e s/ +$// " "-e s_/_\\\\ _g " "-e s_ +_/ $locate_case \\ \\ m/_g " "-e s_.*_$| = 1; print if (m/ / $locate_case )_ " "-e s_m/!_!m/_g " "-e s/__SpAcE__/ /g )\"")) helm を使っていると、次のメッセージが出力され、バッファ間の移動ができなくなる場合があります。 注)2018/09/08 時点で確認したところでは、現在の helm でこのメッセージは出なくなっているようです。 error in process sentinel Wrong type argument window-live-p, nil その場合は、以下の設定をお試しください。 (advice-add select-window around (lambda (orig-fun rest args) (when (nth 0 args) (apply orig-fun args)))) 変更履歴 2013/07/06 recentf に登録された remote-file を helm から開けない問題の対策を追加した。 2013/07/07 ミニバッファで漢字を使えるようにするための設定を追加した。 2013/07/09 helm のコマンドで migemo を有効にする方法を見直した。 2013/07/10 helm-occur(helm-c-occur ではない)系のコマンドが動かないことの対策を追加した。 2013/07/10 キーバインドの追加、変更を行った。 2013/07/12 helm の挙動を変える複数の変数の設定を追加した。 2013/07/15 helm と elscreen を共存させるための設定を追加した。 2013/07/16 helm と w32-symlinks を共存させるための設定を追加した。 2013/07/17 helm-delete-minibuffer-contents-from-point の設定をすると action が表示されなくなることの対策を追加した。 2013/07/24 UNC や Tramp のパスに対して、helm-reduce-file-name が正しく機能しないことの対策を追加した。 2013/07/29 ffap が helm とうまく連携できていないことを対策した。 2013/08/04 helm-source-locate でワードの and 検索ができるようにした。 2013/08/22 helm package のバージョンアップで helm-occur が動くようになったので対策をコメント化した。 2013/08/27 helm-occur 利用時に migemo マッチした箇所のハイライトに対応した。 2013/08/30 ffap を使う場合の対策の方法を見直した。 2013/09/10 helm-do-grep の case sensitive を切り替えられるようにオプションを追加した。 2013/10/03 helm の 2013/9月末の改修で発生するようになった、dired のパス指定時に先頭が // で始まる UNCパスを入力すると rootパスの再指定と間違って認識されることの対策を追加した。 2013/11/15 NTEmacs 依存とそうでない設定を分割した。 2013/11/16 最新の helm で不要となった設定があったので、コメント化した。 2013/11/16 helm で locate や grep を使うための情報源の表示件数を絞り(500件)、検索を高速化した。 2014/04/18 helm-locate-command に渡るパラメータの作り方が変わったようなので(ワード区切りのスペースが「.*」に置き換えられている箇所がある)、その対策をした。 2014/04/24 上記の対策に不具合があったので修正した。 2014/11/12 all.filelist の利用についてのコメントを追記した。(機能に変更はなし。) 2014/11/29 helm-locate-command の設定の見直しを行った。また、mozc を使う場合に mozc-candidate-dispatch の defadvice の適用が必要である旨のコメントを追記した。 2014/12/01 helm-locate で、「!検索パターン」(マッチしない)が意味を成すように対応した。 2014/12/02 helm-locate-command の設定の見直しを行った。 2014/12/03 helm-locate-command の設定の箇所にコメントを追加した。(機能に変更はなし。) 2014/12/04 helm-locate の検索で、helm の検索パターン入力ルールに従い2つのスペースの並びを一つのスペースとして認識して検索するようにした。 2014/12/26 helm-swoop の機能を追加した。 2015/04/01 helm のバージョンが上がり、いくつか意味のなくなった設定があったので削除した。 2015/05/28 helm の最新バージョンでは、 helm-maybe-use-default-as-input変数 が helm--maybe-use-default-as-input という名前(-が一つ追加)に変更となった。この調整を行った。 2015/09/01 helm をバージョンアップしたところ、helm-swoop と helm-occur が正常に動かなくなった。helm-migemo が原因であることが分かったので、関連箇所を削除またはコメント化した。 2015/09/02 gnupack-11.00 の Emacs バージョン 24.2 をサポートする記載を削除しました。 2015/09/07 「ミニバッファに漢字を出す設定(MS-IME を使っている場合)」の設定が不要となったようなので削除した。 2015/09/10 rubikichi 氏により、helm-migemo の対策が行われていたので、helm-migemo を復活させた。 2015/09/10 advice を Emacs-24.4 以降の書式に見直した。 2015/09/15 2015/09/07 に削除した「ミニバッファに漢字を出す設定(MS-IME を使っている場合)」が実は必要な設定だったので復活した。 2015/09/20 helm の advice の設定で、w32-ime-composition-window を (minibuffer-window) に設定(let)するのは不要になっていたようなので削除した。 2015/10/07 helm-swoop が helm-migemo-mode に対応していないことと、本ページの設定を helm の基本機能のみにすることとしたことから、helm-swoop と helm-gtags の設定を削除した。 2016/02/02 find-file と execute-extended-command(M-x)が helmインタフェースを使わないようになったので、使うように設定を変更した。 2016/04/17 キーバインドに関する設定の見直しを行った。 2016/04/17 helm-do-grep のキーバインド設定箇所をコメント化した。 2016/04/28 ctl-x プレフィックスのキー設定の方法を見直した。 2016/06/03 helm-find-files で TAB補完が有効になるように設定した。 2018/05/25 helm を使っていて、「Wrong type argument window-live-p, nil」というメッセージが出力される場合の対策を追加した。 2018/08/26 locate コマンドで and 検索ができることが分かったので、helm-locate-command の設定を見直した。 2018/08/30 helm-idle-delay 変数は廃止となっていたようなので、設定を削除した。 2019/04/03 helm-occur の require が必要になったようなので、追加した。
https://w.atwiki.jp/coolnaurl/pages/28.html
BMSツクール2 おいしくなって新登場!! 最新版 Ver2.12 (2022/12/04) 更新 非パッケージ版https //dl.dropboxusercontent.com/s/dtcjniftam7d8u7/BMS_Maker2.12a.zip BMSツクール2の機能はもう更新されません。新バージョン(BMS Maker 3)用のプロジェクトファイルを保存できるようにしました。 「ファイルの保存」から「BMS Maker 3 Score File (*.bm3scr)」を選んでください。 アップデート(?)方法ダウンロードしたzipファイルを解凍し、中身を今使っている「BMSツクール2」のフォルダ内に全て上書きしてください。 または、古いバージョンの「Save」フォルダ内「Common.rvdata2」を新しい「BMSツクール2」の「Save」フォルダにコピペしてください。(このほうが楽かも) 概要デモ動画 特長 α版(Ver1.xx)との違い ありそうな質問(FAQ)既知の不具合/修正予定 使い方起動 基本操作 基本画面の操作「ノーツまとめ」ウィンドウ 「整理」ウィンドウ 「BMS化オプション」ウィンドウ 「BMS書き出し」ウィンドウ マーカー編集画面の操作「クォンタイズ」ウィンドウ WAVスライス画面の操作「トラックマーキング」ウィンドウ 「スライス」ウィンドウ 本体以外についてSave フォルダ Fonts フォルダ 更新履歴Ver2.12a Ver2.11a Ver2.10 / Ver2.10a Ver2.09 / Ver2.09a Ver2.08 / Ver2.08a Ver2.07 / Ver2.07a Ver2.06 / Ver2.06a Ver2.05 / Ver2.05a Ver2.04 / Ver2.04a Ver2.03 / Ver2.03a Ver2.02 Ver2.01 Ver2.00 概要 MIDIを読み込ませてなんやかんやしてBMSを自動的に生成するツールです。 使い方は下に載せますがわからないことがあればROKINA(https //twitter.com/lokina)まで直接問い合わせてください。 デモ動画 https //youtu.be/WrzihzTfMfg 特長 MIDIを読み込んでBMS向けに音切りできる!BMSファイルも出力できる! テンポ変化、コントロールチェンジにも対応しかしDAWが対応していないと意味がなかった。 和音やグライドノーツを一つのノートとして扱える!←神 サイドチェイン、キースイッチに対応!←神!!!!!!!!!! new! シーケンス化機能によりオートメーションに擬似対応!!←ヤバい!!!!!!!!!! 詳しくは「使い方」を見てください。 α版(Ver1.xx)との違い + ... 根本的に色々作り直しました。多分日本語フォルダを扱えるようになったと思いますが、念の為避けておくことをおすすめします。 BMSファイルの中身については、BMS関連ソフト(LR2やBMSEなど)がShift_JISにしか対応していないケースを考慮して、Shift_JIS(あるいはANSI)に制限されます。特に文字入力ダイアログにはSJIS準拠の文字列しか入力できません(äなどを入力しようとするとaなどに矯正されます)。 GUIを強化しました。MIDIファイルを読み込んだとき、ピアノロールを描画するようになりました。 「コードまとめ」などをトラック全体ではなく一部のノーツにだけ適用できるようになりました。 「キースイッチ指定」が視覚的に分かりやすくなりました。 「シーケンス化」により、元のMIDIの配列を崩さないまま音切りできる機能が追加されました。 WAV波形のビュワーを追加しました。波形を見ながらスライス位置を個別に調節できます。 8bit/16bit/24bitのPCM(通常のWAV)であれば再生してスライス位置を確認することもできます。(32bit float はAPIが対応していなかったので再生できません) WAVファイルの処理をDLL化したことで、WAVに関するもろもろの処理が高速化しました。特に「スライス」の待ち時間は長くても数秒程度に高速化されました。 作者は気付いていなかった(は?)のですが、24bitのWAVを読み込むと落ちる不具合がα版にありましたが、WAV読み込みアルゴリズムを作り直したことで副次的に解決しました。 地味に 32bit float とかでも読み込めます。(前述のとおり再生はできません) 現時点で無圧縮の PCM(つまりRIFF WAVE)にしか対応していません。主なDAWは普通にPCM出力に対応していると思うので圧縮済みWAVに対応する予定はありません。 ありそうな質問(FAQ) + ... 起動しようとするとOSがエラーを吐くGame.exe及びRun.batの起動時、Windows Defenderなどセキュリティソフトにより実行が阻止(最悪削除)される場合があります。本ソフトにウイルスは無いはずなので起動を許可してください。 非パッケージ版(バージョン名の末尾にaが付くもの)であればセキュリティソフトに怒られる可能性が低いので、こちらもご利用ください。 ピアノロールをスクロールするとガクガクする仕様です。メモリ節約のためピアノロールは一部だけ描画し、範囲外を表示しようとしたときに改めて描画するようになっています。 ピアノロールの描画にはRPGツクールの標準機能を使っていますが、これがあまり早くないためスクロールバーをぐりぐり動かすとFPSがガタ落ちします。 ドラッグ ドロップや「プログラムから開く」から開きたい無理です。RGSS Playerがそれらを検出できないためです。お手数ですがソフト側の「開く」を使ってください。 WAVスライス画面を開くとき、コンソールに「(データのロード中) しばらくお待ち下さい...」と表示され、しばらく待たされた上で波形の一部しか描画されない仕様です。RGSS Playerはメモリ制限がかなりキツいため、メモリリークを防ぐための措置です(*1)。波形が描画されていない部分も、音声の再生やマーク/スライスは正常に行えます。 波形を表示させたい場合、ソフト自体を一度終了して再度起動してください。編集状態は自動で保存されるので「ファイルの保存」はしなくても大丈夫です。 細かくいうと、波形データは内部でfloat型の配列として保持しており、2ch/44100Hzの場合1秒につき約350kBのメモリを消費します。メモリ消費が概ね500MB(24分程度)以上になると、この表示が出やすくなるようです。 なんかエラーが出て落ちたんだけどどうすればいいのエラーメッセージが表示されて落ちた場合、クリップボードにエラーの情報が格納されます。メモ帳などを開いて「貼り付け」るとバックトレースが出てきます。この内容をROKINAへの報告の際に添付するとなんかが楽になるかもしれませんので、お願いします。 既知の不具合/修正予定 + Ver2.09の不具合 「統合」機能を使った場合、既存のトラックと「結合」によって追加されたトラックとの間で変換オプションが共有される不具合がありました。解決するには、一度.mid形式で保存したあと、それを再度開き直す(*2)必要があります。このときシーケンス化などの編集状態は初期化されます。 使い方 起動 ゲームフォルダ(ゲームではないけど)を開き、Run.batを開いて起動します。OSが警告を出す場合は起動を許可してください(*3)。Game.exeから直接起動もできますが、コンソールウィンドウが表示されないためやや不便です。 最初の起動時には左のような表記言語選択用のウィンドウが表示されます。自分が使いたいほうの言語を選んでください。 起動に成功すると、左のような画面が表示されます。この画面をこのソフトの「基本画面」と呼ぶことにします。 + オートセーブについて 「BMSツクール2」では、なにか作業をするたびに現在の作業状況を自動的に保存する機能が付いています。この作業データは「Save」フォルダ内の「Common.rvdata2」に保存され、次回の起動時に読み込まれて作業状態が再現されます。 前回の「ファイルを開く」「ファイルに保存」からなにか作業をして(オートセーブが働いて)いた場合、「ファイルを開く」または「終了」ボタンを押すと内容が変更されている旨とそれを保存するかどうかを問うダイアログボックスが表示されます。このとき「はい」を選ぶと、現在開いているファイル内容が上書きされます。 この機能とは別に、基本画面の「ファイルに保存」によって作業状況を保存することもできます。このファイルは、上記の上書きを除いて勝手に変更されることはありません。 最後に「ファイルを開く」をしてからの作業内容を全てリセットしたい場合は、ソフトの終了ではなく同じファイルを改めて開いてください。(「元に戻す」を行い続けても同じ状態になります) 基本操作 主にマウスを使って操作します。主な操作は以下の通りです。(*4) + クリックで表示 左クリック/Enter/Zキー 決定ボタン:選択中の項目の決定、編集、実行などに使います。 右クリック/Esc/Xキー キャンセルボタン:編集中項目のキャンセル、開いているウィンドウを閉じる、メニューの表示(基本画面)などに使います。 カーソルキー 移動:基本画面などでは左右キーで画面のスクロール、上下キーでトラックやマーカーを移動します。ウィンドウでは上下キーで項目を移動し、左右キーで値を変更したりします。 F1キー ゲームのプロパティを開く:RPGツクール製ゲームに関する設定ウィンドウを開きます。カーソル移動や決定時のSEがうざったい場合は「BGS および SE を演奏する」のチェックを外すとよいです。「ゲームパッド」「キーボード」については、このソフトは特にキーコンフィグを参照しないため触れなくて大丈夫です。 F2キー FPS表示:このソフトは基本60FPSで動作します。ゲームではないのでフレームレートを気にする必要はありませんが、確認したければ表示しておくとよいです。 F5キー ウィンドウサイズ変更:ソフト起動時には「(疑似)最大化」された状態で起動しますが、画面が大きすぎて邪魔な場合はF5を押すことで通常サイズ(640x480)になります。もう一度押すともとに戻ります。 F9キー 言語選択:初回起動以降は、F9を押すと言語選択ウィンドウが表示されます。右上の「あ」のアイコンをクリックしても表示されます。現在とは異なる言語を選ぶと画面が暗転し、ウィンドウなどの内容が書き直されます。 F12キー ソフトリセット:RPGツクール製ゲームの標準機能で本来は「タイトルへ戻る」際に使われますが、このソフトでは編集状態は常に自動保存されるため、基本的にリセットする意味はありません。(*5)。 Alt+Enter フルスクリーン切り替え RPGツクール製ゲームの標準機能でゲーム画面をフルスクリーンにする(あるいは戻す)のですが、コンソールが見えなくなりウィンドウフォーカスの移動も面倒になるなどデメリットしかないので非推奨です。 PrintScreen スクリーンショット:ゲームフォルダ内ScreenShotsというフォルダに、現在の画面を保存します。本来のサイズ(640x480)で保存されます。編集画面を共有したいときなどにご利用ください。 その他の操作については、画面最上部の「ヘルプウィンドウ」に現在可能な操作が表示されます(文字数の都合で全ての操作が出るわけではありません)。また、画面上部のアイコンにマウスカーソルを乗せると、その機能を表す名前とショートカットキーが表示されます。 基本画面の操作 ピアノロール上を左ボタンドラッグで範囲選択します。Shiftキーを押しながら範囲選択すると、選択範囲の左端が最も近い「ノートの先端」に、右端が最も近い「ノートの後端」にフィットします。 ピアノロール上を右ボタンドラッグ、またはホイール回転で画面をスクロールします。Shiftキーを押しながらホイールを回転すると、別のトラックに移動します。 Ctrlキーを押しながらホイールを回転すると、横方向の拡大率を変更します。 画面のスクロールは、画面下部にマウスを移動させると出現するスクロールバー(下図)をクリック/ドラッグすることでもできます。 ピアノロール上で右ボタンを押して、マウスを動かさずに離すとシーケンス化に関するメニューを集めたウィンドウが開きます。 Ctrl+Jを押すと、開いているMIDIファイルの情報をJSON形式で保存できます。 上部アイコン「ヘルプウィンドウ」の下には、マウスクリックで機能を呼び出せる各種のアイコンが並んでいます。 + 個別解説 「ファイルを開く」(Ctrl+O) 新たにファイルを開きます。対象となるのはSMF(.mid)または独自データ形式(.btkdata)のいずれかです。後者はこのソフトの「ファイルの保存」によって作成されます。 「ファイルの保存」(Ctrl+S) 編集中のデータを保存します。デフォルトではマーカー、ノーツまとめ、シーケンスなど全ての情報を含む独自データ形式(.btkdata)が選択されていますが、SMF(.mid)形式での出力もできます(編集内容は失われます)。 「元に戻す」(Ctrl+Z) 直前の操作を取り消します。「直前の操作」とは、キースイッチの変更、ノーツまとめ、シーケンス化/解除、マーカー編集、自動シーケンス化、整理/BMS化オプション/BMS書き出しウィンドウの開閉(*6)、を指します。「元に戻す」の履歴はメモリ上に無制限に溜まっていきます(*7)。 「やり直し」(Ctrl+Y) 直前の「元に戻す」を取り消し(操作をやりなおし)ます。「元に戻す」を連続で行った回数だけ使えます。「元に戻す」以外になんらかの操作を行った時点で「やり直し」のデータは初期化されます。 「統合」(Ctrl+M) 編集中のデータに、他のファイルからトラック情報を追加します。アイコンをクリックすると表示されるファイル選択ダイアログでは複数のファイルを選択可能です。ひとつもノートが配置されていないトラックは追加されません。テンポ情報と拍子情報はコピーされず、編集中データの設定が維持されます。 「トラックの削除」(Delete) 「現在のトラック」を削除します。 「前のトラック」(↑) / 「次のトラック」(↓) 「現在のトラック」を切り替えます。ピアノロールには「現在のトラック」の情報が表示されます。このとき画面左にトラックのリストが表示されますが、マウスを画面左端にもっていくことでいつでも表示できます。 「トラック名の変更」(Ctrl+N) 「現在のトラック」の名前を変更します。クリックすると文字入力ウィンドウを表示します。トラックリストに (Conductor) と書かれているトラックの名前(*8)は、その曲自体のタイトルを表します。 「ピアノロール」(1) クリックするたびに、ピアノロール背景(縦方向のグリッド)の表示状態を切り替えます。 「小節線」(2) クリックするたびに、小節線(横方向のグリッド)の表示状態を切り替えます。 「オニオンスキン」(3) クリックするたびに、オニオンスキン(「現在のトラック」以外のトラック内容を描画する機能)の表示状態を切り替えます。 「ベロシティ」(4) クリックするたびに、ピアノロール上に「現在のトラック」の各ノートのベロシティを表示するかどうかを切り替えます。 「キースイッチ」(K) キースイッチ編集状態に切り替えます。 キースイッチ編集状態では、ピアノロール上を左クリックすることでそのノートナンバー(高さ)のノーツをキースイッチ扱いにします。右クリックでキースイッチ扱いを解除します。キースイッチが有効な部分は薄く黄色がかり、画面中央付近にノートナンバーが表示されます。を押すと編集を確定します。を押すと編集内容を破棄して元の画面に戻ります。 キースイッチに指定されたノーツは「整理」の対象にならず、キースイッチの状態が異なるノーツはそれ以外の要素が一致していても異なるものと扱われます。キースイッチ指定を編集した場合、「整理」を改めて行う必要があります。 「ノーツまとめ」(C) 「ノーツまとめ」のウィンドウを開きます。 「シーケンス化」(S) 選択中のノーツをシーケンスにまとめます。選択範囲にコードやシーケンスが含まれる場合、それら全てを結合します。 シーケンスは「整理」のとき分解されずそのままの形で扱われます。シーケンスは内部に一つ以上のスライスマーカーを持ち、BMSにおいてはこのスライスマーカーの個数ぶんのキー音に対応します。 「シーケンス解除」(D) 選択中のシーケンスを削除し、もとのバラバラなノーツの状態に戻します。範囲選択せずに押した場合、現在のトラックの全てのシーケンスを解除します。 「マーカー編集」(M) 選択中シーケンスのスライスマーカーを編集するサブウィンドウを開きます。選択範囲内に複数のシーケンスがある場合、最初の一つがその対象になります。 「整理」(Ctrl+1) 「整理」のウィンドウを開きます。 「BMS化オプション」(Ctrl+2) 「BMS化オプション」のウィンドウを開きます。 「WAVスライス」(Ctrl+3) WAVスライス用のサブウィンドウを開きます。「整理」した後でないと選択できません。 「BMS書き出し」(Ctrl+4) 「BMS書き出し」のウィンドウを開きます。一つ以上のトラックで「整理」を行ったあとでないと選択できません。 「言語選択」(F9) 言語選択のウィンドウを表示します。 「マウスクリップ」(F10) 押す度にマウスクリッピング(マウスカーソルがソフトのクライアントウィンドウから出なくなる)状態が切り替わります。Alt+Tabなどでウィンドウを切り替えると元々の状態に関わらずクリッピングは解除されます。 「更新の自動チェック」(F11) 有効にすると「BMSツクール2」の更新(バージョンアップデート)があるかどうかを確認し、ある場合はこのページを表示するかどうかの確認ダイアログを表示します。また、有効にしておくとこの更新確認作業を「BMSツクール2」の起動のたびに行うようになります。 「終了」(Ctrl+Q) 「BMSツクール2」を終了します。最後に保存したときから何か変更されている場合は、それを保存するかどうか聞かれます。この確認が表示されること以外はAlt+F4やウィンドウ自体の×ボタンを押した場合と同じです。 「ノーツまとめ」ウィンドウ 「ノーツまとめ」は、同時に鳴らされる複数のノーツを一つのグループ(ここではコードと呼びます)にまとめる機能です。最も基本的な使い方は、一つの和音をBMSにおける一つのキー音に対応させるような使い方です。「ノーツまとめ」を「実行」するとき、範囲内に既に存在するコードは全て一旦解除されます。 + 詳細 「対象」 「ノーツまとめ」を行う対象を選択します。選択範囲がある場合はその「選択範囲」内と「トラック全体」のいずれかを選びます。 選択範囲が無い場合は画像のように色が薄くなり変更できません。 「シーケンス」 「除外」または「含める」から選択します。 「含める」の場合、「実行」の際に対象範囲内のシーケンスは一旦全て解除されます。 「除外」の場合、シーケンスは全てそのままにされます。 「ノーツまとめ」 まとめかたを指定します。以下のいずれかから選択します。 「無効」ノーツまとめを行いません。既に存在するコードは全て分解されます。 「無制限」同時に鳴らされる全てのノーツを一つのコードにまとめます。 「2」「3」「4」「5」同時に鳴らされるノーツを、指定の個数まで一つのコードとしてまとめます。 例えば10個のノーツが同時に鳴る場合、「3」なら「3個-3個-3個-1個」の4グループにまとめられます。「5」なら「5個-5個」の2グループにまとめられます。 「-2」「-3」「-4」マイナスの値のときはノーツの数ではなくコードの数を指定することになります。 例えば10個のノーツが同時に鳴る場合「-2」なら「5個-5個」の2グループにまとめられます。「-3」なら「4個-3個-3個」の3グループにまとめられます。 「グライド」通常のノーツまとめは同時に発音されたノートのみまとめられますが、「グライド」モードではあるノートの発音途中に追加で鳴らされたノートを一つのコードにまとめます。 モノフォニックシンセでピッチベンドを使わずなめらかに音高を変えるときなどに利用できるかと思います。 「まとめ方向」 「ノーツまとめ」の指定が数値の場合、グルーピングを上(高い音)から始めるか下(低い音)から始めるかを指定します。 「ノーツまとめ」が「無効」「無制限」「グライド」のいずれかである場合には無視されます。 「実行」 「ノーツまとめ」を実行します。 このボタンを押ずにウィンドウを閉じた場合、設定内容は保存されますがノーツの状態は変化しません。 ノーツまとめの具体例 元の並び ノーツまとめ 2まとめ方向 上から ノーツまとめ 3まとめ方向 上から ノーツまとめ 2まとめ方向 下から ノーツまとめ 4まとめ方向 下から ノーツまとめ -2まとめ方向 上から ノーツまとめ -2まとめ方向 下から ノーツまとめ -3まとめ方向 上から 「整理」ウィンドウ 「整理」は、選択中のトラックのMIDIノーツを整理し、整列して音切り用のMIDIファイルを出力する機能です。 + 詳細 「曖昧さ」 音の強さ(ベロシティ)と発音長さが近いノートを同一とみなすしきい値を設定します。 「Vel」ベロシティの差がこれ以下のノートは同じ強さであるとみなします。 例えばこれを「5」にすると、ベロシティ 123~127 の間のノートが同一視されます。 ベロシティ変化が細かいと定義数がかさむのでここを設定するとよいでしょう。 「長さ」発音長さの差がこれ以下のノートは同じ長さであるとみなします。 例えばこれを「10」にすると、発音時間 990ms~1010ms の間のノートが同一視されます。 ここではテンポも考慮されるため、設定値を 0ms にしてあっても、例えばテンポ150bpmの8分音符とテンポ300bpmの4分音符は同じものとして扱われます。 テンポによってモジュレーションが変わったりするシンセの場合は工夫が必要です(面倒なのでまだ対応していません。) 「サイドチェイン」 サイドチェイン(あるトラックの音声を別のトラックに入力すること)のトリガーとなるトラックを指定します。たとえば Bass トラックに挿しているコンプ(これはDAW上での話です)のトリガーに Kick トラックを利用している場合、「サイドチェイン」に Kick を指定します。 サイドチェイントラックが指定されている場合、ノートの同一性判定にサイドチェイントラックのノーツも加味されることになります。 「出力ファイル名」 出力される整理済みMIDIファイルの名前を指定します。 デフォルトでは「(元のファイル名)_(トラック名)」となっています。必要があれば変更してください。 「頭空白」 出力されるMIDIの、先頭から最初のノートまでの空白を拍数単位で指定します。 基本的にはデフォルト値の 1 から変更する必要はありません。 「最低間隔」 ノートの終端(*9)から次のノートの始端までの間隔を拍数(四分音符)単位で指定します。 大きくしすぎると書き出されるWAVファイルが肥大化し、処理速度の低下やメモリ消費量の増大を招きます。小さくしすぎると前のノートの残響が次のノートに混ざってしまう可能性があります。 実際に使われる音源の性質に合わせて調節してください。 「書き出し」 「整理」を実行し、MIDIファイルを出力します。 「書き出して次へ」 「書き出し」た上で次のトラックの「整理」ウィンドウに切り替えます。有効なノーツの無いトラックは飛ばされます。 全てのトラックについて「ノーツまとめ」などを先に設定しておけば、このボタンを連打することで素早く「整理」を済ませることができます。 「整理」とは、各ノートに一意のインデックスを付ける作業を指します。 同一のノートは全て共通のインデックスを持ちます。同一とは、「曖昧さ」を考慮した上で音高(ノートナンバー)・強さ(ベロシティ)・長さの全てが同じである、という意味です。 コードとシーケンスについては、内包する全てのノーツが相対位置を含めて一致する場合に同一とみなされます。 インデックスは、基本的にはBMSにおけるWAV定義のインデックスと同じものであると考えてよいです。多重定義が行われる場合は、WAV定義と「整理」によるインデックスにズレが生じます。 「BMS化オプション」ウィンドウ 「BMS化オプション」は、選択中のトラックをBMSシーケンスにどう反映するかを設定するためのウィンドウです。他のウィンドウと異なり、これ自体は設定を決めるだけで何か作業をするわけではありません。また、同じ内容の設定項目が「トラックマーキング」のウィンドウにもあるため、必ずしも設定しておく必要はありません。 + 詳細 「並べ替え」 「有効」の場合、下の並べ替え優先度に従ってWAV定義リストを並べ替えます。 「無効」の場合、WAV定義リストのインデックスはMIDIでの各ノートの出現順と同じになります。 「1st」「2nd」「3rd」 「並べ替え」の基準を優先度順に指定します。「NN」はノートナンバー(音高)、「Vel」はベロシティ(強さ)、「Gate」は発音時間を表し、末尾の矢印は「↑」が昇順(小さいものが定義リストの上にくる)、「↓」が降順を表します。 デフォルトでは NN Vel Gate の優先度で全て昇順になっていますが、必要がなければ「無効」を選ぶこともできます。 比較の結果が同じ場合はMIDIでの出現順に並びます。 「多重定義間隔」 同一のノーツがこの指定値より短い間隔で鳴らされる場合、多重定義を行います。多重度はこの値とノートの長さに応じて自動的に(無制限に)決まります。キックドラムの16分ロールなど同じ音が連続するときは多重定義したほうがきれいに聞こえる場合があります。 「-1」にしておくと多重定義は適用されません。 「0」にしておくと、ノート終端と次のノート始端が接しているときだけ多重定義します。 「基本名」 WAV定義リストにおける名前の基本部分を指定します。基本部分とは、例えば定義名が「01_Drum_001.wav」ならば「01_Drum_」の部分です。 デフォルトでは「(トラック名)_」になっています。トラック名が無い場合は「01_」などになっています。 「接尾辞」 WAV定義リストにおける名前の末尾部分の形式を指定します。 「通し番号」「01_Drum_001.wav」「01_Drum_002.wav」「01_Drum_003.wav」... といったふうに、通し番号を使います。 この形式の場合、下の「開始番号」と「増加量」も同時に指定する必要があります。 例えば「開始番号」が「3」で「増加量」が「2」の場合、「01_Drum_003.wav」「01_Drum_005.wav」「01_Drum_007.wav」... といった形になります。 基本的にはどちらもデフォルトの設定でいいと思います。 「nn_vel_gate」「01_Drum_n36_v100_g48.wav」「01_Drum_n36_v100_g24.wav」「01_Drum_n38_v80_g96.wav」... といったふうに、ノートナンバー・ベロシティ・ゲート(長さ)のそれぞれを付加します。 差分作成を見越した場合、こちらの形式のほうが見やすいかもしれません。 コードやシーケンスの場合、最初に発音されるノーツだけが接尾辞に反映されます。 「直接入力」すぐ下のテキストエリアによって、直接任意の文字列を設定します。 文字列中の name は音階名(G4, C#2など)に、 nn はノートナンバーに、 vel はベロシティに、 gate はノートの(*10)長さに、 idx は通し番号にそれぞれ置き換わります。 「接尾辞」の指定が「通し番号」「nn_vel_gate」の場合、テキストエリアには自動でそれに対応した文字列が入力されます。 同じ名前が複数ある場合、MIDIでの出現順に合わせて2番目には「_2」、3番目には「_3」というふうに重複を表す数値が付加されます。 「次のトラック」 次のトラックの「BMS化オプション」を開きます。有効なノーツの無いトラックは飛ばされます。 「BMS書き出し」ウィンドウ 「BMS書き出し」は、「整理」を行った各トラックの内容をBMSシーケンスに反映し、出力する機能です。 + 詳細 「フォルダ名」 BMSファイルを出力するフォルダを指定します。 「WAVスライス」の保存先と共有です。 空文字列にするとゲームフォルダ内に保存されます。スライスされたWAVでフォルダが埋め尽くされるので、空文字列の指定は推奨しません。 デフォルトでは読み込んだMIDIがあるフォルダ内の「exported_bms」になっています。存在しないフォルダを指定した場合は自動で作られます。 「ファイル名」 出力されるBMSファイルの名前を指定します。 デフォルトでは読み込んだMIDIと同じ名前です。 拡張子は省略可能です。省略した場合や、.bms / .bme / .bml / .pms / .pml 以外の拡張子を指定した場合は「.bms」が自動的に付加されます。 「ジャンル」「タイトル」「作者」 それぞれ、BMSにおける「#GENRE」「#TITLE」「#ARTIST」タグの内容を指定します。 これらは通常のBMSエディタやメモ帳でも編集可能なので、ここで設定しておく必要はありません。 なお、「#PLAYER」「#PLAYLEVEL」「#DIFFICULTY」「#RANK」「#TOTAL」「#STAGEFILE」「#BACKBMP」「#BANNER」については適当な(*11)値に設定されます。必要に応じて、BMSエディタやメモ帳などで変更してください。 「BMSに反映」 BMSシーケンスに反映するトラックをチェックボックスで選択します。 「整理」を行っていないトラックは選択肢に現れません。 「開始定義番号」 最初のトラックの1つ目のWAV定義に充てるインデックスを指定します。 BGMを用意する場合はそのぶんを空けておくとよいです。 あまり大きくしすぎると定義数上限を超える可能性が高くなるので、基本的には「01」でいいと思います。 「定義間隔」 トラック間の定義番号の間隔を指定します。 例えば「1」にしておくと、トラック1についてのWAV定義が終わったあと、1つぶん定義を空けてトラック2のWAV定義を始めます。 トラックの境界を分かりやすくしたい場合に使えますが、あまり多様すると定義数を圧迫するので基本的には「0」でいいと思います。 「実行」 BMSファイルを出力します。 BMSシーケンスの生成中、WAV定義の数が1295を超えるとコンソールに警告が出ますがBMSファイルはそのまま出力されます。このとき定義番号("01"~"ZZ"で表されるもの)は2桁に矯正されるため、BMSとしては正しく読み込めますが曲としては崩壊します。 定義数の節約には「整理」におけるVelや長さの曖昧さを大きくしたり、そもそも「BMSに反映」するトラックを減らすなどの方法が挙げられます。 マーカー編集画面の操作 スクロールなどの基本操作は「基本画面」と同じです。 カーソル位置及び選択範囲は常にクォンタイズされます。 + 各アイコンの説明 「前のマーカー」(↑) / 「次のマーカー」(↓) カーソルを、現在位置の直前または直後のマーカーの位置に移動します。このとき範囲選択は解除されます。 「マーカーの追加/削除」(M) カーソル(選択範囲の始端)の位置にマーカーがあればそのマーカーを削除します。なければそこにマーカーを追加します。ただし、シーケンス先頭にあるマーカーは削除できません。 「マーカークリア」(Ctrl+C) 全てのマーカーを削除します。ただし、シーケンス先頭にあるマーカーは削除されません。 「ノーツマーク」(A) 選択範囲があれば選択範囲内の、なければシーケンス全体の各ノートの始端にマーカーを付けます。この機能は「シーケンス化」を行ったとき自動的に呼び出されます。 「範囲クリア」(Delete) 選択範囲内のマーカーを全て削除します。選択範囲が無い場合は何もしません。 「範囲自動付加」(Insert) 選択範囲内のマーカーを削除し、クォンタイズと同じ間隔で付け直します。選択範囲が無い場合は何もしません。 「クォンタイズ」(Q) カーソル/選択範囲の移動単位を指定します。デフォルトでは4分音符にフィットするようになっています。詳しくはクォンタイズの説明を見てください。 「自動シーケンス化」(Ctrl+S) 選択中のシーケンスと同じ並びのノーツを全てシーケンス化します。自動シーケンス化により生成されたシーケンスはマーカーの設定を共有します。「同じ並び」の判定には、ノートナンバー(音高)、ベロシティ(強さ)、長さの全てが一致する必要があります。ピアノロール上での見た目が同じでも長さが 1 違えば自動シーケンス化の対象にはなりません。 「クォンタイズ」ウィンドウ 「クォンタイズ」は、カーソルや選択範囲を特定の位置に矯正する機能です。時間方向のグリッドともいえます。このウィンドウではクォンタイズの基準を選択します。 + 詳細 「無効」 クォンタイズを無効にします。すなわち、カーソルの移動単位を1 tick(*12)にします。「直接入力」で「1」とした場合も同じ効果になります。 「直接入力」 クォンタイズ量を直接数値で指定します。単位は「マーカー編集」画面から開いた場合は tick に、「WAVスライス」画面から開いた場合はサンプルになります。(*13) 「ノーツ境界」 各ノートの始端および終端にフィットします。 「マーカー編集」画面においてはこの状態で「範囲自動付加」を行うと「ノーツマーク」と同じ動作になります。 「全音符」~「32分3連符」 各音符の音価に等しい長さでクォンタイズします。具体的には、4分音符の長さを 1 とした場合、 「全音符」は 4 「2分音符」は 2 「4分3連符」は 2/3 「8分音符」は 1/2 「8分3連符」は 1/3 (いわゆる12分音符) 「16分音符」は 1/4 「16分3連符」は 1/6 (いわゆる24分音符) 「32分音符」は 1/8 「32分3連符」は 1/12 (いわゆる48分音符) となります。 これらが具体的にどれくらいの長さ(tick, sample)であるかは、これらのいずれかを選択したあと「直接入力」を選ぶことで確認できます。例えば「4分音符」で一旦確定したあと、再びこのウィンドウを開いて「直接入力」を選ぶと「4分音符」に相当する長さがデフォルト値になっています(*14)。 WAVスライス画面の操作 左チャンネルは赤で、右チャンネルは青で表示されます。両方が重なる部分は紫色になります。 左ボタンドラッグで範囲選択します。左クリックでは選択範囲は初期化されず、カーソル(再生位置)だけが移動します。 左ダブルクリックをすると範囲選択を解除します。 スクロールバーの上で左クリック/ドラッグすると表示範囲をその場所へ移動します。 Ctrlキーを押しながら左ボタンドラッグすると直近のマーカー位置を動かします。 右ボタンドラッグ、またはホイール回転で画面をスクロールします。Ctrlキーを押しながらホイールを回転すると、横方向の拡大率を変更します。 スクロールバーの上で右クリック/ドラッグすると、その位置にカーソルを移動します。 中央ボタンドラッグで縦方向の拡大率を変更します。中央ダブルクリックで縦方向の拡大率を初期化します。 Ctrlキーを押しながら中央ダブルクリックをすると横方向の拡大率を初期化します。 スペースキーを押すとWAVを再生します。もう一度押すと停止します。選択範囲がある場合、その始端から終端までの範囲を再生します。選択範囲が無い場合、カーソル位置から再生されます。 再生は選択範囲(またはWAV全体)の終端で終了します。このときスペースキーが押しっぱなしにされていると、範囲の最初に戻って再生しなおします。 Ctrl+Jを押すと、開いているWAVファイルの情報をJSON形式で保存できます。 + 各アイコンの説明 「元に戻す」(Ctrl+Z) 直前のマーカー操作を取り消します。「ファイルを開く」または「トラックマーキング」を行うと「元に戻す」の履歴は初期化されます。 「やり直し」(Ctrl+Y) 直前の「元に戻す」を取り消し(操作をやりなおし)ます。「元に戻す」を連続で行った回数だけ使えます。「元に戻す」以外になんらかの操作を行った時点で「やり直し」のデータは初期化されます。 「前のマーカー」(↑) / 「次のマーカー」(↓) カーソルを、現在位置の直前または直後のマーカーの位置に移動します。このとき、そのマーカーから次のマーカーまでの範囲が選択されます。 「終端マーク」(M) カーソル位置に終端マーカーを追加します。カーソル位置に既に終端マーカーがある場合は削除します。 終端マーカーから次のマーカーまでの区間は、「スライス」時には切り捨てられます。 「まとめて移動」(Alt+M) 有効な場合、Ctrl+左ドラッグによるマーカー移動の際、動かしているマーカーより後ろにあるマーカー全てが連動するようになります。多くのマーカーを一括で動かしたい場合に使ってください。 「クォンタイズ」(Q) カーソル/選択範囲の移動単位を指定します。デフォルトでは無効になっています。詳しくはクォンタイズの説明を見てください。 「ファイルを開く」や「トラックマーキング」を行うとクォンタイズが狂うことがありますので、改めて設定してください。 「テンポ指定」(T) クォンタイズの基準となるテンポを指定するための入力ウィンドウを開きます。テンポとして指定可能な値は0より大きく1000000未満の任意の数値です。これ以外の値(*15)は無視されます。 「トラックマーキング」を実行すると、テンポの値は自動的に設定されます。また、「ファイルを開く」により開いたファイルにテンポ情報が含まれている場合は、その値に設定されます。(*16) 「トラックマーキング」(A) 「トラックマーキング」のウィンドウを開きます。 「スライス」(Ctrl+Z) 「スライス」のウィンドウを開きます。 「ファイルを開く」(Ctrl+O) 新たにWAVファイルを開きます。開いたWAVに対して特別な操作はしないので、すぐにCtrl+Jを押すことで任意のWAVファイルのタグ情報を確認することができます。 「ファイルの保存」(Ctrl+S) 開いているWAVに名前を付けて保存します。このときスライスマーカーやテンポの情報も一緒に保存されます。(*17) 「トラックマーキング」ウィンドウ 「トラックマーキング」は、MIDIトラックを読み込んでそれを元にWAVデータにスライスマーカーを配置する機能です。「WAVスライス」の画面を開いたとき自動的にこの機能が呼び出されますので、マーカー位置に不備があるなど、置き直したい場合にこのウィンドウを開くことになります。 + 詳細 「参照 MIDI ファイル」 スライスマーカーの元になるMIDIファイル名を指定します。 「整理」ウィンドウの「出力ファイル名」と連動します。 基本的にこの項目を変更する必要はありません。 「並べ替え」「接尾辞」 「BMS化オプション」と同じなので説明は省略します。 「終端マーク」 「有効」の場合、各ノート(あるいはコード/シーケンス)の終端に、ノート終端を示すマーカーを付加します。「スライス」の際、このマーカーより後ろの部分は切り捨てられます。 ハイハットシンバルなどの残響が極端に長い音源に対して、その残響を切り捨てたい場合などに使います。 「オフセット」 スライスマーカーの位置をこの値のぶんだけ左にずらします。 シーケンスがある場合は、この項目の値は変更せず、必要に応じて手動でマーカーを移動したほうがいいです。 「近傍最小」 各マーカーの位置を、その前後0.5ms(44100Hzの場合は22サンプル)で最も音量(RMS)の低い位置に移動します。 シーケンスがある場合、ぶつ切りに伴ってプチプチというノイズ(クリックノイズ)が発生しますが、この項目を有効にしておくとそのノイズを低減できるかもしれません。 なお、0.5msのズレは聴覚上はほとんど判別できません。 「実行」 トラックマーキングを実行します。 このとき、もともと配置されていたマーカーは全て削除されます。 「スライス」ウィンドウ 「スライス」は、WAVデータをスライスマーカーに従って分割し、別々のファイルとして保存する機能です。 + 詳細 「フォルダ名」 スライス済みのWAVファイルが保存されるフォルダを指定します。 「BMS書き出し」ウィンドウと共有します。 基本的に変更する必要はありません。 「基本名」 書き出されるファイル名の基本部分を指定します。基本部分とは、例えば定義名が「01_Drum_001.wav」ならば「01_Drum_」の部分です。 「BMSオプション」ウィンドウと共有します。 「無音カット」 各スライスの両端を、指定されたしきい値で切り捨てます。 「先頭無音レベル」スライスマーカーから、ここで指定された音量(dB)になるまでの区間を切り捨てます。参考までに、16bitの場合-90.3dB以下で「完全な無音」になります。 24bitの場合-138.5dB以下で「完全な無音」になります。 すなわち、デフォルト値の-144dBは24bit WAVにおける「完全な無音」を指しています。 32bit floatの場合「完全な無音」と区別される最小の音量はかなり小さな値になります。 マーカーを移動して各スライスに前方の空白を作っていたとしても、その区間がこの値以下の音量であればカットされます。 「末尾無音レベル」スライス区間の終端(次のスライスマーカーの位置)から逆向きに見て、ここで指定された音量(dB)になるまでの区間を切り捨てます。残響の長い音源では、この値を小さくしすぎると各スライスのファイルサイズが肥大化します。 聴覚上はデフォルトの-72dB程度でほとんど聞こえなくなると思いますが、必要に応じて調節してください。 「両端フェード」 各スライスについて、先頭/末尾からそれぞれの指定時間(サンプル単位)のフェードをかけます。「先頭」は、各スライスの先頭からのフェードインを指定します。 「末尾」は、各スライスの末尾へのフェードアウトを指定します。 シーケンスのぶつ切りに伴って発生するクリックノイズを低減するのに使えますが、スライス位置がより目立つようになるため、なめらかに変化するようなシーケンスの場合はフェードさせないほうがいいかもしれません。 0 以外の値を設定した場合、「実行」時にフェード処理のぶん追加の時間がかかりますので、シーケンスが存在しないなどフェードの必要性が薄い場合は 0 にしておくことをお勧めします。 「ビット深度」 出力される WAVファイルのビット深度(量子化ビット数)を指定します。デフォルトでは読み込んだWAVと同じになっていますが、必要がある場合は変更してください。 例えば元のWAVファイルが16bitの場合、24bit以上のビット深度への変更によって音質は向上しません。基本的には、32bit float や 24bit など高ビットレートであるような元WAVから低ビットレートに変換したい場合に使う機能です。 注:ビット深度変換はフェード処理と同じタイミングで行われます。各スライスの両端無音カットの時点ではビット深度はまだ変更されていないので、「無音レベル」の指定にはご注意ください。 「実行」 「スライス」を実行し、WAVファイルを出力します。 「スライスして次へ」 「スライス」た上で次のトラックの「スライス」ウィンドウに切り替えます。「整理」していないトラックは飛ばされます。 全てのトラックについて「整理」などを先に済ませておけば、このボタンを連打することで素早く「スライス」を済ませることができます。 本体以外について Save フォルダ ゲームフォルダ下の「Save」フォルダには「Vocab」フォルダと「Common.rvdata2」(*18)というファイルが入っています。 Common.rvdata2「BMSツクール2」のエディタ設定などが保存されるファイルです。「最後に編集した状態」もこのファイル内に格納されています。 ソフト起動時にこのファイルが読み込まれ、前回の編集状態を復元します。 削除すると全ての設定を初期化できます。 Vocab フォルダソフト内のヘルプウィンドウなどに表示する各種文字列を定義する JSON ファイルが入っています(こんな感じ)。 初期状態では「English.json」と「日本語.json」が存在します。これと同じ書式のJSONを作成すれば、任意の言語で説明を表示させることもできます。ただし標準のフォント「VL Gothic」は欧文及び日本語のかな/漢字にしか対応していないので、アラビア文字やハングルなどを描画させたい場合は、システムに対応したフォントをインストールした上で fontname の内容を変える必要があります。 「VL Gothic」以外のフォントが正常に描画されるかは保証できません。フォントによっては字が大きすぎてはみ出す可能性もあるため、同時に fontsize も変えるといいです。 「BMSツクール2」の本体(Game.exe)には「日本語.json」の内容がそのまま格納されているので、このフォルダを空にしてもUIの文字が消えたりはしません。 前述の「言語選択」の際、ウィンドウにはこれらのファイル名がそのまま表示されます。 Fonts フォルダ ソフトで仕様する標準フォント「VL Gothic」が(再配布条件を満たした状態で)そのまま入っています。「BMSツクール2」のディスクサイズの7割がこのフォントによるものです。削除した場合、システムに「VL Gothic」がインストールされていなければソフトを起動できなくなります(*19)ので、基本的には削除/変更しないでください。 逆にいえば、システムに「VL Gothic」がインストールされていればこのフォルダを削除してディスクサイズを削減できます。 + 非パッケージ版の同梱ファイル Audio フォルダ SE Buzzer1.ogg / Cancel2.ogg / Cursor2.ogg / Decision3.ogg「BMSツクール2」でカーソルの移動や決定などを行ったときに鳴る音声です。 削除すると音が鳴らなくなります。(エラーは起こりません) 同じ名前で別の音声ファイルに差し替えると、操作時の音声が変わります。 System フォルダ HNDINPUT.dllマウスのホイール操作を取得するためのライブラリです。 これを削除するとホイール操作が効かなくなります。(エラーは起こりません) LNSLib.dll主に WAV ファイルの操作時に使われるライブラリです。 削除すると「BMSツクール2」が起動できなくなります。(エラーが起こります) RGSS301.dllRGSS Player の本体です。Game.exe からRubyの機能を呼び出す際に使われるライブラリです。 削除すると「BMSツクール2」が起動できなくなります。 Game.ini Game.exe の起動に関する初期化情報を格納するファイルです。変更しないでください。 ファイル名を Game 以外にすると起動しなくなります。 Game.rgss3a 「BMSツクール2」のスクリプトデータや画像データなどが格納されたコンテナファイルです。 当然ながら削除すれば起動できなくなります。 ファイル名を Game 以外にすると起動しなくなります。実は「Game.exe」「Game.ini」「Game.rgss3a」の全てを同じ名前にしておけば名前を変更しても起動します。 更新履歴 Ver2.12a + 2022/12/04 更新 2022/12/04 更新https //dl.dropboxusercontent.com/s/dtcjniftam7d8u7/BMS_Maker2.12a.zip 不具合修正BMS Maker 3用のプロジェクトファイルを保存する際、「接尾辞」が正しく設定されていなかった不具合を修正しました。 Ver2.11a + 2022/10/10 更新 2022/10/10 更新https //dl.dropboxusercontent.com/s/jrc2qgah2dphqmh/BMS_Maker2.11a.zip BMSツクール2としては最後の更新の予定です。 機能追加新バージョン(BMS Maker 3)用のプロジェクトファイルを保存できるようにしました。 「ファイルの保存」から「BMS Maker 3 Score File (*.bm3scr)」を選んでください。 Ver2.10 / Ver2.10a + 2021/11/08 更新 2021/10/30 更新https //dl.dropboxusercontent.com/s/fumf6zqcorzmd79/BMS_Maker2.10.zip https //dl.dropboxusercontent.com/s/8hi5yo54ptjvre5/BMS_Maker2.10a.zip 仕様変更(2021/11/08追記)WAVデータの保持方法を変更し、メモリ専有量がおよそ半分になりました。 不具合修正「結合」機能を使った場合、既存のトラックと「結合」されたトラックとの間で変換オプションが共有されていた不具合を修正しました。 (2021/11/08追記)上記の仕様変更がDLLに反映されておらず、WAVスライスが正常に行われていませんでした。現在ダウンロード可能なアーカイブでは修正されています。 Ver2.09 / Ver2.09a + 2021/08/02 更新 2021/08/02 更新https //dl.dropboxusercontent.com/s/ksro43ivko31t4f/BMS_Maker2.09.zip https //dl.dropboxusercontent.com/s/emo4phn5yzzjnem/BMS_Maker2.09a.zip 仕様変更「マウスクリップ」と「更新の自動チェック」のショートカットキーを変更しました。「マウスクリップ」は Ctrl+M から F10 に変更されました。 「更新の自動チェック」は F10 から F11 に変更されました。 「マウスクリップ」と「言語選択」のアイコン位置を入れ替えました。 不具合修正「整理」機能にて、「サイドチェイン」を指定したとき整理が正しく処理されていなかった不具合を修正しました。 Ver2.08 / Ver2.08a + 2021/05/15 更新 2021/05/15 更新https //dl.dropboxusercontent.com/s/fqzbduf0t7b9nyz/BMS_Maker2.08.zip https //dl.dropboxusercontent.com/s/r9ahqhn5j1tecyu/BMS_Maker2.08a.zip 機能追加基本画面にて「統合」と「トラックの削除」を追加しました。 「統合」は編集中のデータに別のファイルのトラックデータを追加する機能です。FL Studioなど、トラック単位でないとMIDIファイルの出力が面倒なDAWへの対応です。 アイコンを押すとファイル選択ダイアログが表示されます。ここでは複数のファイルを選択可能です。 任意数のファイルを選択後「開く」ことで、選択した全てのファイルに含まれる全てのトラックをまとめて追加します。 ノートが一つもないトラックはコピーされません。 「トラックの削除」はピアノロールに表示中のトラックを削除する機能です。 2つとも「元に戻す」が可能なため、うっかり追加してしまったりうっかり削除してしまったりしても大丈夫です。 Ver2.07 / Ver2.07a + 2021/03/07 更新 2021/03/07 更新https //dl.dropboxusercontent.com/s/fbt09c088cjjzcj/BMS_Maker2.07.zip https //dl.dropboxusercontent.com/s/c4t61vutwpqe384/BMS_Maker2.07a.zip 機能追加「WAVスライス」画面で終端マーカーの編集が可能になりました。詳しい仕様はWAVスライス画面の説明を見てください。 クォンタイズの選択肢に「無効」と「ノーツ境界」を追加しました。 「WAVスライス」画面に「元に戻す」「やり直し」機能を追加しました。これはマーカーの移動を取り消すための機能で、「ファイルを開く」または「トラックマーキング」を実行すると履歴が消去されます。 「WAVスライス」画面にクォンタイズ機能を追加しました。 「WAVスライス」画面のJSON出力にて、以下のチャンクの内容を正常に(*20)出力できるように対応しました。"acid" チャンク "smpl" チャンク "strc" チャンク(不明な要素が多い) "inst" チャンク "ltxt" チャンク 仕様変更「整理」ウィンドウにて、「終端マーク」の項目を削除し、代わりに「WAVスライス」画面の「トラックマーキング」ウィンドウに追加しました。 「WAVスライス」画面の「トラックマーキング」ウィンドウにて、「基本名」の項目を削除し、代わりに「スライス」ウィンドウに追加しました。 PrintScreenキーでスクリーンショットを撮る際、保存される画像と同じ内容の画像がクリップボードにセットされるようになりました。(*21) 不具合修正基本画面にてCtrl+JによりJSONファイルを出力した際、しばらくフリーズする不具合を修正しました。 基本画面にて、特定条件で「ファイルを開く」を行ったあと「元に戻す」とエラーが発生する不具合を修正しました。 Ver2.06 / Ver2.06a + 2021/03/02 更新 2021/03/02 更新https //dl.dropboxusercontent.com/s/17b3wae6c1v3jpw/BMS_Maker2.06.zip https //dl.dropboxusercontent.com/s/wiyboof4kr2sxj3/BMS_Maker2.06a.zip 機能追加基本画面と「WAVスライス」画面にて、Ctrl+Jを押すことで開いているファイルの概要をJSON形式で書き出す機能を追加しました。アイコンはありません。キーボードからのみ呼び出せる機能です。 特にWAVファイルについては、「WAVスライス」画面では表示されない各種タグ情報をJSONで確認できるため、WAVの情報を得るのにいいかもしれません。 仕様変更フォルダ名構成を変更しました。(BMS_Maker2.x.x → BMS_Maker2.xx) 各種設定ウィンドウ(背景が緑色のもの)の背景の不透明度を増加しました。以前のバージョンより内容が見やすくなりました。 「マーカー編集」画面の「範囲自動付加」の際、選択範囲終端にはマーカーを追加しないように変更しました。「範囲クリア」については元から選択範囲の終端を含まない処理だったので、こちらに合わせた形となります。 「WAVスライス」画面の「ファイルを開く」にて、ダイアログのタイトル欄に選択中トラックの名前を表示するように変更しました。 「WAVスライス」画面の「ファイルを開く」にて、開いたWAVファイルにマーカーを自動付加しないように変更しました。「WAVスライス」画面を開いたときの自動付加は引き続き有効です。 既にマーカー付加済みのWAVがあり、そのマーカーを確認したいときなどに有効です。 この仕様変更に伴い、「WAVスライス」画面の「ファイルを開く」からWAVを読み込んだ場合、スライスマーカーは「トラックマーキング」により改めて付け直すことが必要になりました。 「ファイルを開く」の後何もせずに「WAVスライス」画面を閉じ、再び開くことでもマーカーが付加されます。 いくつかの用語(Vocab/日本語.json 及び Vocab/English.json 内)を変更しました。 不具合修正「WAVスライス」画面の「ファイルの保存」にて、上書き保存(開いているファイルをそのままの名前で保存)するとWAVファイルの中身が消滅する不具合を修正しました。 「整理」画面の「書き出し」時に、元々のトラックが持っていたチャンネルの情報が、出力されるMIDIに反映されていなかった不具合を修正しました。 基本画面の「ファイルの保存」にて、キースイッチを指定しているとキースイッチ指定のノーツが二重に書き込まれる不具合を修正しました。 Ver2.05 / Ver2.05a + 2021/02/27 更新 2021/02/27 更新https //dl.dropboxusercontent.com/s/skxigup02mla7pz/BMS_Maker2.05.zip https //dl.dropboxusercontent.com/s/9vzuuul1f6q00je/BMS_Maker2.05a.zip 機能追加基本画面のUIに「更新の自動チェック」を追加しました。有効な場合、起動時にバージョンの更新を確認し、更新があればこのページへ誘導するようにしました。 有効にした際にも更新チェックを行います。 実験機能です。Ver2.05時点ではこのページを開くだけでアップデート機能そのものはありません。将来的にはソフト単体でアップデートまで可能にするかもしれません。(*22) 不具合修正「整理」「BMS化オプション」「WAVスライス」「BMS書き出し」のショートカットキーが機能しない不具合を修正しました。 「WAVスライス」画面の「スライス」ウィンドウにて、特定条件(*23)で「実行」するとエラーが発生する不具合を修正しました。 Ver2.04 / Ver2.04a + 2021/02/26 更新 2021/02/26 更新https //dl.dropboxusercontent.com/s/bie6onqu2dxivcg/BMS_Maker2.04.zip https //dl.dropboxusercontent.com/s/yuqy535fov0lgn4/BMS_Maker2.04a.zip 仕様変更「WAVスライス」画面の「スライス」ウィンドウにて、「ビット深度」の項目を追加しました。 「マーカー編集」画面にて、カーソルキーの上下で画面がスクロールしないように変更しました。Shiftキーを押しながらホイールを回すことで上下方向にスクロールできます。 「BMS書き出し」ウィンドウにて、「実行」により書き出されるBMSファイルの改行コードをLFからCRLFに変更しました。 不具合修正通常画面にて、「トラック名の変更」を行おうとするとエラーが発生する不具合を修正しました。 「WAVスライス」画面の「ファイルを開く」でWAVファイルを開いたとき、波形表示部分に反映されない不具合を修正しました。 Ver2.03 / Ver2.03a + 2021/02/24 更新 2021/02/24 更新https //dl.dropboxusercontent.com/s/0wy7kqwosmkmz8c/BMS_Maker2.03.zip https //dl.dropboxusercontent.com/s/5y8co3r0o94wvdv/BMS_Maker2.03a.zip 非パッケージ版 (2.03a)通常版が Windows Defender などにウィルス判定を食らうことがあるため、Audioフォルダなど通常版では Game.exe にパッケージされていたものをそのままにしたバージョンもダウンロードできるようにしました。 通常版の「Game.exe」に同梱されていた「Audio」「System」「Game.ini」「Game.rgss3a」が独立のフォルダ/ファイルとして存在しています。 通常版と同じく「Game.exe」または「Run.bat」により起動します。機能は全て同一です。 仕様変更「BMS化オプション」及び「トラックマーキング」にて、「接尾辞」の設定方法を変更し、任意の文字列を指定できるようになりました。 Ver2.0.1で「整理」を行っていた場合、再度「整理」を行ってください。 不具合修正またもやDLLが読み込めなくなっていたため修正しました。 Ver2.02 + 2021/02/23 更新 2021/02/23 更新起動できない不具合があったため公開停止 機能追加「ファイルを開く」から現在編集中のものと同じファイル(*24)を開こうとした際、現状のシーケンス化などの設定を保ったままアップデートできるようになりました。ノートナンバー、長さ、ベロシティのいずれかが変更された部分の「シーケンス化」は解除されます。 ノートの配置ミスなどにより元々のMIDIファイルを修正したとき、最小限の操作で以前の編集状態を再現できるようになりました。 仕様変更「BMS化オプション」などのウィンドウで何も設定を変更せずに閉じた場合は「元に戻す」のカウントが更新されないようになりました。 キースイッチ指定により実質のノート数が 0 になったトラックは「整理」できないようにしました。 「コードまとめ」ウィンドウに「シーケンス除外」の項目を追加しました。 「WAVスライス」内の「トラックマーキング」ウィンドウに「基本名」の項目を追加しました。 不具合修正プログラム起動後、「整理」画面を経由せずに「WAVスライス」を開くとエラーが発生する不具合を修正しました。 特定条件で「BMS書き出し」を行うとエラーが発生する不具合を修正しました。 Ver2.01 + 2021/02/20 更新 2021/02/20 更新https //dl.dropboxusercontent.com/s/z3kg3feh3iuktuu/BMS_Maker2.01.zip 不具合修正DLLが読み込めない旨のRuntimeErrorが発生する不具合を修正しました。(*25) 日本語フォルダに対応できていなかった不具合を修正しました。 誤ってROKINAがデモで使っていたMIDIのデータが含まれていたので削除しました。 Ver2.00 + 2021/02/19 公開 2021/02/19 公開起動できない不具合があったため公開停止 名前 コメント