+++ /dev/null
-using System;\r
-using System.Collections.Generic;\r
-using System.Text;\r
-using System.Windows.Forms;\r
-\r
-namespace DTXCreator.WAV_BMP_AVI\r
-{\r
- internal class CWAVキャッシュ\r
- {\r
- public Dictionary<int, CWAV> dicWAVディクショナリ = new Dictionary<int, CWAV>();\r
- public int n現在のキャッシュアイテム数\r
- {\r
- get\r
- {\r
- if( this.dicWAVディクショナリ == null )\r
- {\r
- return 0;\r
- }\r
- return this.dicWAVディクショナリ.Count;\r
- }\r
- }\r
-\r
- public CWAV tWAVをキャッシュから検索して返す( int nWAV番号1to1295 )\r
- {\r
- CWAV cwav;\r
- if( ( nWAV番号1to1295 < 1 ) || ( nWAV番号1to1295 > 36 * 36 - 1 ) )\r
- {\r
- throw new Exception( "WAV番号が範囲を超えています。-> [" + nWAV番号1to1295 + "]" );\r
- }\r
- if( this.dicWAVディクショナリ.TryGetValue( nWAV番号1to1295, out cwav ) )\r
- {\r
- return cwav;\r
- }\r
- return null;\r
- }\r
- public CWAV tWAVをキャッシュから検索して返す_なければ新規生成する( int nWAV番号1to1295 )\r
- {\r
- if( ( nWAV番号1to1295 < 1 ) || ( nWAV番号1to1295 > 36 * 36 - 1 ) )\r
- {\r
- throw new Exception( "WAV番号が範囲を超えています。-> [" + nWAV番号1to1295 + "]" );\r
- }\r
- CWAV cwav = null;\r
- if( !this.dicWAVディクショナリ.TryGetValue( nWAV番号1to1295, out cwav ) )\r
- {\r
- cwav = new CWAV();\r
- cwav.strラベル名 = "";\r
- cwav.nWAV番号1to1295 = nWAV番号1to1295;\r
- cwav.strファイル名 = "";\r
- cwav.n音量0to100 = 100;\r
- cwav.n位置_100to100 = 0;\r
- cwav.bBGMとして使用 = false;\r
- this.tキャッシュに追加する( cwav );\r
- }\r
- return cwav;\r
- }\r
- public void tWAVをキャッシュから削除する( int nWAV番号1to1295 )\r
- {\r
- if( ( nWAV番号1to1295 < 1 ) || ( nWAV番号1to1295 > 36 * 36 - 1 ) )\r
- {\r
- throw new Exception( "WAV番号が範囲を超えています。-> [" + nWAV番号1to1295 + "]" );\r
- }\r
- CWAV cwav = null;\r
- if( this.dicWAVディクショナリ.TryGetValue( nWAV番号1to1295, out cwav ) )\r
- {\r
- this.dicWAVディクショナリ.Remove( nWAV番号1to1295 );\r
- }\r
- }\r
- public void tキャッシュに追加する( CWAV 追加するセル )\r
- {\r
- CWAV cwav;\r
- if( this.dicWAVディクショナリ.TryGetValue( 追加するセル.nWAV番号1to1295, out cwav ) )\r
- {\r
- this.dicWAVディクショナリ.Remove( 追加するセル.nWAV番号1to1295 );\r
- }\r
- this.dicWAVディクショナリ.Add( 追加するセル.nWAV番号1to1295, 追加するセル );\r
- }\r
- public void tキャッシュに追加する( ListViewItem 追加するLVI )\r
- {\r
- CWAV cwav = new CWAV();\r
- cwav.tコピーfrom( 追加するLVI );\r
- this.tキャッシュに追加する( cwav );\r
- }\r
- public void t空にする()\r
- {\r
- this.dicWAVディクショナリ.Clear();\r
- }\r
- }\r
-}\r