<?xml version="1.0" encoding="utf-8" ?>
<rdf:RDF
  xmlns="http://purl.org/rss/1.0/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
 >

  <channel rdf:about="http://sourceforge.jp/projects/dtxmania/wiki/!feeds/list">
    <title>DTXMania Wiki</title>
    <link>http://sourceforge.jp/projects/dtxmania/wiki/!feeds/list</link>
    <description>
      SourceForge.jp Wiki pages for DTXMania.    </description>
        <dc:date>2013-02-15T00:49:29+09:00</dc:date>
        <items>
      <rdf:Seq>
                <rdf:li rdf:resource="http://sourceforge.jp/projects/dtxmania/wiki/WASAPI%2FASIO%E5%AF%BE%E5%BF%9C%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/dtxmania/wiki/FrontPage" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/dtxmania/wiki/%E9%96%8B%E7%99%BA%E3%83%A1%E3%83%A2" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/dtxmania/wiki/%E6%96%B0%E6%A9%9F%E8%83%BD%E3%81%AE%E4%BB%95%E6%A7%98" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/dtxmania/wiki/%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E9%81%8B%E7%94%A8%E6%89%8B%E9%A0%86%EF%BC%88%E7%AE%A1%E7%90%86%E8%80%85%E7%94%A8%EF%BC%89" />
              </rdf:Seq>
    </items>
  </channel>

      <item rdf:about="http://sourceforge.jp/projects/dtxmania/wiki/WASAPI%2FASIO%E5%AF%BE%E5%BF%9C%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6">
    <title>WASAPI/ASIO対応について</title>
    <link>http://sourceforge.jp/projects/dtxmania/wiki/WASAPI%2FASIO%E5%AF%BE%E5%BF%9C%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6</link>
    <dc:identifier>WASAPI/ASIO対応について</dc:identifier>
    <dc:date>2013-02-15T00:49:29+09:00</dc:date>
        <description>
      <![CDATA[旧DTXMania＝095以前、新DTXMania＝096以降、を指します。

●WASAPI/ASIO対応の実装について

 * 基本的には、ＦＲＯＭ氏の!StorkeStyle&lt;T&gt;(以下、SST)での実装をそのまま流用している。SSTの設計詳細については、氏のサイトを参照のこと：
　http://mainori-se.sakura.ne.jp/sst/wiki.cgi?]]>
    </description>
    <content:encoded>
      <![CDATA[<p>旧DTXMania＝095以前、新DTXMania＝096以降、を指します。
</p><p>●WASAPI/ASIO対応の実装について
</p><ul><li>基本的には、ＦＲＯＭ氏のStorkeStyle&lt;T&gt;(以下、SST)での実装をそのまま流用している。SSTの設計詳細については、氏のサイトを参照のこと：
</li></ul><p>　<a href="http://mainori-se.sakura.ne.jp/sst/wiki.cgi?page=FrontPage" class="external" rel="nofollow">http://mainori-se.sakura.ne.jp/sst/wiki.cgi?page=FrontPage</a>
</p><ul><li>本体の全体的な設計方針の違いから、SSTでのサウンド実装の設計をいくつかDTXMania向けに変更した上で取り込んでいる。主な違いは以下の通り；
<ul><li>Global.cs相当の内容を、CSound.csのCSound管理 クラスに取り込んでいる。　(DTXManiaのFDKにはCSound管理 クラスがあるが、SSTのそれには、無い。)
</li><li>タイマーの扱い。
<ul><li>旧DTXMania: システムのタイマーを使用。演奏で使われているタイマーと同じタイマーである保証はないため、環境によって音ズレが発生する。AdjustWave機能で小節毎にタイムシークし辻褄合わせをしていた。また、1つのタイマーで、描画進行とサウンド再生の両方の面倒を見ている。
</li><li>SST:　サウンド再生においては、クロックを自力算出する。また、描画進行とサウンド演奏は別々のタイマーで管理。
</li><li>新DTXMania: サウンド再生についてはSSTと同じ。全体進行については旧DTXManiaと同じ。
</li></ul></li><li>旧来のDTXManiaプロジェクトで使用していたメソッド名を CSound管理 クラスやCSound クラス内にラッパーメソッドとして新設。
</li><li>bassmixによるサウンドのミキシングのやり方を変えている。SSTでは単純に使用する全てのサウンドをミキサーに登録した上で使用しているが、DTXManiaではとあるサウンドの使用予定期間の前後で動的にミキサーに登録・削除している。理由は後述。
</li></ul></li></ul><ul><li>SSTでは、WASAPI共有モードを使用できるが、DTXManiaでは使用不可。これは単純にWASAPIの適用範囲を占有モードに限定したかったためにこうしている。
</li></ul><ul><li>xaの再生は、xadec.dllを併用して行う。ただし、従来のDTXManiaでは、サウンドの再生長が5秒以上か否かによって疑似ストリーム再生かオンメモリ再生かの自動切り替えを行っていたが、新DTXManiaでのxa再生はオンメモリ再生のみの対応となる。
</li><li>WASAPI/ASIO利用時(=BASSライブラリでの再生時)は、xa以外は全てBASSで直接ストリーム再生される。(再生長がごく短いドラムのチップ音なども実際にストリーム再生されて いるのかどうかは未確認)
</li></ul><ul><li>DirectSound使用時は、xa, ogg, mp3をオンメモリ再生で扱う。mp3, oggのデコードは、SoundDecoder.dllで行う。xaのデコードは、xadec.dllで行う。
<ul><li>xa: ストリーム再生の実装が面倒だったため
</li><li>mp3: 後述の通りデコーダ由来と思われる問題が見つかったため。
</li><li>ogg: システムでのデコードが非常に低速であったため。
</li></ul></li></ul><ul><li>DirectSound使用時、mp3はシステムのデコーダを使わずSoundDecoder.dll内のデコーダを用いる。システムのデコーダを使用時、サウンド先頭にノイズが載る場合があったため。(デコーダがID3タグに非対応だからか？詳細未調査。)
</li></ul><ul><li>WASAPI/ASIO動作中は、AdjustWavesの設定が自動で無効化される(OFF固定)。極力サウンド再生のタイマー(に沿ったオリジナルタイマー)で全体進行を行うことで、AdjustWaves動作が原理的に不要になるため。
</li></ul><ul><li>WASAPI/ASIO対応に当たって、BASSライブラリならびに、その.NETラッパーであるBASS.NETライブラリを使用している。
<ul><li>BASS: <a href="http://www.un4seen.com/" class="external" rel="nofollow">http://www.un4seen.com/</a>
</li><li>BASS.NET: <a href="http://www.bass.radio42.com/" class="external" rel="nofollow">http://www.bass.radio42.com/</a>
</li></ul></li></ul><ul><li>使い方は、同ライブラリのサンプルコードや、DTXMania/SSTのソースコードを 参照のこと。例えば、DTXManiaのソースで言うと、FDK19/コード/03.サウンド/CSoundDevice(WASAPI|ASIO).cs や、同パスの CSound.cs あたりが、WASAPI/ASIO関連の実装となる。
</li></ul><p>●bassmixでのミキサー管理
</p><ul><li>BASSでWASAPI/ASIOを使う場合、通常は一つのサウンドしか同時に再生できない。2つ以上のサウンドを同時に再生する場合は、bassmixライブラリを併用してミキシングを行う必要あり。
</li><li>ただし、ミキシングしているストリーム数が多くなると、再生が非常に重くなる。DTXManiaでギター曲を従来設計のまま再生しようとすると、チップ音x最大同時再生数(通常4)で1000越えのストリームがミキサーに登録されて再生が非常に重くなる。(私の環境(Win7x64, AMDの2.3GHzの4core)の場合、ミキシング数が100を超えると ピクピク重くなり始め、200を超えると我慢できない程度の重さになるようだった)
</li></ul><p>　このため、サウンドを使用するタイミングの前後で、動的にミキサーへの登録・削除を行うことで、演奏中に同時にミキシングしているストリーム数を減らし、再生負荷を軽くするよう、設計を見直している。
</p><p>　この機能を実現するため、DTXファイルの読み込み時 (正確には、WAVチップ音を読み込んだ後) に、全チップの出現/消失タイミングをパースし、個々のチップの発生前後でミキサー登録・削除を意味する不可視チップを配置している。
　　DA: ミキサーに登録
　　DB: ミキサーから削除
</p><p>　具体的な登録・削除のタイミングはチップの種類により異なる。
</p><ul><li>ギター・ベース: 　発音の800ms前にミキサー登録, 消音の500ms後に削除・・・のはずが
</li></ul><p>　　　　　　実際には発音の500ms前にミキサー登録, 消音の800ms後に削除。
</p><ul><li>効果音: 　　　　　発音の200ms前にミキサー登録, 消音の500ms後に削除・・・のはずが、
</li></ul><p>　　　　　　実際には発音の500ms前にミキサー登録, 消音の800ms後に削除。
</p><ul><li>その他(ドラム等): 発音の1000ms前にミキサー登録, 消音の800ms後に削除
</li></ul><p>　結果的には開発当初の意図とは異なる実装になってしまっている(バグ)が、試しに意図を正確に反映したところかえって(私の環境では)再生負荷が増えてしまったため、096リリース時点では触らずにそのままにしている。
</p><ul><li>ミキサーへの登録・削除処理は、メインスレッドで実行している。具体的には、演奏画面のメインループでミキサー登録/削除指示のキューをチェックし、指示があれば最大2つ分ずつ処理をする、というもの。 (キューへの操作登録も、同じくメインスレッドのメインループ内で行う)
</li></ul><p>　最初は別スレッドにイベントを飛ばして、別スレッド内で適当な時間間隔を空けつつミキサー処理を実施するという実装を試みたが、再生負荷が改善されなかった。しかし、ほぼ同じ処理をメインスレッド内で処理したところ、大幅に再生負荷が改善されたため、現在はメインスレッドでミキサー操作処理を行う設計としている。
</p><ul><li>ミキサー操作(登録・削除)の頻度は、VSyncWait=OFFの時で7msあたり最大で2回ずつ、VSyncWait=ON時は、16.7msあたり最大で2回に制限している。　(最初は各々1回ずつにしていたが、ベンチマーク用のDTXデータ (信心ワールドエンドExt)でミキサー登録が間に合わないケースが見受けられたため、同2回ずつに増やした)
</li></ul><ul><li>同時ミキシング数を更に削減するため、チップの種類毎に最大同時再生数を変えている。具体的には
<ul><li>ドラム: 　　　　Config.iniのPolyphonicSoundsで指定した値 (デフォルトで4)
</li><li>ギター・ベース: 2か1 (!Polyphonic..が1のときに1, さもなくば2)
</li><li>BGM/SE: 　　　　1
</li></ul></li></ul>]]>
    </content:encoded>
      </item>
        <item rdf:about="http://sourceforge.jp/projects/dtxmania/wiki/FrontPage">
    <title>FrontPage</title>
    <link>http://sourceforge.jp/projects/dtxmania/wiki/FrontPage</link>
    <dc:identifier>FrontPage</dc:identifier>
    <dc:date>2013-02-14T00:42:26+09:00</dc:date>
        <description>
      <![CDATA[----
= DTXMania プロジェクト ドキュメント =
----

DTXMania プロジェクトWikiページにようこそ。


== ユーザの方へ： ==


プロジェクト参加者以外の方は、この wiki は使用できません（参照のみ可能です）。[[BR]]
 1. &#039;&#039;&#039;ユーザ用ドキュメント&#039;&#039;&#039;に関しては]]>
    </description>
    <content:encoded>
      <![CDATA[<hr /><h1 id="h1-DTXMania.20.E3.83.97.E3.83.AD.E3.82.B8.E3.82.A7.E3.82.AF.E3.83.88.20.E3.83.89.E3.82.AD.E3.83.A5.E3.83.A1.E3.83.B3.E3.83.88">DTXMania プロジェクト ドキュメント</h1><hr /><p>DTXMania プロジェクトWikiページにようこそ。
</p><h2 id="h2-.E3.83.A6.E3.83.BC.E3.82.B6.E3.81.AE.E6.96.B9.E3.81.B8.EF.BC.9A">ユーザの方へ：</h2><p>プロジェクト参加者以外の方は、この wiki は使用できません（参照のみ可能です）。<br />
</p><ol><li><strong>ユーザ用ドキュメント</strong>に関しては、<a href="http://mainori-se.sakura.ne.jp/dtxmania/wiki.cgi?page=qa%5Findex" class="external" rel="nofollow">DTXMania 公式ページの「Q&amp;A」</a>を参照下さい。
</li><li><strong>要望・バグ報告</strong>に関しては、項目ごとに <a href="http://sourceforge.jp/ticket/newticket.php?group_id=5350">新規チケットを発行</a> して下さい。
<ol><li>要望や報告が複数あるときは、「<strong>１チケットにつき１要望or1報告</strong>」として、要望・報告の数だけ個別にチケットを発行して下さい。
</li><li>その項目に関する議論は、フォーラムではなく、それぞれのチケットの中で行います。
</li><li>チケット内でコメントの投稿などが行われると、「チケット作成者」「プロジェクト参加者」「そのチケットをモニタしている人」すべてに更新メールが通知されます。
</li><li>よって、チケット作成者やモニタを行いたい人は、<a href="http://sourceforge.jp/projects/dtxmania/wiki/SourceForge">SourceForge</a>.JP のアカウント登録を行って、メールを登録しておくことをお勧めします。（Webブラウザ上に表示されるフォーラム最新記事一覧のような機能は、チケットにはありません。）
</li></ol></li><li><strong>質問</strong>に関しては、まず <a href="http://mainori-se.sakura.ne.jp/dtxmania/wiki.cgi?page=qa%5Findex" class="external" rel="nofollow">DTXMania 公式ページの「Q&amp;A」</a>を参照いただき、それから「<a href="http://sourceforge.jp/forum/forum.php?forum_id=24382">質問フォーラム</a>」をご利用下さい。
</li><li>本プロジェクトのチケットやフォーラムは、<strong>匿名投稿</strong>が可能です。<a href="http://sourceforge.jp/projects/dtxmania/wiki/SourceForge">SourceForge</a>.JP のアカウントを取得していない人でも投稿が可能です。（当然、その後の更新メール通知は行われませんが。）
</li></ol><h2 id="h2-.E9.96.8B.E7.99.BA.E8.80.85.E3.81.AE.E6.96.B9.E3.81.B8.EF.BC.9A">開発者の方へ：</h2><p>ここは、開発者用のドキュメント配置スペースとして利用して下さい。<br />
（例：開発者フォーラムで議論し、決定事項を本ページに記録する、etc,..）
</p><p>文法などのドキュメントは、サイドバーに標準で入っているリンク、または <a href="http://sourceforge.jp/projects/docs/wiki/WikiGuide" class="external-wiki">Wikiガイド</a> を参照してください。
</p><h2 id="h2-.E4.BB.A5.E4.B8.8B.E3.80.81.E9.96.8B.E7.99.BA.E7.94.A8.E3.81.AE.E3.83.89.E3.82.AD.E3.83.A5.E3.83.A1.E3.83.B3.E3.83.88.E3.81.AB.E3.81.AA.E3.82.8A.E3.81.BE.E3.81.99.E3.80.82">以下、開発用のドキュメントになります。</h2><ul><li><a href="http://sourceforge.jp/projects/dtxmania/wiki/%E6%96%B0%E6%A9%9F%E8%83%BD%E3%81%AE%E4%BB%95%E6%A7%98">新機能の仕様</a>
</li><li><a href="http://sourceforge.jp/projects/dtxmania/wiki/%E9%96%8B%E7%99%BA%E3%83%A1%E3%83%A2">開発メモ</a>
</li><li><a href="http://sourceforge.jp/projects/dtxmania/wiki/WASAPI%2FASIO%E5%AF%BE%E5%BF%9C%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6">WASAPI/ASIO対応について</a>
</li><li><a href="http://sourceforge.jp/projects/dtxmania/wiki/%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E9%81%8B%E7%94%A8%E6%89%8B%E9%A0%86%EF%BC%88%E7%AE%A1%E7%90%86%E8%80%85%E7%94%A8%EF%BC%89">プロジェクト運用手順（管理者用）</a>
</li></ul><hr />]]>
    </content:encoded>
      </item>
        <item rdf:about="http://sourceforge.jp/projects/dtxmania/wiki/%E9%96%8B%E7%99%BA%E3%83%A1%E3%83%A2">
    <title>開発メモ</title>
    <link>http://sourceforge.jp/projects/dtxmania/wiki/%E9%96%8B%E7%99%BA%E3%83%A1%E3%83%A2</link>
    <dc:identifier>開発メモ</dc:identifier>
    <dc:date>2011-12-16T00:24:05+09:00</dc:date>
        <description>
      <![CDATA[[[PageOutline]]

----

= SlimDXへの修正部分 =
 * !JoyPadからの!BufferedInputが使えなくなるデグレードに対する処置
 * POV/HAT入力配列を全て-1(センター)に初期化するコードを追加
 * DIDEVICEOBJECTDATA構造体のdwOfsメンバ相当の値を取得できるプロパティを、SlimDXの!JoystickSta]]>
    </description>
    <content:encoded>
      <![CDATA[<div class="pageoutline"><div class="pageoutline-title"><div class="action"><button type="button" onClick="javascript:togglePageOutline(this)"><img src="//static.sourceforge.jp/wiki/images/icons/roll-up.gif" border="0"></button></div>Outline</div><ol><li><a href="#h1-SlimDX.E3.81.B8.E3.81.AE.E4.BF.AE.E6.AD.A3.E9.83.A8.E5.88.86">SlimDXへの修正部分</a>
</li><li><a href="#h1-.21SimpleFramework.E3.81.B8.E3.81.AE.E4.BF.AE.E6.AD.A3.E9.83.A8.E5.88.86">SimpleFrameworkへの修正部分</a>
</li><li><a href="#h1-SlimDX.E3.81.AE.E3.83.93.E3.83.AB.E3.83.89.E6.96.B9.E6.B3.95.28.E5.82.99.E5.BF.98.E9.8C.B2.29">SlimDXのビルド方法(備忘録)</a>
</li></ol></div>
<hr /><h1 id="h1-SlimDX.E3.81.B8.E3.81.AE.E4.BF.AE.E6.AD.A3.E9.83.A8.E5.88.86">SlimDXへの修正部分</h1><ul><li>JoyPadからのBufferedInputが使えなくなるデグレードに対する処置
</li><li>POV/HAT入力配列を全て-1(センター)に初期化するコードを追加
</li><li>DIDEVICEOBJECTDATA構造体のdwOfsメンバ相当の値を取得できるプロパティを、SlimDXのJoystickState()に追加。POV/HATが離されたことを検出するため。
</li></ul><hr /><h1 id="h1-.21SimpleFramework.E3.81.B8.E3.81.AE.E4.BF.AE.E6.AD.A3.E9.83.A8.E5.88.86">SimpleFrameworkへの修正部分</h1><ul><li>ウインドウリサイズ対応で、WndProcのWM_SIZINGイベント処理を追加。(GameWindow.cs)
</li><li>ウインドウリサイズ対応で、BackBufferを640x480固定にして、物理解像度=640x480を維持。(GraphicsDeviceManager.cs)
</li><li>ウインドウリサイズ対応で、WndProcのMENU_VIEWイベント処理を追加し、システムメニューへ、640x480に戻す処理を追加。(GameWindow.cs)
</li><li>ウインドウがアクティブでないときのスリープ時間設定処理を追加。VSync時にはスリープしないよう注意。(GraphicsDeviceManager.cs)
</li><li>USBサブモニタなど、GetDeviceCaps()でGPFが発生する場合への対応。(Enumeration9.cs)
</li></ul><h1 id="h1-SlimDX.E3.81.AE.E3.83.93.E3.83.AB.E3.83.89.E6.96.B9.E6.B3.95.28.E5.82.99.E5.BF.98.E9.8C.B2.29">SlimDXのビルド方法(備忘録)</h1><ul><li>まずはＦＲＯＭさんのサイトを参照のこと
</li></ul><p><a href="http://mainori-se.sakura.ne.jp/slimdx/wiki.cgi?page=%B8%F8%BC%B0%A5%D3%A5%EB%A5%C9%BC%EA%BD%E7" class="external" rel="nofollow">http://mainori-se.sakura.ne.jp/slimdx/wiki.cgi?page=%B8%F8%BC%B0%A5%D3%A5%EB%A5%C9%BC%EA%BD%E7</a>
</p><ul><li>その上で、以下のポイントに注意
</li><li>ビルドの構成にPublicを指定する
</li><li>署名に用いるキーペアの生成方法:
</li><li> * すべてのプログラム-Microsoft Visual Studio 2008-Visual Studio Tools\Visual Studio 2008 コマンド プロンプト、として、VisualStudioの環境変数設定済みのDOS窓を開く
</li><li> * sn.exe -k d:\slimdx_yyagi.snk などとして、キーペアを生成する
</li><li> * VisualStduio上で、ソリューションのプロパティから リンカ-詳細-キー ファイル、で先のキーペアを指定する
</li><li> * ビルド後のイベント: ファイルパスを全部&quot;～&quot;でくくる。以下例：
<pre>copy &quot;$(ProjectDir)\..\docs\SlimDX.xml&quot; &quot;$(OutDir)&quot;
mt -manifest SlimDX.dll.x86.manifest -outputresource:&quot;$(TargetPath)&quot;;2
sn -R &quot;$(TargetPath)&quot; D:\slimdxKey_yyagi.snk
</pre></li></ul>]]>
    </content:encoded>
      </item>
        <item rdf:about="http://sourceforge.jp/projects/dtxmania/wiki/%E6%96%B0%E6%A9%9F%E8%83%BD%E3%81%AE%E4%BB%95%E6%A7%98">
    <title>新機能の仕様</title>
    <link>http://sourceforge.jp/projects/dtxmania/wiki/%E6%96%B0%E6%A9%9F%E8%83%BD%E3%81%AE%E4%BB%95%E6%A7%98</link>
    <dc:identifier>新機能の仕様</dc:identifier>
    <dc:date>2011-04-05T01:35:18+09:00</dc:date>
        <description>
      <![CDATA[= 新機能の仕様 =

[[PageOutline]]

----
== MIRRORモード ==

ドラムのレーン構成の左右入れ替えをする、MIRRORモードの仕様を記載する。

OPTION-Drums に、MIRRORを新設する。
選択肢は OFF, M-A, M-B, LEFT の4つで、それぞれレーン構成を以下のように変更する。

{{{
MIRROR(OFF)]]>
    </description>
    <content:encoded>
      <![CDATA[<h1 id="h1-.E6.96.B0.E6.A9.9F.E8.83.BD.E3.81.AE.E4.BB.95.E6.A7.98">新機能の仕様</h1><div class="pageoutline"><div class="pageoutline-title"><div class="action"><button type="button" onClick="javascript:togglePageOutline(this)"><img src="//static.sourceforge.jp/wiki/images/icons/roll-up.gif" border="0"></button></div>Outline</div><ol><li><a href="#h1-.E6.96.B0.E6.A9.9F.E8.83.BD.E3.81.AE.E4.BB.95.E6.A7.98">新機能の仕様</a>
<ol><li><a href="#h2-MIRROR.E3.83.A2.E3.83.BC.E3.83.89">MIRRORモード</a>
</li><li><a href="#h2-.E3.83.95.E3.83.AA.E3.83.83.E3.83.97.E6.A9.9F.E8.83.BD">フリップ機能</a>
</li><li><a href="#h2-.E9.81.94.E6.88.90.E7.8E.87.E3.81.AE.E3.82.B0.E3.83.A9.E3.83.95.E8.A1.A8.E7.A4.BA">達成率のグラフ表示</a>
</li><li><a href="#h2-.E3.83.AA.E3.82.B6.E3.83.AB.E3.83.88.E7.94.BB.E5.83.8F.E8.87.AA.E5.8B.95.E4.BF.9D.E5.AD.98.E6.A9.9F.E8.83.BD">リザルト画像自動保存機能</a>
</li><li><a href="#h2-.E6.9B.B2.E9.A0.86.E3.81.AE.E3.82.BD.E3.83.BC.E3.83.88.E6.A9.9F.E8.83.BD">曲順のソート機能</a>
</li><li><a href="#h2-.E3.82.BF.E3.82.A4.E3.83.9F.E3.83.B3.E3.82.B0.E3.82.A2.E3.82.B8.E3.83.A3.E3.82.B9.E3.83.88.E6.A9.9F.E8.83.BD">タイミングアジャスト機能</a>
</li></ol></li><li><a href="#h1-.E3.83.80.E3.83.A1.E3.83.BC.E3.82.B8.2F.E5.9B.9E.E5.BE.A9.E9.87.8F">ダメージ/回復量</a>
</li><li><a href="#h1-Config.ini.20.E3.83.95.E3.82.A1.E3.82.A4.E3.83.AB.E3.81.AB.E9.96.A2.E3.81.99.E3.82.8B.E6.96.B0.E6.A9.9F.E8.83.BD">Config.ini ファイルに関する新機能</a>
<ol><li><a href="#h2-HHVelocityMin.2C.20....2C.20.21VelocityMin">HHVelocityMin, ..., VelocityMin</a>
</li></ol></li><li><a href="#h1-score.ini.E3.83.95.E3.82.A1.E3.82.A4.E3.83.AB.E3.81.AB.E9.96.A2.E3.81.99.E3.82.8B.E8.BF.BD.E5.8A.A0.E4.BB.95.E6.A7.98">score.iniファイルに関する追加仕様</a>
</li></ol></div>
<hr /><h2 id="h2-MIRROR.E3.83.A2.E3.83.BC.E3.83.89">MIRRORモード</h2><p>ドラムのレーン構成の左右入れ替えをする、MIRRORモードの仕様を記載する。
</p><p>OPTION-Drums に、MIRRORを新設する。
選択肢は OFF, M-A, M-B, LEFT の4つで、それぞれレーン構成を以下のように変更する。
</p><pre>MIRROR(OFF)
LC  HO+HC SD BD HT LT  FT  CY+RD

MIRROR(M-A)
無   CY+RD LT BD HT SD  FT  LC+HO+HC

MIRROR(M-B)
CY    RD  FT BD LT HT  SD  LC+HO+HC

MIRROR(LEFT)
CY+RD FT  LT HT BD SD HO+HC   LC
</pre><ul><li>達成率について、M-A, M-Bの場合はこれを半分にする。LEFTの場合は減らさない。
</li><li>ドラム音のパン(定位)について、入れ替わりの発生したレーンについては、これを左右逆にする。レーンの位置に応じた「定位を何％右に移動」といった制御は行わず、単純な左右反転に留める。
</li><li>パッド入力のアサインについては、モードの切り替えに伴うアサイン変更を、特に行わない。
</li><li>Config.ini では、[PlayOption] 内の DrumMirror にて 0～3の値として保持する。0がOFF, 1がM-A, 2がM-B, 3がLEFTを表す。
</li><li>オプション設定表示では、下記画像の位置に相当の設定情報を表示する。具体的にどのような表示を行うかはTBD。<div class="embed-image" ><img src="http://sourceforge.jp/projects/dtxmania/wiki/%E6%96%B0%E6%A9%9F%E8%83%BD%E3%81%AE%E4%BB%95%E6%A7%98/attach/options_.png" alt="options_.png" id="emb-options_.png-1" title="OPTION設定表示におけるMIRROR設定の表示位置" class="embed-image" width="520" height="130" /><div class="caption">OPTION設定表示におけるMIRROR設定の表示位置</div></div>
</li></ul><p>議論の履歴: チケット<a href="http://sourceforge.jp/projects/dtxmania/tracker/detail/23547" class="tracker">#23547</a>を参照。
</p><hr /><h2 id="h2-.E3.83.95.E3.83.AA.E3.83.83.E3.83.97.E6.A9.9F.E8.83.BD">フリップ機能</h2><p>088以降、選曲画面でギターまたはベースから Pick-G-G-Pick と入力することにより、ギターとベースを入れ替えることができる(FLIP機能)。これにより、ギターとベース機器をいちいち持ち替えずに切り替えることができる。
</p><p>ただし088のFLIP実装には問題があるため、089以降を利用のこと。
</p><p>議論の履歴: <a href="http://sourceforge.jp/projects/dtxmania/tracker/detail/24063" class="tracker">#24063</a>を参照。
</p><hr /><h2 id="h2-.E9.81.94.E6.88.90.E7.8E.87.E3.81.AE.E3.82.B0.E3.83.A9.E3.83.95.E8.A1.A8.E7.A4.BA">達成率のグラフ表示</h2><p>088以降、ドラムスのみ、OPTION/Drums/GraphをONにすることで、演奏画面に達成率をリアルタイムにグラフ表示する。
</p><p>議論の詳細: <a href="http://sourceforge.jp/projects/dtxmania/tracker/detail/24074" class="tracker">#24074</a>を参照。
</p><hr /><h2 id="h2-.E3.83.AA.E3.82.B6.E3.83.AB.E3.83.88.E7.94.BB.E5.83.8F.E8.87.AA.E5.8B.95.E4.BF.9D.E5.AD.98.E6.A9.9F.E8.83.BD">リザルト画像自動保存機能</h2><p>089以降、ランクもしくは演奏型スキルポイントを更新すると、演奏したDTXデータのあるフォルダに自動的に dtxファイル名.yyMMddHHmmss_DRUMS_SS.png という形式でリザルト画像を保存する。(SaveScoreIni=ONの場合のみ) 
</p><p>今後、[F12]押下などで、最高記録を更新しない場合でもリザルトを手動でキャプチャできるようにする予定。
</p><p>議論の履歴: <a href="http://sourceforge.jp/projects/dtxmania/tracker/detail/24609" class="tracker">#24609</a>を参照。
</p><hr /><h2 id="h2-.E6.9B.B2.E9.A0.86.E3.81.AE.E3.82.BD.E3.83.BC.E3.83.88.E6.A9.9F.E8.83.BD">曲順のソート機能</h2><p>089以降、選曲画面でBD-HT(Drums)またはG-G-G(Gt/Bs)と入力することで、曲順のソート画面をポップアップで呼び出せる。
</p><ul><li>Title, Level, Best Rank, PlayCount, SkillPoint, Date で昇順/降順のソートができる。 
</li><li>TitleとDateは、今どの難易度を選択しているか(L1～L5)に関わらないソートとなる。 
</li><li>Dateは、要するにDTXファイルの作成日(最終更新日)でのソート。
</li><li>Level, Best Rank, PlayCount, SkillPoint は、今選択している難易度(L1～L5)での値でソートする。なので現状、今選んでいる難易度の指定がない曲データ(例: L1がなくてL2とL3しかない等)は、正しくソートされない。
</li><li>現状、各BOXでのソート結果は、DTXManiaを終了するまでは覚えているが、終了すると忘れてしまう。(今後対応を検討する)
</li></ul><p>(終了後も覚えさせるのはちょっと大変)
</p><p>議論の履歴: <a href="http://sourceforge.jp/projects/dtxmania/tracker/detail/23615" class="tracker">#23615</a>を参照。
</p><hr /><h2 id="h2-.E3.82.BF.E3.82.A4.E3.83.9F.E3.83.B3.E3.82.B0.E3.82.A2.E3.82.B8.E3.83.A3.E3.82.B9.E3.83.88.E6.A9.9F.E8.83.BD">タイミングアジャスト機能</h2><p>087以降で搭載した、入力遅延の補正機能について、仕様を記載する。
</p><p>一般的に、キーボードやジョイパッドなどからある時刻にユーザーが入力を与えたとして、
実際にその入力がDTXMania(プログラム)に受理されるまでには時間差(入力遅延)がある。
タイミングアジャスト機能は、この入力遅延に対してオフセット値を設定することで、
ユーザーの入力タイミングと、DTXManiaのヒット判定(Perfect/Great...の判定)に
違和感がないようにするものである。
</p><hr /><p>[ユーザーからの入力発生]<br />
↓<br />
(時間差1) (入力遅延)<br />
↓<br />
[DTXManiaが入力を受理]<br />
↓<br />
[DTXManiaの画面処理実行・チップ音再生]<br />
↓<br />
(時間差2) (出力遅延)<br />
↓<br />
[実際に画面が更新される＋音が再生されて、ユーザーがそれを認知する]<br />
</p><hr /><p>OPTIONの、Drums/Guitar/Bass それぞれの、InputAdjust 項目に値を設定することで、
DTXManiaの判定時刻へのオフセットを設定できる。
例えば、ドラムの入力遅延が10msあり、ギターの入力遅延が20msあるような環境では、
DrumsのInputAdjustを-10にし、GuitarのInputAdjustを-20とすることで、
DTXMania本体はそれぞれの入力遅延を相殺した入力判定を行うようになる。
</p><p>個々のInputAdjustには、-100～100msの値を設定できる。初期値は0。
機能の性格上、ここに正の値を設定することはないと思われるが、
念のため設定はできるようにしてある。
</p><p>なお、あまりに入力遅延が大きいような環境の場合は、たとえ入力タイミングを補正したとしても
最終的なサウンド出力までの時間が大きくなっていることに変わりはないので、
演奏そのものを楽しめないであろう。
</p><p>議論の詳細: チケット<a href="http://sourceforge.jp/projects/dtxmania/tracker/detail/23580" class="tracker">#23580</a>を参照。
</p><hr /><p>更に、088では、OPTION画面だけでなく、演奏画面からも、カーソルキーの左右でInputAdjustの値を変更できるようにする。
shiftを押しながらだとギターの、altを押しながらだとベースの、何も押さないとドラムの、
InputAdjustを変更する。
ctrlを押しながらだと1ms単位で、押していないと10ms単位で調整を行う。
</p><p>表にまとめると、以下のようになる。
</p><table class="wikitable"><tbody><tr><td>CTRL</td><td>SHIFT</td><td>ALT</td><td>カーソルキー</td><td>実行される機能</td></tr><tr><td> </td><td> </td><td> </td><td> ← </td><td> Drums InputAdjust -10ms </td></tr><tr><td>*</td><td> </td><td> </td><td> ← </td><td> Drums InputAdjust -10ms </td></tr><tr><td> </td><td> </td><td> </td><td> → </td><td> Drums InputAdjust +10ms </td></tr><tr><td>*</td><td> </td><td> </td><td> → </td><td> Drums InputAdjust +10ms </td></tr><tr><td> </td><td>*</td><td> </td><td> ← </td><td> Guitar InputAdjust -10ms </td></tr><tr><td>*</td><td>*</td><td> </td><td> ← </td><td> Guitar InputAdjust -10ms </td></tr><tr><td> </td><td>*</td><td> </td><td> → </td><td> Guitar InputAdjust +10ms </td></tr><tr><td>*</td><td>*</td><td> </td><td> → </td><td> Guitar InputAdjust +10ms </td></tr><tr><td> </td><td> </td><td>*</td><td> ← </td><td> Bass InputAdjust -10ms </td></tr><tr><td>*</td><td> </td><td>*</td><td> ← </td><td> Bass InputAdjust -10ms </td></tr><tr><td> </td><td> </td><td>*</td><td> → </td><td> Bass InputAdjust +10ms </td></tr><tr><td>*</td><td> </td><td>*</td><td> → </td><td> Bass InputAdjust +10ms </td></tr></tbody></table><p>(以下おまけ)
<table class="wikitable"><tbody><tr><td>CTRL</td><td>SHIFT</td><td>ALT</td><td>カーソルキー</td><td>実行される機能</td></tr><tr><td> </td><td> </td><td> </td><td> ↑ </td><td> ドラムスクロール速度アップ </td></tr><tr><td> </td><td> </td><td> </td><td> ↓ </td><td> ドラムスクロール速度ダウン </td></tr><tr><td> </td><td>*</td><td> </td><td> ↑ </td><td> BGMAdjust +10ms </td></tr><tr><td> </td><td>*</td><td> </td><td> ↓ </td><td> BGMAdjust -10ms </td></tr><tr><td>*</td><td>*</td><td> </td><td> ↑ </td><td> BGMAdjust +10ms </td></tr><tr><td>*</td><td>*</td><td> </td><td> ↓ </td><td> BGMAdjust -10ms </td></tr></tbody></table></p><hr /><h1 id="h1-.E3.83.80.E3.83.A1.E3.83.BC.E3.82.B8.2F.E5.9B.9E.E5.BE.A9.E9.87.8F">ダメージ/回復量</h1><ul><li>ゲージは-0.1から1.0までの値を取る。(1.0＝満タン, 0.3未満=Danger, 0.0=空っぽ, -0.1以下=閉店) 
</li><li>チップ演奏の判定結果により、下記のようにゲージが増減する。 
</li></ul><p>086以前:
<table class="wikitable"><tbody><tr><td>判定</td><td>Dr</td><td>Gt/Bs</td></tr><tr><td>Perfect</td><td>+0.10</td><td>+0.15</td></tr><tr><td>Great</td><td>+0.06</td><td>+0.09</td></tr><tr><td>Good</td><td>+0.02</td><td>+0.03</td></tr><tr><td>Poor</td><td>+0.0</td><td>+0.0</td></tr><tr><td>Miss</td><td>-0.035 * 係数</td><td>-0.035 * 係数</td></tr></tbody></table></p><ul><li>086以前でのMissの係数の具体的な値は、DamageLevel が Small, Normal, Large の時で、それぞれ 0.6, 1.0, 1.6。 
</li></ul><p>087以降:
<table class="wikitable"><tbody><tr><td>判定</td><td>Dr</td><td>Gt/Bs</td></tr><tr><td>Perfect</td><td>+0.004</td><td>+0.006</td></tr><tr><td>Great</td><td>+0.002</td><td>+0.003</td></tr><tr><td>Good</td><td>+0.0</td><td>+0.0</td></tr><tr><td>Poor</td><td>-0.02</td><td>-0.03</td></tr><tr><td>Miss</td><td>-0.05 * 係数</td><td>-0.05 * 係数</td></tr></tbody></table></p><ul><li>087以降でのMissの係数の具体的な値は、DamageLevel が Small, Normal, Large の時で、それぞれ 0.5, 1.0, 1.5。
</li></ul><p>議論の詳細: チケット<a href="http://sourceforge.jp/projects/dtxmania/tracker/detail/23625" class="tracker">#23625</a>を参照。
</p><hr /><h1 id="h1-Config.ini.20.E3.83.95.E3.82.A1.E3.82.A4.E3.83.AB.E3.81.AB.E9.96.A2.E3.81.99.E3.82.8B.E6.96.B0.E6.A9.9F.E8.83.BD">Config.ini ファイルに関する新機能</h1><h2 id="h2-HHVelocityMin.2C.20....2C.20.21VelocityMin">HHVelocityMin, ..., VelocityMin</h2><p>電子ドラムのHHのベロシティ入力下限値を HHVelocityMin で設定できる。このベロシティ値に満たない入力は切り捨てられる。
これは、主にRoland系の電子ドラムのHHペダルの挙動がDTXManiaの動作に影響が出ないようにするために導入された機能で、Roland系の場合はHHVelocityMinを20程度に設定すること(デフォルト)。
逆にこの値を小さく(0にするなど)しないと入力がうまく入らない電子ドラムもあるので注意が必要。(Awowo系など？)
</p><p>087以降では、HH「以外」のベロシティ入力下限値を、VelocityMin で設定できるようにした。
これは、共振防止機能を持ち合わせていない電子ドラムキットを想定した機能である。
</p><p>088以降では、HH「以外」のベロシティ入力下限値を、!SDVelocityMin, !BDVelocityMin などといったようにレーンごとに独立して指定できるようにした。代わりに087で導入した汎用のVelocityMinは廃止した。
</p><p>議論の詳細: <a href="http://sourceforge.jp/projects/dtxmania/tracker/detail/23857" class="tracker">#23857</a>を参照。
</p><h1 id="h1-score.ini.E3.83.95.E3.82.A1.E3.82.A4.E3.83.AB.E3.81.AB.E9.96.A2.E3.81.99.E3.82.8B.E8.BF.BD.E5.8A.A0.E4.BB.95.E6.A7.98">score.iniファイルに関する追加仕様</h1><ul><li>086以降、従来あったPlayCount(演奏開始回数を記録)に加えて、ClearCount(クリア回数を記録)を追加。<br />議論の履歴: チケット<a href="http://sourceforge.jp/projects/dtxmania/tracker/detail/23596" class="tracker">#23596</a>を参照。
</li></ul><ul><li>087以降、LastPlay(.Drums, .Guitar, .Bass) セクションを追加し、最終プレイの内容を保持するようにした。<br />議論の履歴: チケット<a href="http://sourceforge.jp/projects/dtxmania/tracker/detail/23595" class="tracker">#23595</a>を参照。
</li></ul><ul><li>089以降、BestRank(Drums, Guitar, Bass) 項目を追加し、HiScore/HiSkillに依らないベストランクを保持できるようにした、<br />議論の履歴: チケット<a href="http://sourceforge.jp/projects/dtxmania/tracker/detail/24459" class="tracker">#24459</a>を参照。
</li></ul>]]>
    </content:encoded>
      </item>
        <item rdf:about="http://sourceforge.jp/projects/dtxmania/wiki/%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E9%81%8B%E7%94%A8%E6%89%8B%E9%A0%86%EF%BC%88%E7%AE%A1%E7%90%86%E8%80%85%E7%94%A8%EF%BC%89">
    <title>プロジェクト運用手順（管理者用）</title>
    <link>http://sourceforge.jp/projects/dtxmania/wiki/%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E9%81%8B%E7%94%A8%E6%89%8B%E9%A0%86%EF%BC%88%E7%AE%A1%E7%90%86%E8%80%85%E7%94%A8%EF%BC%89</link>
    <dc:identifier>プロジェクト運用手順（管理者用）</dc:identifier>
    <dc:date>2010-11-20T19:30:12+09:00</dc:date>
        <description>
      <![CDATA[= プロジェクト運用手順（管理者用）

[[PageOutline]]

== DTXMania パッケージのリリース手順

本作業は、&#039;&#039;&#039;「プロジェクト管理者」または「リリース管理者」（ファイルリリースマネージャ）の権限を持つユーザのみ&#039;&#039;&#039;が行えます。

使用する Subversion クライアントは Tortois]]>
    </description>
    <content:encoded>
      <![CDATA[<h1 id="h1-.E3.83.97.E3.83.AD.E3.82.B8.E3.82.A7.E3.82.AF.E3.83.88.E9.81.8B.E7.94.A8.E6.89.8B.E9.A0.86.EF.BC.88.E7.AE.A1.E7.90.86.E8.80.85.E7.94.A8.EF.BC.89">プロジェクト運用手順（管理者用）</h1><div class="pageoutline"><div class="pageoutline-title"><div class="action"><button type="button" onClick="javascript:togglePageOutline(this)"><img src="//static.sourceforge.jp/wiki/images/icons/roll-up.gif" border="0"></button></div>Outline</div><ol><li><a href="#h1-.E3.83.97.E3.83.AD.E3.82.B8.E3.82.A7.E3.82.AF.E3.83.88.E9.81.8B.E7.94.A8.E6.89.8B.E9.A0.86.EF.BC.88.E7.AE.A1.E7.90.86.E8.80.85.E7.94.A8.EF.BC.89">プロジェクト運用手順（管理者用）</a>
<ol><li><a href="#h2-DTXMania.20.E3.83.91.E3.83.83.E3.82.B1.E3.83.BC.E3.82.B8.E3.81.AE.E3.83.AA.E3.83.AA.E3.83.BC.E3.82.B9.E6.89.8B.E9.A0.86">DTXMania パッケージのリリース手順</a>
</li><li><a href="#h2-.E3.83.AA.E3.83.9D.E3.82.B8.E3.83.88.E3.83.AA.E3.81.AE.E5.86.8D.E6.A7.8B.E7.AF.89.E6.89.8B.E9.A0.86">リポジトリの再構築手順</a>
</li></ol></li></ol></div>
<h2 id="h2-DTXMania.20.E3.83.91.E3.83.83.E3.82.B1.E3.83.BC.E3.82.B8.E3.81.AE.E3.83.AA.E3.83.AA.E3.83.BC.E3.82.B9.E6.89.8B.E9.A0.86">DTXMania パッケージのリリース手順</h2><p>本作業は、<strong>「プロジェクト管理者」または「リリース管理者」（ファイルリリースマネージャ）の権限を持つユーザのみ</strong>が行えます。
</p><p>使用する Subversion クライアントは TortoiseSVN を想定しています。
</p><p><br />
</p><p>(1) プロジェクトメンバへ周知する。
</p><ul><li>コミット予定のデータがあれば、再構築作業前にコミットしてもらう。
</li><li>作業開始後は、タグの作成（(3)の作業）が完了するまでコミットを禁止する旨を伝える。
</li></ul><p>(2) ソリューションのバージョン情報を更新し、コミットする。
</p><ol><li>「trunk/DTXManiaプロジェクト」内のソリューションを VC#2008Express で開く。
</li><li>「コード/全体/CDTXMania.cs」内にある VERSION 定数を修正する。
</li><li>DTXManiaプロジェクトの [プロパティ]→[アセンブリ情報] 画面で、バージョン番号を修正する。
<ul><li>基本的に、アセンブリバージョンとファイルバージョンは同一のものとする。
</li></ul></li><li>FDKプロジェクトの [プロパティ]→[アセンブリ情報] 画面で、バージョン番号を修正する。
<ul><li>public なインターフェースが追加変更された場合は、アセンブリバージョンを増加する。
</li><li>そうでない場合は、ファイルバージョンの末尾の数値を増加する。
</li><li>何も変更が加えられていない場合は、どちらのバージョンも現状維持とする。
</li></ul></li><li>ソリューションを保存し、VC#2008Express を終了する。
</li><li>trunk/ を「SVN コミット」する。
</li></ol><p>(3) リポジトリ上で、新しいタグを作成する。
</p><ol><li>ローカルPCの作業コピー上の trunk/ フォルダを選択し、右クリックしてメニューから「TortoiseSVN」→「ブランチ／タグ」を選択する。
</li><li>「コピー（ブランチ／タグ）」ダイアログが表示されるので、「先URL」欄にリポジトリ上の新しいタグフォルダのURLを指定し、タグを作成する。<br />
先URLの設定例：「https://svn.sourceforge.jp/svnroot/dtxmania/tags/101102DTXMania085)」<br />
このとき、リポジトリの tags/ フォルダ内に、同名のフォルダが存在していないことを確認すること。
</li><li>この作業が完了次第、メンバはリポジトリの trunk/ フォルダへ任意のコミットを再開してかまわない。
</li></ol><p>(4) ローカルPCの作業コピーフォルダの tags/ について、「SVN 更新」を実行する。
</p><ul><li>(3)で作成した新しいタグをローカルPC上に取得するため。<br />
（(3)の作業は、ローカルPC上ではなくリポジトリ上で実行されていることに注意）
</li></ul><p>(5) 取得したタグから、リリース用 DTXMania をビルドする。
</p><ul><li>(4)で取得したタグの「DTXManiaプロジェクト」フォルダ内のソリューションを VC#2008Express で開き、Release 構成をビルドする。（trunk/ 内のソリューションではないことに注意）
</li><li>ビルドが完了すると、(4)で取得したタグの「実行時フォルダ」内に、ビルドされた新しい DTXManiaGR.exe と FDK.dll が自動的にコピーされている。
</li></ul><p>(6) (4)で取得したタグの「実行時フォルダ」の中身を zip で圧縮し、リリース用のファイル名を付与する。
</p><ul><li>ファイル名の例：「DTXMania085(101102).zip」
</li><li>留意事項：
<ul><li>ここまでのやり方でも問題はないが、新しいコピー（タグ）を作成し利用している以上、zip の中にある<strong>すべてのファイルの「作成日付」が、(3)を実施した日に変更</strong>されてしまっている。
</li><li>そのため、可能であれば、新しいリリースで<strong>変更があったファイルのみを直前のバージョンの DTXManiaアーカイブに上書きする形で zip を作成する</strong>ことが望ましい。
</li></ul></li></ul><p>(7) (6)で作成した zip のリリースを行う。
</p><ol><li>SourceForge.JP の「ダウンロード」タブ→「管理」を選択する。
</li><li>[新規作成] リンクをクリックする。（[新規パッケージの作成] リンクではないので注意）
</li><li>「バージョン」「リリースノート」「変更履歴」をそれぞれ記入する。
<ul><li>バージョンの例：「085(101102)」
</li><li>リリースノートの例：「リリース85です。」
</li><li>変更履歴：過去のリビジョンログを元に記述する。
</li></ul></li><li>「ファイル」欄に(6)で作成した zip ファイルを参照指定する。
<ul><li>ステータスは「有効」のまま。
</li><li>「標準ダウンロード」にチェックを入れる。→ リストが表示されるので「Windows」を選択し、[閉じる] をクリックする。
</li></ul></li><li>[リリースの作成] ボタンを押下する。
</li></ol><p>(8) ダウンロード時の標準リリースの切り替え行う。
</p><ol><li>SourceForge.JP の「ダウンロード」タブ→「管理」を選択する。
</li><li>リリースの一覧から、<strong>直前の</strong>リリースバージョンのリンクをクリックする。
</li><li>「ファイル」欄の右端にある「標準」のチェックボックスのチェックを<strong>外す</strong>。
</li><li>[リリースの更新] ボタンを押下する。
</li><li>リリースの一覧から、<strong>最新の</strong>リリースバージョンのリンクをクリックする。
</li><li>「ファイル」欄の右端にある「標準」のチェックボックスのチェックを<strong>付与する</strong>。
</li><li>[リリースの更新] ボタンを押下する。<br />
これで、SourceForge.JP がことあるごとに表示する「ダウンロード」リンクのターゲットが、最新のリリースファイルに変更される。
</li></ol><p>(9) SourceForge.JP の「ニュース」に、リリースが完了した旨を伝える記事を投稿する。
</p><h2 id="h2-.E3.83.AA.E3.83.9D.E3.82.B8.E3.83.88.E3.83.AA.E3.81.AE.E5.86.8D.E6.A7.8B.E7.AF.89.E6.89.8B.E9.A0.86">リポジトリの再構築手順</h2><p>※2010/10/31～11/1にかけて行った作業を元に記載しています。
</p><p>本作業は、<strong>「プロジェクト管理者」の権限を持つユーザのみ</strong>が行えます。
</p><p>使用する Subversion クライアントは TortoiseSVN を想定しています。
</p><p><br />
</p><p>(1) プロジェクトメンバへ周知する。
</p><ul><li>コミット予定のデータがあれば、再構築作業前にコミットしてもらう。
</li><li>作業開始後は、すべての作業が完了するまで、リポジトリに対するすべてのアクセスを禁止する旨を伝える。
</li></ul><p>(2) 全リビジョンのログを保存する。（必要あれば）
</p><ul><li>次のリリースでの変更履歴の防備録として。
</li></ul><p>(3) リポジトリの内容をローカルPC（作業コピーフォルダ）へ「SVN 更新」を行う。
</p><ul><li>最新のリポジトリをローカルPC上に確保するため。
</li></ul><p>(4) ローカルPC上で、作業コピーフォルダから任意のフォルダ（デスクトップ上など）へ全件エクスポートする。
</p><ul><li>Subversion の管理下から外れたツリーを作成しておく。
</li></ul><p>(5) SourceForge.JP プロジェクトへ「リポジトリ初期化依頼」チケットを申請する。
</p><ul><li>申請ページ： <a href="https://sourceforge.jp/ticket/newticket.php?group_id=1&amp;type=114">https://sourceforge.jp/ticket/newticket.php?group_id=1&amp;type=114</a>
</li><li>「プロジェクト管理者」の権限がある者が申請し、プロジェクトのUNIX名を告げる必要があります。さもないと拒否されます。
</li></ul><p>(6) SourceForge.JP のスタッフがリポジトリを初期化する。
</p><ul><li>完了後、スタッフから該当チケットにその旨のコメントが追加される。
</li><li>リポジトリが初期化されていることを確認し、該当チケットにお礼を記入すると同時に、状況欄を「完了」に変更する。
</li></ul><p>(7) ローカルPC上に、新しい作業コピー用フォルダを作成する。
</p><ul><li>初期化後の空のリポジトリを正として作業コピーを作成するため。
</li></ul><p>(8) (7) のフォルダに「SVN チェックアウト」し、Subversion 管理下に含める。
</p><ul><li>当然、チェックアウトされたデータ件数はゼロ件となる。
</li></ul><p>(9) (4)で作成した管理外フォルダから、(7)のフォルダへデータを全件 Windows コピーし、ルートフォルダを「SVN 追加」する。
</p><ul><li>追加中にエラーが発生して停止してしまうことが何度もある（.svn/tmp のファイルが壊れてるたらどーたら）が、そういうときは、もう一度ルートフォルダを「追加」すれば、何事もなく残りの作業を継続できる。ええ。何度エラーが出ても。（涙
</li></ul><p>(10) (7)のフォルダに対して「SVNコミット」を実施する。
</p><ul><li>無事に全件コミットできれば、リポジトリ再構築作業は完了。
</li></ul><p>(11) プロジェクトメンバに、作業が完了した旨を周知する。
</p><ul><li>これまでの作業コピーを破棄し、新しく SVN チェックアウトし直してもらう。
</li></ul>]]>
    </content:encoded>
      </item>
    </rdf:RDF>
