#include <stdio.h>
#include <stdlib.h>
#include <winb.h>
#include <te.h>
#include <fntb.h>
#include <gui.h>

extern int	baseDialogId ;
extern int	MJ_BASEOBJ ;
extern int	menubarId ;
extern int	menuId ;
extern int	mItemId[3] ;
extern int	SDKmenuId ;
extern int	SDKmItemId[4] ;
extern int	aboutFunc() ;
extern int	quitFunc() ;
extern int	fileMenuId ;
extern int	fileMItemId[8] ;
extern int	selectFunc0() ;
extern int	selectFunc1() ;
extern int	selectFunc2() ;
extern int	selectFunc3() ;
extern int	selectFunc4() ;
extern int	effMenuId ;
extern int	effMItemId[15] ;
extern int	effFunc0() ;
extern int	effFunc1() ;
extern int	effFunc2() ;
extern int	effFunc3() ;
extern int	effFunc4() ;
extern int	effFunc4_2() ;
extern int	effFunc5() ;
extern int	effFunc6() ;
extern int	effFunc7() ;
extern int	effFunc8() ;
extern int	effFunc9() ;
extern int	effFunc10() ;
extern int	effFunc11() ;
extern int	effFunc99() ;
extern int	information() ;
extern int	quitIconId ;

#define ALIGN	4
#define OFFSET(type) (sizeof(MMIPACKET) + (sizeof(type)+ALIGN-1)/ALIGN*ALIGN)

/*	MMI_init 用データ	*/

/*	ヘッダ	*/

MMIINIT	initDataIWVDSK = { "MmiInit",  36, 0 } ;

/* baseDialogId */

static MMIPACKET d001 = {	&baseDialogId,
							&MJ_BASEOBJ,
							&MJ_DIALOGL40,
							OFFSET(DIALOGL40),
							MS_NONE
						} ;
static DIALOGL40	d001d = {	MS_BTLEFTL40 | MS_EVMOSONL40 | MS_FIXEDL40,
							   0,  20, 639, 479, 8, 6, 8,
							MS_NONEL40,
							NULL,   0,   0
						} ;

/* menubarId */

static MMIPACKET d002 = {	&menubarId,
							&baseDialogId,
							&MJ_DIALOGL40,
							OFFSET(DIALOGL40),
							MS_NONE
						} ;
static DIALOGL40	d002d = {	MS_BTLEFTL40 | MS_EVMOSONL40 | MS_FIXEDL40,
							   0,   0, 639,  19, 0, 7, 0,
							MS_NONEL40,
							NULL,   0,   0
						} ;

/* menuId */

static MMIPACKET d003 = {	&menuId,
							&menubarId,
							&MJ_MENUL40,
							OFFSET(MENUL40),
							MS_NONE
						} ;
static MENUL40	d003d = 	{	MS_BTLEFTL40 | MS_EVMOSONL40 | MS_SKEYL40 | MS_CHECKL40 | MS_HORIL40,
							   0,   0, 490,  19, 0, 7, 0,
							MS_NONEL40,
							NULL,   0
						} ;

/* mItemId[0] */

static MMIPACKET d004 = {	&mItemId[0],
							&menuId,
							&MJ_MITEML40,
							OFFSET(MITEML40),
							MS_NONE
						} ;
static MITEML40	d004d = {	MS_BTLEFTL40 | MS_EVMOSONL40 | MS_LEFTL40,
							   0,   0, 160,  19, 8, 8,15,
							MS_PANELL40,
							0,
							0x0000,  -1,
							"WAVE版 音姫七変化",
							   1,  12,  12,
							MS_NONEL40,
							   0,   0,
							   0
						} ;

/* SDKmenuId */

static MMIPACKET d005 = {	&SDKmenuId,
							&mItemId[0],
							&MJ_MENUL40,
							OFFSET(MENUL40),
							MS_NONE
						} ;
static MENUL40	d005d = 	{	MS_BTLEFTL40 | MS_EVMOSONL40 | MS_SKEYL40 | MS_CHECKL40,
							   0,  39, 108, 147, 8,15, 8,
							MS_SRECTL40 | MS_UFRAMEL40 | MS_FRAMEL40,
							NULL,   0
						} ;

/* SDKmItemId[0] */

static MMIPACKET d006 = {	&SDKmItemId[0],
							&SDKmenuId,
							&MJ_MITEML40,
							OFFSET(MITEML40),
							MS_NONE
						} ;
static MITEML40	d006d = {	MS_BTLEFTL40 | MS_EVMOSONL40 | MS_LEFTL40,
							   2,  45, 104,  64, 8,15, 8,
							MS_NONEL40,
							aboutFunc,
							0x0041,  -1,
							"あばうと ･･･ ",
							   1,  12,  12,
							MS_NONEL40,
							   0,   0,
							   0
						} ;

/* SDKmItemId[1] */

static MMIPACKET d007 = {	&SDKmItemId[1],
							&SDKmenuId,
							&MJ_MITEML40,
							OFFSET(MITEML40),
							MS_NONE
						} ;
static MITEML40	d007d = {	MS_BTLEFTL40 | MS_EVMOSONL40 | MS_LEFTL40,
							  10,  72, 101,  92, 8,15, 8,
							MS_NONEL40,
							0,
							0x0000,  -1,
							NULL,
							   1,  12,  12,
							MS_NONEL40,
							   0,   0,
							   0
						} ;

/* SDKmItemId[2] */

static MMIPACKET d008 = {	&SDKmItemId[2],
							&SDKmenuId,
							&MJ_MITEML40,
							OFFSET(MITEML40),
							MS_NONE
						} ;
static MITEML40	d008d = {	MS_BTLEFTL40 | MS_EVMOSONL40 | MS_LEFTL40,
							   6, 116, 105, 136, 8,15, 8,
							MS_NONEL40,
							quitFunc,
							0x0051,  -1,
							"終 了      ",
							   1,  12,  12,
							MS_NONEL40,
							   0,   0,
							   0
						} ;

/* mItemId[1] */

static MMIPACKET d009 = {	&mItemId[1],
							&menuId,
							&MJ_MITEML40,
							OFFSET(MITEML40),
							MS_NONE
						} ;
static MITEML40	d009d = {	MS_BTLEFTL40 | MS_EVMOSONL40 | MS_LEFTL40,
							 162,   0, 251,  19,15, 1,15,
							MS_PANELL40,
							0,
							0x0000,  -1,
							"ファイル ",
							   1,  12,  12,
							MS_NONEL40,
							   0,   0,
							   0
						} ;

/* fileMenuId */

static MMIPACKET d010 = {	&fileMenuId,
							&mItemId[1],
							&MJ_MENUL40,
							OFFSET(MENUL40),
							MS_NONE
						} ;
static MENUL40	d010d = 	{	MS_BTLEFTL40 | MS_EVMOSONL40 | MS_SKEYL40 | MS_CHECKL40,
							 173,  40, 316, 218, 8,15, 8,
							MS_SRECTL40 | MS_UFRAMEL40 | MS_FRAMEL40,
							NULL,   0
						} ;

/* fileMItemId[0] */

static MMIPACKET d011 = {	&fileMItemId[0],
							&fileMenuId,
							&MJ_MITEML40,
							OFFSET(MITEML40),
							MS_NONE
						} ;
static MITEML40	d011d = {	MS_BTLEFTL40 | MS_EVMOSONL40 | MS_LEFTL40,
							 176,  47, 296,  66, 8,15, 8,
							MS_NONEL40,
							selectFunc0,
							0x004c,  -1,
							"読み込み",
							   1,  12,  12,
							MS_NONEL40,
							   0,   0,
							   0
						} ;

/* fileMItemId[1] */

static MMIPACKET d012 = {	&fileMItemId[1],
							&fileMenuId,
							&MJ_MITEML40,
							OFFSET(MITEML40),
							MS_NONE
						} ;
static MITEML40	d012d = {	MS_BTLEFTL40 | MS_EVMOSONL40 | MS_LEFTL40,
							 176,  69, 296,  88, 8,15, 8,
							MS_NONEL40,
							selectFunc1,
							0x0000,  -1,
							"重ね合わせ読み込み",
							   1,  12,  12,
							MS_NONEL40,
							   0,   0,
							   0
						} ;

/* fileMItemId[2] */

static MMIPACKET d013 = {	&fileMItemId[2],
							&fileMenuId,
							&MJ_MITEML40,
							OFFSET(MITEML40),
							MS_NONE
						} ;
static MITEML40	d013d = {	MS_BTLEFTL40 | MS_EVMOSONL40 | MS_LEFTL40,
							 177,  92, 298, 111, 8,15, 8,
							MS_NONEL40,
							selectFunc2,
							0x0053,  -1,
							"保存",
							   1,  12,  12,
							MS_NONEL40,
							   0,   0,
							   0
						} ;

/* fileMItemId[3] */

static MMIPACKET d014 = {	&fileMItemId[3],
							&fileMenuId,
							&MJ_MITEML40,
							OFFSET(MITEML40),
							MS_NONE
						} ;
static MITEML40	d014d = {	MS_BTLEFTL40 | MS_EVMOSONL40 | MS_LEFTL40,
							 176, 115, 297, 134, 8,15, 8,
							MS_NONEL40,
							0,
							0x0000,  -1,
							NULL,
							   1,  12,  12,
							MS_NONEL40,
							   0,   0,
							   0
						} ;

/* fileMItemId[4] */

static MMIPACKET d015 = {	&fileMItemId[4],
							&fileMenuId,
							&MJ_MITEML40,
							OFFSET(MITEML40),
							MS_NONE
						} ;
static MITEML40	d015d = {	MS_BTLEFTL40 | MS_EVMOSONL40 | MS_LEFTL40,
							 177, 136, 298, 155, 8,15, 8,
							MS_NONEL40,
							selectFunc3,
							0x0052,  -1,
							"録音",
							   1,  12,  12,
							MS_NONEL40,
							   0,   0,
							   0
						} ;

/* fileMItemId[5] */

static MMIPACKET d016 = {	&fileMItemId[5],
							&fileMenuId,
							&MJ_MITEML40,
							OFFSET(MITEML40),
							MS_NONE
						} ;
static MITEML40	d016d = {	MS_BTLEFTL40 | MS_EVMOSONL40 | MS_LEFTL40,
							 177, 161, 298, 180, 8,15, 8,
							MS_NONEL40,
							0,
							0x0000,  -1,
							NULL,
							   1,  12,  12,
							MS_NONEL40,
							   0,   0,
							   0
						} ;

/* fileMItemId[7] */

static MMIPACKET d017 = {	&fileMItemId[7],
							&fileMenuId,
							&MJ_MITEML40,
							OFFSET(MITEML40),
							MS_NONE
						} ;
static MITEML40	d017d = {	MS_BTLEFTL40 | MS_EVMOSONL40 | MS_LEFTL40,
							 179, 180, 298, 199, 8,15, 8,
							MS_NONEL40,
							selectFunc4,
							0x0050,  -1,
							"再生",
							   1,  12,  12,
							MS_NONEL40,
							   0,   0,
							   0
						} ;

/* mItemId[2] */

static MMIPACKET d018 = {	&mItemId[2],
							&menuId,
							&MJ_MITEML40,
							OFFSET(MITEML40),
							MS_NONE
						} ;
static MITEML40	d018d = {	MS_BTLEFTL40 | MS_EVMOSONL40 | MS_LEFTL40,
							 252,   0, 348,  19,15, 1,15,
							MS_PANELL40,
							0,
							0x0000,  -1,
							"エフェクト",
							   1,  12,  12,
							MS_NONEL40,
							   0,   0,
							   0
						} ;

/* effMenuId */

static MMIPACKET d019 = {	&effMenuId,
							&mItemId[2],
							&MJ_MENUL40,
							OFFSET(MENUL40),
							MS_NONE
						} ;
static MENUL40	d019d = 	{	MS_BTLEFTL40 | MS_EVMOSONL40 | MS_SKEYL40 | MS_CHECKL40,
							 327,  38, 518, 479, 8,15, 8,
							MS_SRECTL40 | MS_UFRAMEL40 | MS_FRAMEL40,
							NULL,   0
						} ;

/* effMItemId[0] */

static MMIPACKET d020 = {	&effMItemId[0],
							&effMenuId,
							&MJ_MITEML40,
							OFFSET(MITEML40),
							MS_NONE
						} ;
static MITEML40	d020d = {	MS_BTLEFTL40 | MS_EVMOSONL40 | MS_LEFTL40,
							 330,  48, 449,  65, 8,15, 8,
							MS_NONEL40,
							effFunc0,
							0x0000,  -1,
							"エコー",
							   1,  12,  12,
							MS_NONEL40,
							   0,   0,
							   0
						} ;

/* effMItemId[1] */

static MMIPACKET d021 = {	&effMItemId[1],
							&effMenuId,
							&MJ_MITEML40,
							OFFSET(MITEML40),
							MS_NONE
						} ;
static MITEML40	d021d = {	MS_BTLEFTL40 | MS_EVMOSONL40 | MS_LEFTL40,
							 330,  71, 449,  90, 8,15, 8,
							MS_NONEL40,
							effFunc1,
							0x0000,  -1,
							"フェーズシフト",
							   1,  12,  12,
							MS_NONEL40,
							   0,   0,
							   0
						} ;

/* effMItemId[2] */

static MMIPACKET d022 = {	&effMItemId[2],
							&effMenuId,
							&MJ_MITEML40,
							OFFSET(MITEML40),
							MS_NONE
						} ;
static MITEML40	d022d = {	MS_BTLEFTL40 | MS_EVMOSONL40 | MS_LEFTL40,
							 329, 101, 448, 120, 8,15, 8,
							MS_NONEL40,
							effFunc2,
							0x0000,  -1,
							"ビブラート",
							   1,  12,  12,
							MS_NONEL40,
							   0,   0,
							   0
						} ;

/* effMItemId[3] */

static MMIPACKET d023 = {	&effMItemId[3],
							&effMenuId,
							&MJ_MITEML40,
							OFFSET(MITEML40),
							MS_NONE
						} ;
static MITEML40	d023d = {	MS_BTLEFTL40 | MS_EVMOSONL40 | MS_LEFTL40,
							 329, 131, 448, 150, 8,15, 8,
							MS_NONEL40,
							effFunc3,
							0x0000,  -1,
							"トレモロ",
							   1,  12,  12,
							MS_NONEL40,
							   0,   0,
							   0
						} ;

/* effMItemId[4] */

static MMIPACKET d024 = {	&effMItemId[4],
							&effMenuId,
							&MJ_MITEML40,
							OFFSET(MITEML40),
							MS_NONE
						} ;
static MITEML40	d024d = {	MS_BTLEFTL40 | MS_EVMOSONL40 | MS_LEFTL40,
							 330, 160, 449, 179, 8,15, 8,
							MS_NONEL40,
							effFunc4,
							0x0000,  -1,
							"ボイスチェンジャ",
							   1,  12,  12,
							MS_NONEL40,
							   0,   0,
							   0
						} ;

/* effMItemId[5] */

static MMIPACKET d025 = {	&effMItemId[5],
							&effMenuId,
							&MJ_MITEML40,
							OFFSET(MITEML40),
							MS_NONE
						} ;
static MITEML40	d025d = {	MS_BTLEFTL40 | MS_EVMOSONL40 | MS_LEFTL40,
							 335, 190, 454, 209, 8,15, 8,
							MS_NONEL40,
							effFunc4_2,
							0x0000,  -1,
							"ハーモニ",
							   1,  12,  12,
							MS_NONEL40,
							   0,   0,
							   0
						} ;

/* effMItemId[6] */

static MMIPACKET d026 = {	&effMItemId[6],
							&effMenuId,
							&MJ_MITEML40,
							OFFSET(MITEML40),
							MS_NONE
						} ;
static MITEML40	d026d = {	MS_BTLEFTL40 | MS_EVMOSONL40 | MS_LEFTL40,
							 334, 219, 453, 238, 8,15, 8,
							MS_NONEL40,
							effFunc5,
							0x0000,  -1,
							"エキスパンダ",
							   1,  12,  12,
							MS_NONEL40,
							   0,   0,
							   0
						} ;

/* effMItemId[7] */

static MMIPACKET d027 = {	&effMItemId[7],
							&effMenuId,
							&MJ_MITEML40,
							OFFSET(MITEML40),
							MS_NONE
						} ;
static MITEML40	d027d = {	MS_BTLEFTL40 | MS_EVMOSONL40 | MS_LEFTL40,
							 338, 245, 466, 264, 8,15, 8,
							MS_NONEL40,
							effFunc6,
							0x0000,  -1,
							"レベルコントロール",
							   1,  12,  12,
							MS_NONEL40,
							   0,   0,
							   0
						} ;

/* effMItemId[8] */

static MMIPACKET d028 = {	&effMItemId[8],
							&effMenuId,
							&MJ_MITEML40,
							OFFSET(MITEML40),
							MS_NONE
						} ;
static MITEML40	d028d = {	MS_BTLEFTL40 | MS_EVMOSONL40 | MS_LEFTL40,
							 341, 274, 460, 293, 8,15, 8,
							MS_NONEL40,
							effFunc7,
							0x0000,  -1,
							"ピッチコントロール",
							   1,  12,  12,
							MS_NONEL40,
							   0,   0,
							   0
						} ;

/* effMItemId[9] */

static MMIPACKET d029 = {	&effMItemId[9],
							&effMenuId,
							&MJ_MITEML40,
							OFFSET(MITEML40),
							MS_NONE
						} ;
static MITEML40	d029d = {	MS_BTLEFTL40 | MS_EVMOSONL40 | MS_LEFTL40,
							 339, 303, 472, 322, 8,15, 8,
							MS_NONEL40,
							effFunc8,
							0x0000,  -1,
							"フェードイン＆アウト",
							   1,  12,  12,
							MS_NONEL40,
							   0,   0,
							   0
						} ;

/* effMItemId[10] */

static MMIPACKET d030 = {	&effMItemId[10],
							&effMenuId,
							&MJ_MITEML40,
							OFFSET(MITEML40),
							MS_NONE
						} ;
static MITEML40	d030d = {	MS_BTLEFTL40 | MS_EVMOSONL40 | MS_LEFTL40,
							 337, 331, 509, 350, 8,15, 8,
							MS_NONEL40,
							effFunc9,
							0x0000,  -1,
							"サンプリングレート等の変更",
							   1,  12,  12,
							MS_NONEL40,
							   0,   0,
							   0
						} ;

/* effMItemId[11] */

static MMIPACKET d031 = {	&effMItemId[11],
							&effMenuId,
							&MJ_MITEML40,
							OFFSET(MITEML40),
							MS_NONE
						} ;
static MITEML40	d031d = {	MS_BTLEFTL40 | MS_EVMOSONL40 | MS_LEFTL40,
							 336, 364, 457, 383, 8,15, 8,
							MS_NONEL40,
							effFunc10,
							0x0000,  -1,
							"トリミング",
							   1,  12,  12,
							MS_NONEL40,
							   0,   0,
							   0
						} ;

/* effMItemId[12] */

static MMIPACKET d032 = {	&effMItemId[12],
							&effMenuId,
							&MJ_MITEML40,
							OFFSET(MITEML40),
							MS_NONE
						} ;
static MITEML40	d032d = {	MS_BTLEFTL40 | MS_EVMOSONL40 | MS_LEFTL40,
							 339, 393, 476, 412, 8,15, 8,
							MS_NONEL40,
							effFunc11,
							0x0000,  -1,
							"ＦＦＴスペクトル解析",
							   1,  12,  12,
							MS_NONEL40,
							   0,   0,
							   0
						} ;

/* effMItemId[13] */

static MMIPACKET d033 = {	&effMItemId[13],
							&effMenuId,
							&MJ_MITEML40,
							OFFSET(MITEML40),
							MS_NONE
						} ;
static MITEML40	d033d = {	MS_BTLEFTL40 | MS_EVMOSONL40 | MS_LEFTL40,
							 348, 420, 469, 439, 8,15, 8,
							MS_NONEL40,
							0,
							0x0000,  -1,
							NULL,
							   1,  12,  12,
							MS_NONEL40,
							   0,   0,
							   0
						} ;

/* effMItemId[14] */

static MMIPACKET d034 = {	&effMItemId[14],
							&effMenuId,
							&MJ_MITEML40,
							OFFSET(MITEML40),
							MS_NONE
						} ;
static MITEML40	d034d = {	MS_BTLEFTL40 | MS_EVMOSONL40 | MS_LEFTL40,
							 346, 450, 467, 469, 8,15, 8,
							MS_NONEL40,
							effFunc99,
							0x005a,  -1,
							"アンドゥ",
							   1,  12,  12,
							MS_NONEL40,
							   0,   0,
							   0
						} ;

/* SDKmItemId[3] */

static MMIPACKET d035 = {	&SDKmItemId[3],
							&menuId,
							&MJ_MITEML40,
							OFFSET(MITEML40),
							MS_NONE
						} ;
static MITEML40	d035d = {	MS_BTLEFTL40 | MS_EVMOSONL40 | MS_LEFTL40,
							 349,   0, 419,  19,15, 1,15,
							MS_PANELL40,
							information,
							0x0000,  -1,
							" 情  報",
							   1,  12,  12,
							MS_NONEL40,
							   0,   0,
							   0
						} ;

/* quitIconId */

static MMIPACKET d036 = {	&quitIconId,
							&menubarId,
							&MJ_ICONL40,
							0,
							MS_NONE
						} ;
static ICONL40	d036d = 	{	MS_BTLEFTL40 | MS_EVMOSOFFL40 | MS_EVKEYONL40 | MS_LEFTL40,
							 604,   0, 624,  19,15, 8,15,
							MS_PANELL40,
							quitFunc,
							0x0000, 290
						} ;

