VERSION 5.00 Object = "{49CBE90A-5F9F-4127-919C-0B74E18CB87E}#1.0#0"; "CK-Tools.ocx" Begin VB.Form Form1 BackColor = &H00E0E0E0& BorderStyle = 0 'Kein Caption = "Generic Header Creator 3.00 for vgmstream" ClientHeight = 8910 ClientLeft = 0 ClientTop = 0 ClientWidth = 13110 LinkTopic = "Form1" MaxButton = 0 'False MinButton = 0 'False ScaleHeight = 594 ScaleMode = 3 'Pixel ScaleWidth = 874 StartUpPosition = 1 'Fenstermitte Begin VB.PictureBox Picture5 BorderStyle = 0 'Kein Height = 495 Left = 2520 ScaleHeight = 495 ScaleWidth = 495 TabIndex = 127 Top = 420 Width = 495 End Begin VB.PictureBox Picture4 BorderStyle = 0 'Kein Height = 495 Left = 1920 ScaleHeight = 495 ScaleWidth = 495 TabIndex = 126 Top = 420 Width = 495 End Begin VB.PictureBox Picture3 BorderStyle = 0 'Kein Height = 495 Left = 1320 ScaleHeight = 495 ScaleWidth = 495 TabIndex = 125 Top = 420 Width = 495 End Begin VB.PictureBox Picture2 BorderStyle = 0 'Kein Height = 495 Left = 720 ScaleHeight = 495 ScaleWidth = 495 TabIndex = 124 Top = 420 Width = 495 End Begin VB.PictureBox Picture1 BorderStyle = 0 'Kein Height = 495 Left = 120 ScaleHeight = 495 ScaleWidth = 495 TabIndex = 123 Top = 420 Width = 495 End Begin VB.TextBox txtInputFile Appearance = 0 '2D BackColor = &H00C0C0C0& Height = 285 Left = 120 Locked = -1 'True TabIndex = 95 Top = 10320 Width = 4095 End Begin VB.TextBox txtLoopEndCut Appearance = 0 '2D Height = 285 Left = 6000 TabIndex = 93 Top = 11040 Width = 2055 End Begin VB.TextBox txtGetFileName Appearance = 0 '2D Height = 285 Left = 3960 TabIndex = 92 Top = 10680 Width = 4095 End Begin VB.TextBox txtLoopStartCut Appearance = 0 '2D Height = 285 Left = 3960 TabIndex = 91 Top = 11040 Width = 2055 End Begin VB.Frame frmEDITOR BackColor = &H00B8B8B8& Caption = "Editor:" BeginProperty Font Name = "MS Sans Serif" Size = 8.25 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty ForeColor = &H00800000& Height = 255 Left = 2640 TabIndex = 61 Top = 10680 Width = 1215 Begin VB.Frame Frame4 BackColor = &H00B8B8B8& Caption = "File:" BeginProperty Font Name = "MS Sans Serif" Size = 8.25 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty ForeColor = &H00800000& Height = 6135 Left = 360 TabIndex = 83 Top = 240 Width = 4335 Begin VB.TextBox txtInputFileLengthEditor Appearance = 0 '2D BackColor = &H00E0E0E0& Enabled = 0 'False Height = 285 Left = 3000 TabIndex = 87 Top = 840 Width = 1215 End Begin VB.TextBox txtInputFileEditor Appearance = 0 '2D BackColor = &H00E0E0E0& Enabled = 0 'False Height = 285 Left = 120 TabIndex = 86 Top = 840 Width = 2775 End Begin VB.FileListBox File2 Appearance = 0 '2D BackColor = &H00E0E0E0& ForeColor = &H00800000& Height = 4320 Left = 120 Pattern = "*.GENH" TabIndex = 85 Top = 1200 Width = 4095 End Begin VB.CommandButton cmdSaveEditor Caption = "Save Changes" Height = 375 Left = 120 TabIndex = 84 Top = 5640 Width = 4095 End Begin CK_Tools.FolderBrowser FolderBrowser1Editor Height = 285 Left = 120 TabIndex = 88 Top = 240 Width = 4080 _ExtentX = 7197 _ExtentY = 503 BackColor = 14737632 BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} Name = "MS Sans Serif" Size = 8.25 Charset = 0 Weight = 400 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty End Begin VB.Label Label7 AutoSize = -1 'True BackColor = &H00B8B8B8& Caption = "File Length:" ForeColor = &H00800000& Height = 195 Left = 3000 TabIndex = 90 Top = 600 Width = 825 End Begin VB.Label Label8 AutoSize = -1 'True BackColor = &H00B8B8B8& Caption = "Input File Name:" ForeColor = &H00800000& Height = 195 Left = 120 TabIndex = 89 Top = 600 Width = 1155 End End Begin VB.Frame Frame6 BackColor = &H00B8B8B8& Caption = "Format:" BeginProperty Font Name = "MS Sans Serif" Size = 8.25 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty ForeColor = &H00800000& Height = 1575 Left = 4560 TabIndex = 79 Top = 240 Width = 4695 Begin VB.ComboBox comboFileFormatEditor BackColor = &H00E0E0E0& Height = 315 ItemData = "Form1.frx":0000 Left = 120 List = "Form1.frx":0028 TabIndex = 80 Top = 480 Width = 4455 End Begin VB.Label Label9 AutoSize = -1 'True BackColor = &H00B8B8B8& Caption = "File Format:" ForeColor = &H00800000& Height = 195 Left = 120 TabIndex = 82 Top = 240 Width = 810 End Begin VB.Label lblERROREditor Alignment = 2 'Zentriert BackStyle = 0 'Transparent BeginProperty Font Name = "MS Sans Serif" Size = 8.25 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty ForeColor = &H000000FF& Height = 495 Left = 120 TabIndex = 81 Top = 960 Width = 4485 End End Begin VB.Frame Frame7 BackColor = &H00B8B8B8& Caption = "Options:" BeginProperty Font Name = "MS Sans Serif" Size = 8.25 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty ForeColor = &H00800000& Height = 4455 Left = 4560 TabIndex = 62 Top = 1920 Width = 4695 Begin VB.ComboBox txtGENHFrequencyEditor BackColor = &H00E0E0E0& Height = 315 ItemData = "Form1.frx":01A0 Left = 2520 List = "Form1.frx":01C5 TabIndex = 70 Top = 2520 Width = 1935 End Begin VB.ComboBox txtGENHInterleaveEditor BackColor = &H00E0E0E0& Height = 315 ItemData = "Form1.frx":0215 Left = 2520 List = "Form1.frx":0246 TabIndex = 69 Top = 1920 Width = 1935 End Begin VB.ComboBox txtGENHHeaderSkipEditor BackColor = &H00E0E0E0& Height = 315 ItemData = "Form1.frx":029D Left = 360 List = "Form1.frx":02C8 TabIndex = 68 Top = 1920 Width = 1935 End Begin VB.TextBox txtGENHLoopStartSamplesEditor Appearance = 0 '2D BackColor = &H00E0E0E0& Height = 315 Left = 360 TabIndex = 67 Top = 3360 Width = 1935 End Begin VB.TextBox txtGENHLoopEndSamplesEditor Appearance = 0 '2D BackColor = &H00E0E0E0& Height = 315 Left = 2520 TabIndex = 66 Top = 3360 Width = 1935 End Begin VB.ComboBox txtGENHChannelsEditor BackColor = &H00E0E0E0& Height = 315 ItemData = "Form1.frx":030D Left = 360 List = "Form1.frx":0329 TabIndex = 65 Top = 2520 Width = 1935 End Begin VB.TextBox txtEmbeddedFileEditor Alignment = 2 'Zentriert Appearance = 0 '2D BackColor = &H00E0E0E0& Height = 285 Left = 360 Locked = -1 'True TabIndex = 64 Top = 1200 Width = 4095 End Begin VB.TextBox txtGENHVersionEditor Alignment = 2 'Zentriert Appearance = 0 '2D BackColor = &H00E0E0E0& Height = 285 Left = 360 Locked = -1 'True TabIndex = 63 Top = 600 Width = 4095 End Begin VB.Label Label12 AutoSize = -1 'True BackColor = &H00B8B8B8& Caption = "Header Skip:" ForeColor = &H00800000& Height = 195 Left = 360 TabIndex = 78 Top = 1680 Width = 930 End Begin VB.Label Label13 AutoSize = -1 'True BackColor = &H00B8B8B8& Caption = "Loop End (Samples):" ForeColor = &H00800000& Height = 195 Left = 2520 TabIndex = 77 Top = 3120 Width = 1470 End Begin VB.Label Label14 AutoSize = -1 'True BackColor = &H00B8B8B8& Caption = "Loop Start (Samples):" ForeColor = &H00800000& Height = 195 Left = 360 TabIndex = 76 Top = 3120 Width = 1515 End Begin VB.Label Label15 AutoSize = -1 'True BackColor = &H00B8B8B8& Caption = "Frequency:" ForeColor = &H00800000& Height = 195 Left = 2520 TabIndex = 75 Top = 2280 Width = 795 End Begin VB.Label Label16 AutoSize = -1 'True BackColor = &H00B8B8B8& Caption = "Interleave:" ForeColor = &H00800000& Height = 195 Left = 2520 TabIndex = 74 Top = 1680 Width = 750 End Begin VB.Label Label17 AutoSize = -1 'True BackColor = &H00B8B8B8& Caption = "Channels:" ForeColor = &H00800000& Height = 195 Left = 360 TabIndex = 73 Top = 2280 Width = 705 End Begin VB.Label Label18 AutoSize = -1 'True BackStyle = 0 'Transparent Caption = "Embedded File:" ForeColor = &H00800000& Height = 195 Left = 360 TabIndex = 72 Top = 960 Width = 1095 End Begin VB.Label Label6 AutoSize = -1 'True BackStyle = 0 'Transparent Caption = "GENH Version:" ForeColor = &H00800000& Height = 195 Left = 360 TabIndex = 71 Top = 360 Width = 1080 End End End Begin VB.Frame frmExtractor BackColor = &H00B8B8B8& Caption = "Extractor:" BeginProperty Font Name = "MS Sans Serif" Size = 8.25 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty ForeColor = &H00800000& Height = 255 Left = 2640 TabIndex = 29 Top = 11040 Width = 1215 Begin VB.Frame Frame8 BackColor = &H00B8B8B8& Caption = "File:" BeginProperty Font Name = "MS Sans Serif" Size = 8.25 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty ForeColor = &H00800000& Height = 6135 Left = 120 TabIndex = 53 Top = 240 Width = 4335 Begin VB.CommandButton cmdExtractEmbeddedFile Caption = "Extract Embedded File" Height = 375 Left = 120 TabIndex = 57 Top = 5640 Width = 4095 End Begin VB.FileListBox File3 Appearance = 0 '2D BackColor = &H00E0E0E0& ForeColor = &H00800000& Height = 4320 Left = 120 Pattern = "*.GENH" TabIndex = 56 Top = 1200 Width = 4095 End Begin VB.TextBox txtInputFileExtractor Appearance = 0 '2D BackColor = &H00E0E0E0& Enabled = 0 'False Height = 285 Left = 120 TabIndex = 55 Top = 840 Width = 2775 End Begin VB.TextBox txtInputFileLengthExtractor Appearance = 0 '2D BackColor = &H00E0E0E0& Enabled = 0 'False Height = 285 Left = 3000 TabIndex = 54 Top = 840 Width = 1215 End Begin CK_Tools.FolderBrowser FolderBrowser1Extractor Height = 285 Left = 120 TabIndex = 58 Top = 240 Width = 4080 _ExtentX = 7197 _ExtentY = 503 BackColor = 14737632 BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} Name = "MS Sans Serif" Size = 8.25 Charset = 0 Weight = 400 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty End Begin VB.Label Label10 AutoSize = -1 'True BackColor = &H00B8B8B8& Caption = "Input File Name:" ForeColor = &H00800000& Height = 195 Left = 120 TabIndex = 60 Top = 600 Width = 1155 End Begin VB.Label Label11 AutoSize = -1 'True BackColor = &H00B8B8B8& Caption = "File Length:" ForeColor = &H00800000& Height = 195 Left = 3000 TabIndex = 59 Top = 600 Width = 825 End End Begin VB.Frame Frame9 BackColor = &H00B8B8B8& Caption = "Options:" BeginProperty Font Name = "MS Sans Serif" Size = 8.25 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty ForeColor = &H00800000& Height = 4455 Left = 4560 TabIndex = 34 Top = 1920 Width = 4695 Begin VB.TextBox txtGENHVersionExtractor Alignment = 2 'Zentriert Appearance = 0 '2D BackColor = &H00E0E0E0& Height = 285 Left = 360 Locked = -1 'True TabIndex = 43 Top = 600 Width = 4095 End Begin VB.TextBox txtEmbeddedFileExtractor Alignment = 2 'Zentriert Appearance = 0 '2D BackColor = &H00E0E0E0& Height = 285 Left = 360 TabIndex = 42 Top = 1200 Width = 4095 End Begin VB.ComboBox txtGENHChannelsExtractor BackColor = &H00E0E0E0& Height = 315 ItemData = "Form1.frx":0345 Left = 360 List = "Form1.frx":0361 TabIndex = 41 Top = 3120 Width = 1935 End Begin VB.TextBox txtGENHLoopEndSamplesExtractor Appearance = 0 '2D BackColor = &H00E0E0E0& Height = 315 Left = 2520 TabIndex = 40 Top = 3960 Width = 1935 End Begin VB.TextBox txtGENHLoopStartSamplesExtractor Appearance = 0 '2D BackColor = &H00E0E0E0& Height = 315 Left = 360 TabIndex = 39 Top = 3960 Width = 1935 End Begin VB.ComboBox txtGENHHeaderSkipExtractor BackColor = &H00E0E0E0& Height = 315 ItemData = "Form1.frx":037D Left = 360 List = "Form1.frx":03A8 TabIndex = 38 Top = 2520 Width = 1935 End Begin VB.ComboBox txtGENHInterleaveExtractor BackColor = &H00E0E0E0& Height = 315 ItemData = "Form1.frx":03ED Left = 2520 List = "Form1.frx":041E TabIndex = 37 Top = 2520 Width = 1935 End Begin VB.ComboBox txtGENHFrequencyExtractor BackColor = &H00E0E0E0& Height = 315 ItemData = "Form1.frx":0475 Left = 2520 List = "Form1.frx":049A TabIndex = 36 Top = 3120 Width = 1935 End Begin VB.TextBox txtExtractLengthExtractor Alignment = 2 'Zentriert Appearance = 0 '2D BackColor = &H00E0E0E0& Height = 285 Left = 360 Locked = -1 'True TabIndex = 35 Top = 1800 Width = 4095 End Begin VB.Label Label19 AutoSize = -1 'True BackStyle = 0 'Transparent Caption = "GENH Version:" ForeColor = &H00800000& Height = 195 Left = 360 TabIndex = 52 Top = 360 Width = 1080 End Begin VB.Label Label20 AutoSize = -1 'True BackStyle = 0 'Transparent Caption = "Embedded File:" ForeColor = &H00800000& Height = 195 Left = 360 TabIndex = 51 Top = 960 Width = 1095 End Begin VB.Label Label21 AutoSize = -1 'True BackColor = &H00B8B8B8& Caption = "Channels:" ForeColor = &H00800000& Height = 195 Left = 360 TabIndex = 50 Top = 2880 Width = 705 End Begin VB.Label Label22 AutoSize = -1 'True BackColor = &H00B8B8B8& Caption = "Interleave:" ForeColor = &H00800000& Height = 195 Left = 2520 TabIndex = 49 Top = 2280 Width = 750 End Begin VB.Label Label23 AutoSize = -1 'True BackColor = &H00B8B8B8& Caption = "Frequency:" ForeColor = &H00800000& Height = 195 Left = 2520 TabIndex = 48 Top = 2880 Width = 795 End Begin VB.Label Label24 AutoSize = -1 'True BackColor = &H00B8B8B8& Caption = "Loop Start (Samples):" ForeColor = &H00800000& Height = 195 Left = 360 TabIndex = 47 Top = 3720 Width = 1515 End Begin VB.Label Label25 AutoSize = -1 'True BackColor = &H00B8B8B8& Caption = "Loop End (Samples):" ForeColor = &H00800000& Height = 195 Left = 2520 TabIndex = 46 Top = 3720 Width = 1470 End Begin VB.Label Label26 AutoSize = -1 'True BackColor = &H00B8B8B8& Caption = "Header Skip:" ForeColor = &H00800000& Height = 195 Left = 360 TabIndex = 45 Top = 2280 Width = 930 End Begin VB.Label Label27 AutoSize = -1 'True BackStyle = 0 'Transparent Caption = "Extract Length (Bytes):" ForeColor = &H00800000& Height = 195 Left = 360 TabIndex = 44 Top = 1560 Width = 1605 End End Begin VB.Frame Frame10 BackColor = &H00B8B8B8& Caption = "Format:" BeginProperty Font Name = "MS Sans Serif" Size = 8.25 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty ForeColor = &H00800000& Height = 1575 Left = 4560 TabIndex = 30 Top = 240 Width = 4695 Begin VB.ComboBox comboFileFormatExtractor BackColor = &H00E0E0E0& Height = 315 ItemData = "Form1.frx":04EA Left = 120 List = "Form1.frx":0512 TabIndex = 31 Top = 480 Width = 4455 End Begin VB.Label lblERRORExtractor Alignment = 2 'Zentriert BackStyle = 0 'Transparent BeginProperty Font Name = "MS Sans Serif" Size = 8.25 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty ForeColor = &H000000FF& Height = 495 Left = 120 TabIndex = 33 Top = 960 Width = 4485 End Begin VB.Label Label28 AutoSize = -1 'True BackColor = &H00B8B8B8& Caption = "File Format:" ForeColor = &H00800000& Height = 195 Left = 120 TabIndex = 32 Top = 240 Width = 810 End End End Begin VB.Frame frmCREATOR BackColor = &H00B8B8B8& Caption = "Creator:" BeginProperty Font Name = "MS Sans Serif" Size = 8.25 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty ForeColor = &H00800000& Height = 7815 Left = 120 TabIndex = 3 Top = 960 Width = 12855 Begin VB.CommandButton Command1 Caption = "Command1" Height = 495 Left = 9720 TabIndex = 128 Top = 3000 Width = 3015 End Begin VB.Frame frmSpecialOptionsPSX BackColor = &H00B8B8B8& Caption = "Special Options (PSX/PS2):" BeginProperty Font Name = "MS Sans Serif" Size = 8.25 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty ForeColor = &H00800000& Height = 1935 Left = 9720 TabIndex = 120 Top = 240 Visible = 0 'False Width = 3015 Begin VB.CommandButton cmdFIndLoopsPSX Caption = "Find Loops" Height = 255 Left = 120 TabIndex = 122 Top = 720 Width = 2775 End Begin VB.CommandButton cmdFindInterleavePSX Caption = "Find Interleave" Height = 255 Left = 120 TabIndex = 121 Top = 360 Width = 2775 End End Begin VB.CheckBox chkHalfFileInterleave BackColor = &H00B8B8B8& Caption = "Half File Interleave (SPSD only?)" ForeColor = &H00800000& Height = 255 Left = 9720 TabIndex = 116 Top = 4800 Visible = 0 'False Width = 2775 End Begin VB.Frame frmLoopCalculation BackColor = &H00B8B8B8& Caption = "Loop Calculation" BeginProperty Font Name = "MS Sans Serif" Size = 8.25 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty ForeColor = &H00800000& Height = 2775 Left = 4560 TabIndex = 104 Top = 4200 Width = 5055 Begin VB.TextBox txtGENHLoopStartSamples Appearance = 0 '2D BackColor = &H00C0C0C0& Height = 315 Left = 240 TabIndex = 108 Top = 480 Width = 1455 End Begin VB.TextBox txtGENHLoopEndSamples Appearance = 0 '2D BackColor = &H00C0C0C0& Height = 315 Left = 240 TabIndex = 107 Top = 1200 Width = 1455 End Begin VB.TextBox txtGENHLoopEnd Appearance = 0 '2D BackColor = &H00C0C0C0& Height = 315 Left = 1800 TabIndex = 106 Top = 1200 Width = 1455 End Begin VB.TextBox txtGENHLoopStart Appearance = 0 '2D BackColor = &H00C0C0C0& Height = 315 Left = 1800 TabIndex = 105 Top = 480 Width = 1455 End Begin VB.Label lblUseFileEnd AutoSize = -1 'True BackStyle = 0 'Transparent Caption = "Use File End" BeginProperty Font Name = "MS Sans Serif" Size = 8.25 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty ForeColor = &H00800000& Height = 195 Left = 2040 TabIndex = 115 Top = 1920 Width = 1095 End Begin VB.Label lblLoopEndToSamples_Click AutoSize = -1 'True BackStyle = 0 'Transparent Caption = "Calculate" BeginProperty Font Name = "MS Sans Serif" Size = 8.25 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty ForeColor = &H00800000& Height = 195 Left = 3720 TabIndex = 114 Top = 1280 Width = 810 End Begin VB.Label Label5 AutoSize = -1 'True BackStyle = 0 'Transparent Caption = "Calculate" BeginProperty Font Name = "MS Sans Serif" Size = 8.25 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty ForeColor = &H00800000& Height = 195 Left = 3720 TabIndex = 113 Top = 560 Width = 810 End Begin VB.Label Label3 AutoSize = -1 'True BackColor = &H00B8B8B8& BackStyle = 0 'Transparent Caption = "Loop End (Bytes):" ForeColor = &H00800000& Height = 195 Left = 1800 TabIndex = 112 Top = 960 Width = 1260 End Begin VB.Label Label2 AutoSize = -1 'True BackColor = &H00B8B8B8& BackStyle = 0 'Transparent Caption = "Loop Start (Bytes):" ForeColor = &H00800000& Height = 195 Left = 1800 TabIndex = 111 Top = 240 Width = 1305 End Begin VB.Label lblGENHLoopEnd AutoSize = -1 'True BackColor = &H00B8B8B8& BackStyle = 0 'Transparent Caption = "Loop End:" ForeColor = &H00800000& Height = 195 Left = 240 TabIndex = 110 Top = 960 Width = 735 End Begin VB.Label lblGENHLoopStart AutoSize = -1 'True BackColor = &H00B8B8B8& BackStyle = 0 'Transparent Caption = "Loop Start:" ForeColor = &H00800000& Height = 195 Left = 240 TabIndex = 109 Top = 240 Width = 780 End Begin VB.Image cmdUSEFILEEND Height = 375 Left = 480 Top = 1800 Width = 4095 End Begin VB.Image cmdLoopStartToSamples Height = 315 Left = 3360 Picture = "Form1.frx":068A Top = 480 Width = 1455 End Begin VB.Image cmdLoopEndToSamples Height = 315 Left = 3360 Picture = "Form1.frx":1EC0 Top = 1200 Width = 1455 End End Begin VB.CommandButton cmdCreateFormatList Caption = "Create format list (dev only)" Height = 255 Left = 9960 TabIndex = 100 Top = 7320 Width = 2655 End Begin VB.Frame frmSpecialOptionsGameCube BackColor = &H00B8B8B8& Caption = "Special Options (GameCube):" BeginProperty Font Name = "MS Sans Serif" Size = 8.25 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty ForeColor = &H00800000& Height = 2415 Left = 9720 TabIndex = 99 Top = 240 Visible = 0 'False Width = 3015 Begin VB.TextBox txtDSPCoef1 Appearance = 0 '2D BackColor = &H00C0C0C0& Height = 285 Left = 120 TabIndex = 103 Text = "0" Top = 720 Width = 1335 End Begin VB.TextBox txtDSPCoef2 Appearance = 0 '2D BackColor = &H00C0C0C0& Height = 285 Left = 1560 TabIndex = 102 Text = "0" Top = 720 Width = 1335 End Begin VB.CheckBox chkCapcomHack BackColor = &H00B8B8B8& Caption = "Capcom Hack" ForeColor = &H00800000& Height = 255 Left = 120 TabIndex = 101 Top = 1080 Width = 2775 End Begin VB.Label Label31 AutoSize = -1 'True BackColor = &H00B8B8B8& Caption = "Right Channel:" ForeColor = &H00800000& Height = 195 Left = 1560 TabIndex = 119 Top = 480 Width = 1050 End Begin VB.Label Label30 AutoSize = -1 'True BackColor = &H00B8B8B8& Caption = "Left Channel:" ForeColor = &H00800000& Height = 195 Left = 120 TabIndex = 118 Top = 480 Width = 945 End Begin VB.Label Label29 AutoSize = -1 'True BackColor = &H00B8B8B8& Caption = "coefficients offsets:" ForeColor = &H00800000& Height = 195 Left = 120 TabIndex = 117 Top = 240 Width = 1365 End End Begin VB.Frame frmINFO Caption = "Info and Help:" BeginProperty Font Name = "MS Sans Serif" Size = 8.25 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty ForeColor = &H00800000& Height = 615 Left = 120 TabIndex = 97 Top = 7080 Width = 9495 Begin VB.Label lblINFO BackColor = &H00FFFFFF& BeginProperty Font Name = "MS Sans Serif" Size = 8.25 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty ForeColor = &H000000FF& Height = 255 Left = 120 TabIndex = 98 Top = 240 Width = 9255 End End Begin VB.Frame frmOptionsCreator BackColor = &H00B8B8B8& Caption = "Options:" BeginProperty Font Name = "MS Sans Serif" Size = 8.25 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty ForeColor = &H00800000& Height = 2055 Left = 4560 TabIndex = 18 Top = 2040 Width = 5055 Begin VB.ComboBox txtGENHChannels BackColor = &H00C0C0C0& Height = 315 ItemData = "Form1.frx":36F6 Left = 360 List = "Form1.frx":3712 TabIndex = 22 Top = 1080 Width = 1935 End Begin VB.ComboBox txtGENHHeaderSkip BackColor = &H00C0C0C0& Height = 315 ItemData = "Form1.frx":372E Left = 360 List = "Form1.frx":3759 TabIndex = 21 ToolTipText = "Set here the offset where the BGM data starts..." Top = 480 Width = 1935 End Begin VB.ComboBox txtGENHInterleave BackColor = &H00C0C0C0& Height = 315 ItemData = "Form1.frx":379E Left = 2520 List = "Form1.frx":37CF TabIndex = 20 Top = 480 Width = 1935 End Begin VB.ComboBox txtGENHFrequency BackColor = &H00C0C0C0& Height = 315 ItemData = "Form1.frx":3826 Left = 2520 List = "Form1.frx":384B TabIndex = 19 Top = 1080 Width = 1935 End Begin VB.Label lblGENHChannels AutoSize = -1 'True BackColor = &H00B8B8B8& BackStyle = 0 'Transparent Caption = "Channels:" ForeColor = &H00800000& Height = 195 Left = 360 TabIndex = 26 Top = 840 Width = 705 End Begin VB.Label lblGENHInterleave AutoSize = -1 'True BackColor = &H00B8B8B8& BackStyle = 0 'Transparent Caption = "Interleave:" ForeColor = &H00800000& Height = 195 Left = 2520 TabIndex = 25 Top = 240 Width = 750 End Begin VB.Label lblGENHFrequency AutoSize = -1 'True BackColor = &H00B8B8B8& BackStyle = 0 'Transparent Caption = "Frequency:" ForeColor = &H00800000& Height = 195 Left = 2520 TabIndex = 24 Top = 840 Width = 795 End Begin VB.Label lblHeaderSkip AutoSize = -1 'True BackColor = &H00B8B8B8& BackStyle = 0 'Transparent Caption = "Header Skip:" ForeColor = &H00800000& Height = 195 Left = 360 TabIndex = 23 Top = 240 Width = 930 End End Begin VB.Frame frmFileCreator BackColor = &H00B8B8B8& Caption = "File:" BeginProperty Font Name = "MS Sans Serif" Size = 8.25 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty ForeColor = &H00800000& Height = 6735 Left = 120 TabIndex = 9 Top = 240 Width = 4335 Begin VB.FileListBox File1 Appearance = 0 '2D BackColor = &H00C0C0C0& Height = 3735 Left = 120 TabIndex = 28 Top = 1800 Width = 4095 End Begin VB.TextBox txtInputFileLength Appearance = 0 '2D BackColor = &H00C0C0C0& Height = 285 Left = 120 Locked = -1 'True TabIndex = 14 Top = 1440 Width = 1935 End Begin VB.TextBox txtOutputFile Appearance = 0 '2D BackColor = &H00C0C0C0& Height = 285 Left = 120 TabIndex = 13 Top = 840 Width = 4095 End Begin VB.CheckBox chkCreateOnlyHeader BackColor = &H00B8B8B8& Caption = "Create only Header" ForeColor = &H00800000& Height = 255 Left = 120 TabIndex = 12 Top = 5880 Width = 1695 End Begin VB.CheckBox chkProcessWholeList BackColor = &H00B8B8B8& Caption = "Process Whole List" ForeColor = &H00800000& Height = 255 Left = 120 TabIndex = 11 Top = 5640 Width = 1815 End Begin VB.TextBox txtFilter Alignment = 2 'Zentriert Appearance = 0 '2D BackColor = &H00C0C0C0& ForeColor = &H00800000& Height = 285 Left = 2160 TabIndex = 10 Text = "*.*" Top = 1440 Width = 2055 End Begin CK_Tools.FolderBrowser FolderBrowser1 Height = 285 Left = 120 TabIndex = 15 Top = 240 Width = 4080 _ExtentX = 7197 _ExtentY = 503 BackColor = 12632256 BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} Name = "MS Sans Serif" Size = 8.25 Charset = 0 Weight = 400 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty End Begin VB.Label lblCreateGenh AutoSize = -1 'True BackStyle = 0 'Transparent Caption = "Create Generic Header" BeginProperty Font Name = "MS Sans Serif" Size = 8.25 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty ForeColor = &H00800000& Height = 195 Left = 1080 TabIndex = 94 Top = 6345 Width = 1965 End Begin VB.Image cmdCreateGENH Height = 390 Left = 120 Top = 6240 Width = 4095 End Begin VB.Label lblFilterCreator AutoSize = -1 'True BackStyle = 0 'Transparent Caption = "Filter:" ForeColor = &H00800000& Height = 195 Left = 2160 TabIndex = 27 Top = 1200 Width = 375 End Begin VB.Label lblInputFileLength AutoSize = -1 'True BackColor = &H00B8B8B8& BackStyle = 0 'Transparent Caption = "File Length:" ForeColor = &H00800000& Height = 195 Left = 120 TabIndex = 17 Top = 1200 Width = 825 End Begin VB.Label lblOutputFileNameCreator AutoSize = -1 'True BackColor = &H00B8B8B8& BackStyle = 0 'Transparent Caption = "Output File Name:" ForeColor = &H00800000& Height = 195 Left = 120 TabIndex = 16 Top = 600 Width = 1275 End End Begin VB.Frame frmFormatCreator BackColor = &H00B8B8B8& Caption = "Format:" BeginProperty Font Name = "MS Sans Serif" Size = 8.25 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty ForeColor = &H00800000& Height = 1575 Left = 4560 TabIndex = 4 Top = 240 Width = 5055 Begin VB.ComboBox comboFileFormat BackColor = &H00C0C0C0& Height = 315 ItemData = "Form1.frx":389B Left = 120 List = "Form1.frx":38CC TabIndex = 6 Top = 480 Width = 4815 End Begin VB.ComboBox ComboPresets BackColor = &H00C0C0C0& Height = 315 ItemData = "Form1.frx":3AD7 Left = 120 List = "Form1.frx":3AE7 TabIndex = 5 Top = 1080 Width = 4815 End Begin VB.Label Label1 AutoSize = -1 'True BackColor = &H00B8B8B8& BackStyle = 0 'Transparent Caption = "File Format:" ForeColor = &H00800000& Height = 195 Left = 120 TabIndex = 8 Top = 240 Width = 810 End Begin VB.Label Label4 AutoSize = -1 'True BackColor = &H00B8B8B8& BackStyle = 0 'Transparent Caption = "Presets:" ForeColor = &H00800000& Height = 195 Left = 120 TabIndex = 7 Top = 840 Width = 570 End End End Begin VB.PictureBox imgEXITNORMAL AutoSize = -1 'True BorderStyle = 0 'Kein Height = 285 Left = 1800 Picture = "Form1.frx":3BAD ScaleHeight = 285 ScaleWidth = 285 TabIndex = 2 Top = 10680 Visible = 0 'False Width = 285 End Begin VB.PictureBox imgEXITOVER AutoSize = -1 'True BorderStyle = 0 'Kein Height = 285 Left = 2160 Picture = "Form1.frx":416B ScaleHeight = 285 ScaleWidth = 285 TabIndex = 1 Top = 10680 Visible = 0 'False Width = 285 End Begin VB.PictureBox imgEXIT BorderStyle = 0 'Kein Height = 285 Left = 1440 Picture = "Form1.frx":4729 ScaleHeight = 285 ScaleWidth = 285 TabIndex = 0 Top = 10680 Width = 285 End Begin VB.Label lblInputFileNameCreator AutoSize = -1 'True BackColor = &H00B8B8B8& BackStyle = 0 'Transparent Caption = "Input File Name:" ForeColor = &H00800000& Height = 195 Left = 120 TabIndex = 96 Top = 10080 Width = 1155 End Begin VB.Image imgMINIMIZE Height = 285 Left = 1440 Picture = "Form1.frx":5405 Top = 11040 Width = 285 End Begin VB.Image imgMINIMIZEOVER Height = 285 Left = 2160 Picture = "Form1.frx":59C3 Top = 11040 Width = 285 End Begin VB.Image imgMINIMIZENORMAL Height = 285 Left = 1800 Picture = "Form1.frx":5F81 Top = 11040 Width = 285 End Begin VB.Image btnOVER Height = 390 Left = 8160 Picture = "Form1.frx":653F Top = 10920 Width = 4095 End Begin VB.Image btnNormal Height = 390 Left = 8160 Picture = "Form1.frx":B8C9 Top = 10560 Width = 4095 End Begin VB.Image picBOTTOM Height = 75 Left = 720 Picture = "Form1.frx":10C53 Stretch = -1 'True Top = 11280 Width = 15 End Begin VB.Image picRIGHTD Height = 165 Left = 1200 Picture = "Form1.frx":110A9 Top = 11280 Width = 75 End Begin VB.Image picRIGHTM Height = 15 Left = 1200 Picture = "Form1.frx":11543 Stretch = -1 'True Top = 11160 Width = 75 End Begin VB.Image picRIGHTU Height = 390 Left = 1200 Picture = "Form1.frx":1198D Top = 10680 Width = 75 End Begin VB.Image picLEFTD Height = 165 Left = 120 Picture = "Form1.frx":11E9F Top = 11280 Width = 75 End Begin VB.Image picLEFTM Height = 15 Left = 120 Picture = "Form1.frx":12339 Stretch = -1 'True Top = 11160 Width = 75 End Begin VB.Image picLEFTU Height = 390 Left = 120 Picture = "Form1.frx":12783 Top = 10680 Width = 75 End Begin VB.Image picTOPR Height = 390 Left = 840 Picture = "Form1.frx":12C95 Top = 10680 Width = 90 End Begin VB.Image picTOPM Height = 390 Left = 720 Picture = "Form1.frx":131A7 Stretch = -1 'True Top = 10680 Width = 15 End Begin VB.Image picTOPL Height = 390 Left = 480 Picture = "Form1.frx":13651 Top = 10680 Width = 90 End End Attribute VB_Name = "Form1" Attribute VB_GlobalNameSpace = False Attribute VB_Creatable = False Attribute VB_PredeclaredId = True Attribute VB_Exposed = False Option Explicit 'setting up the skin-feature Private Declare Function CreateEllipticRgn Lib "gdi32" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long Private Declare Function CreateRoundRectRgn Lib "gdi32" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long, ByVal X3 As Long, ByVal Y3 As Long) As Long Private Declare Function CombineRgn Lib "gdi32" (ByVal hDestRgn As Long, ByVal hSrcRgn1 As Long, ByVal hSrcRgn2 As Long, ByVal nCombineMode As Long) As Long Private Declare Function SetWindowRgn Lib "User32" (ByVal hWnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long Private Declare Function ReleaseCapture Lib "User32" () As Long Private Declare Function SendMessage Lib "User32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long Private Const WM_NCLBUTTONDOWN = &HA1 Private Const HTCAPTION = 2 Private Const RGN_OR = 2 'For Big Endian reading Dim START_BYTE As Long Dim TEMP_BYTE1 As Byte Dim TEMP_BYTE2 As Byte Dim TEMP_BYTE3 As Byte Dim TEMP_BYTE4 As Byte Dim TEMP_LONG1 As Long Dim TEMP_LONG2 As Long Dim TEMP_LONG3 As Long Dim TEMP_LONG4 As Long Dim Calculated_Value As Long 'setting up main variables for reading/ exporting, etc Dim COUNTER Dim NAMECUT Dim EXPORTNAME Dim Samples Dim PaddingBits Dim Byte01 As Byte Dim Byte02 As Byte Dim Byte03 As Byte Dim Byte04 As Byte Dim strByte01 As String * 8 Dim strByte02 As String * 8 Dim strByte03 As String * 8 Dim strByte04 As String * 8 Dim MPEGFRAMEBIN As String * 32 Dim MPEGVersionBIN As String * 2 Dim MPEGLayerBIN As String * 2 Dim MPEGBitRateBIN As String * 4 Dim MPEGSampleRateBIN As String * 2 Dim MPEGPaddingBitBIN As String * 1 Dim MPEGVersion Dim MPEGLayer Dim MPEGBitRate Dim MPEGSampleRate Dim MPEGPaddingBit Dim MPEGFrameLength Dim strInputFile As String Dim strInputFileEditor As String Dim strInputFileExtractor As String Dim strOutputFile As String Dim strOutputFileExtractor As String Dim ExportBytesLarge As Long Dim ExportBytesSmall As Long Dim SmallBuffer As String * 1 Dim LargeBuffer As String * 2048 Dim END_BYTE As Byte Dim WholeListCounter Dim TimeSecondsLoopStart Dim TimeSecondsCutLoopStart Dim TimeSecondsLoopEnd Dim TimeSecondsCutLoopEnd Dim MSADPCM_Frames Dim MSADPCM_LastFrame Dim RiffChannels As Integer Dim RiffBits As Integer 'setting up needed GENH variables (ordered - all are 4 bytes long) Dim strGENHCheck As String * 4 Dim strGENH As String * 4 '0x0000 Dim GENHChannels As Long '0x0004 Dim GENHInterleave As Long '0x0008 Dim GENHFrequency As Long '0x000C Dim GENHLoopStart As Long 'In Samples '0x0010 Dim GENHLoopEnd As Long 'In Samples '0x0014 Dim GENHIdentiferByte As Long '0x0018 Dim GENHHeaderSkip As Long '0x001C Dim GENHFileStartOffset As Long '0x0020 Dim DSPCoef1 As Long '0x0024 Dim DSPCoef2 As Long '0x0028 Dim DSP_Interleave_Type As Long '0x002C Dim strGENHEditor As String * 4 '0x0000 Dim GENHChannelsEditor As Long '0x0004 Dim GENHInterleaveEditor As Long '0x0008 Dim GENHFrequencyEditor As Long '0x000C Dim GENHLoopStartEditor As Long 'In Samples '0x0010 Dim GENHLoopEndEditor As Long 'In Samples '0x0014 Dim GENHIdentiferByteEditor As Long '0x0018 Dim GENHHeaderSkipEditor As Long '0x001C Dim GENHFileStartOffsetEditor As Long '0x0020 Dim strEmbeddedFileNameEditor As String * 256 Dim strGENHVersionEditorCheck As Byte Dim strGENHVersionEditor As String * 4 Dim DummyByteEditor As Byte Dim strGENHCheckExtractor As String * 4 Dim strGENHExtractor As String * 4 '0x0000 Dim GENHChannelsExtractor As Long '0x0004 Dim GENHInterleaveExtractor As Long '0x0008 Dim GENHFrequencyExtractor As Long '0x000C Dim GENHLoopStartExtractor As Long 'In Samples '0x0010 Dim GENHLoopEndExtractor As Long 'In Samples '0x0014 Dim GENHIdentiferByteExtractor As Long '0x0018 Dim GENHHeaderSkipExtractor As Long '0x001C Dim GENHFileStartOffsetExtractor As Long '0x0020 Dim strEmbeddedFileNameExtractor As String * 256 Dim strGENHVersionExtractorCheck As Byte Dim strGENHVersionExtractor As String * 4 Dim DummyByteExtractor As Byte Dim ExportLengthExtractor As Long '######################## Reserved ##################### '### 'Dim miniGENHNameLength As Long '0x0024 ## '### 'Dim GENH_miniGENH_Selector As Long '0x0028 ## '######################## Reserved ##################### Dim strGENHVersion As String * 4 '0x0304 Private Sub cmdCreateFormatList_Click() 'nonsense for users, only to retrieve a list of implemented formats comboFileFormat.ListIndex = 0 Open "Formats.txt" For Output As #10 Do On Error GoTo EndReached: Print #10, comboFileFormat.Text comboFileFormat.ListIndex = comboFileFormat.ListIndex + 1 Loop Until comboFileFormat.ListIndex = comboFileFormat.ListCount EndReached: Close #10 Beep Exit Sub End Sub Private Sub cmdCreateGENH_Click() DSP_Interleave_Type = 2 '0 = layout_interleave '1 = layout_interleave_byte '2 = layout_none DSPCoef1 = 0 DSPCoef2 = 0 Close #1 Close #2 '##################################################### '##### Here we're creating the GENH file ##### '##################################################### 'Set the "COUNTER" to zero, it's important to prevent 'freezing if you work on more than one file COUNTER = 0 WholeListCounter = 0 END_BYTE = &H0 'Set the output file name, given by the textbox strOutputFile = txtOutputFile.Text 'Check if we have all basic values we need If strInputFile = "" Then lblINFO.Caption = ("No File selected!") Close #1 Exit Sub ElseIf comboFileFormat.Text = "" Then lblINFO.Caption = ("No Format selected!") Close #1 Exit Sub ElseIf txtGENHHeaderSkip.Text = "" Then lblINFO.Caption = ("Header Size Value not set!") Close #1 Exit Sub ElseIf txtGENHChannels.Text = "" Then lblINFO.Caption = ("Channel Value not set!") Close #1 Exit Sub ElseIf txtGENHFrequency.Text = "" Then lblINFO.Caption = ("Frequency Value not set!") Close #1 Exit Sub ElseIf txtGENHInterleave.Text = "" Then lblINFO.Caption = ("Interleave Value not set!") Close #1 Exit Sub End If GENHInterleave = txtGENHInterleave.Text If comboFileFormat.ListIndex = &HB Then If GENHInterleave < 1 Then lblINFO.Caption = "We need an interleave value to calculate this!" Exit Sub End If End If 'Handling DSP with 1 Channel here If comboFileFormat.ListIndex = 12 Then '0x0D GC DSP If GENHChannels = 1 Then 'Check if the textbox has a value If txtDSPCoef1.Text = "" Then MsgBox ("Start Offset for coef table 1 needed!"), vbInformation, "Generic Header Creator " & strGENHVersion Close #1 Close #2 Exit Sub Else 'else go on DSPCoef1 = txtDSPCoef1.Text DSP_Interleave_Type = 2 'layout_none End If End If End If 'Handling DSP with 2 Channels here If comboFileFormat.ListIndex = 12 Then '0x0D GC DSP If GENHChannels = 2 Then 'Check if the textbox has a value If txtDSPCoef1.Text = "" Then MsgBox ("Start Offset for coef table 1 needed!"), vbInformation, "Generic Header Creator " & strGENHVersion Close #1 Close #2 Exit Sub End If If txtDSPCoef2.Text = "" Then MsgBox ("Start Offset for coef table 2 needed!"), vbInformation, "Generic Header Creator " & strGENHVersion Close #1 Close #2 Exit Sub Else 'else go on DSPCoef1 = txtDSPCoef1.Text DSPCoef2 = txtDSPCoef2.Text If GENHInterleave > 7 Then DSP_Interleave_Type = 0 'layout_interleave ElseIf GENHInterleave < 8 Then DSP_Interleave_Type = 1 'layout_interleave_byte End If End If End If End If If GENHInterleave > ((FileLen(strInputFile) - GENHHeaderSkip) / 2) - 4096 Then DSP_Interleave_Type = 2 'layout_none End If GENHChannels = txtGENHChannels.Text GENHFrequency = txtGENHFrequency.Text GENHInterleave = txtGENHInterleave.Text 'Look if we have a Loop End value If txtGENHLoopEndSamples.Text = "" Then If comboFileFormat.ListIndex = &H8 Then lblINFO.Caption = ("Please hit 'Use File End'!") Exit Sub Else Call cmdUSEFILEEND_Click 'If not, Use the File End lblINFO.Caption = ("Loop End not set, using the File End!") End If End If GENHLoopEnd = txtGENHLoopEndSamples.Text GENHIdentiferByte = comboFileFormat.ListIndex GENHHeaderSkip = txtGENHHeaderSkip.Text Open strInputFile For Binary As #1 Open strOutputFile For Binary As #2 Put #2, 1, strGENH Put #2, 5, GENHChannels Put #2, 9, GENHInterleave Put #2, 13, GENHFrequency If txtGENHLoopStartSamples.Text = "" Then GENHLoopStart = -1 Else: GENHLoopStart = txtGENHLoopStartSamples.Text End If Put #2, 17, GENHLoopStart Put #2, 21, GENHLoopEnd Put #2, 25, GENHIdentiferByte Put #2, 29, GENHFileStartOffset + GENHHeaderSkip Put #2, 33, GENHFileStartOffset Put #2, 37, DSPCoef1 + GENHFileStartOffset Put #2, 41, DSPCoef2 + GENHFileStartOffset 'For coef which are stored like: 16bytes positive then 16 bytes negative If chkCapcomHack.Value = 1 Then Put #2, 49, chkCapcomHack.Value Put #2, 53, DSPCoef1 + GENHFileStartOffset + 16 Put #2, 57, DSPCoef2 + GENHFileStartOffset + 16 ElseIf chkCapcomHack.Value = 0 Then Put #2, 49, chkCapcomHack.Value Put #2, 53, chkCapcomHack.Value Put #2, 57, chkCapcomHack.Value End If Put #2, 45, DSP_Interleave_Type Put #2, 513, txtGetFileName.Text Put #2, 769, (FileLen(strInputFile)) Put #2, 773, strGENHVersion 'Creating only the Header If chkCreateOnlyHeader.Value = 1 Then Put #2, 4096, END_BYTE Close #1 Close #2 Beep Exit Sub 'Interrupting the routine here, we'll not go further End If 'Calculate the exportbytes, the largebuffer size is variable 'doing a "ReDim" to match the buffersize in all calculations ExportBytesLarge = (Int(FileLen(strInputFile) / 2048) * 2048) ExportBytesSmall = (FileLen(strInputFile) - ExportBytesLarge) Do 'Working with a buffer of 2048 bytes, to improve speed Get #1, 1 + COUNTER, LargeBuffer Put #2, GENHFileStartOffset + 1 + COUNTER, LargeBuffer 'Count until we reached the calculated large buffer size COUNTER = COUNTER + 2048 Loop Until COUNTER = ExportBytesLarge COUNTER = 0 If ExportBytesSmall > 0 Then Get #1, ExportBytesLarge + 1 + COUNTER, SmallBuffer Put #2, GENHFileStartOffset + ExportBytesLarge + 1 + COUNTER, SmallBuffer End If Close #1 Close #2 lblINFO.Caption = "Bytes written " & (ExportBytesLarge + ExportBytesSmall) & "/" & (FileLen(strInputFile)) File2.Refresh 'Time calculation 'Loop Start If GENHLoopStart = -1 Then lblGENHLoopStart.Caption = "Loop Start: 0" Else txtLoopStartCut.Text = GENHLoopStart / GENHFrequency TimeSecondsCutLoopStart = txtLoopStartCut.Text lblGENHLoopStart.Caption = "Loop Start: (" & Left(TimeSecondsCutLoopStart, InStrRev(txtLoopStartCut.Text, ",") + 3) & ")" End If 'Loop End txtLoopEndCut.Text = GENHLoopEnd / GENHFrequency TimeSecondsCutLoopEnd = txtLoopEndCut.Text lblGENHLoopEnd.Caption = "Loop End: (" & Left(TimeSecondsCutLoopEnd, InStrRev(txtLoopEndCut.Text, ",") + 3) & ")" If chkProcessWholeList.Value = 1 Then '"" Else Beep End If Call PROCESS_WHOLE_LIST End Sub Private Sub cmdExtractEmbeddedFile_Click() COUNTER = 0 ExportLengthExtractor = txtExtractLengthExtractor.Text Open strInputFileExtractor For Binary As #5 Open strOutputFileExtractor For Binary As #6 ExportBytesLarge = (Int(ExportLengthExtractor / 2048) * 2048) 'Calculating the remaing bytes ExportBytesSmall = ExportLengthExtractor - ExportBytesLarge Do 'Working with a buffer of 2048 bytes, to improve speed Get #5, 4097 + COUNTER, LargeBuffer Put #6, 1 + COUNTER, LargeBuffer 'Count until we reached the calculated large buffer size COUNTER = COUNTER + 2048 Loop Until COUNTER = ExportBytesLarge COUNTER = 0 If ExportBytesSmall > 0 Then Do Get #5, ExportBytesLarge + 4097 + COUNTER, SmallBuffer Put #6, ExportBytesLarge + 1 + COUNTER, SmallBuffer COUNTER = COUNTER + 1 Loop Until COUNTER = ExportBytesSmall End If Close #5 Close #6 File1.Refresh Beep End Sub Private Sub PROCESS_WHOLE_LIST() If chkProcessWholeList.Value = 1 Then If File1.ListIndex = File1.ListCount - 1 Then Close #1 Close #2 Beep Exit Sub Else File1.ListIndex = File1.ListIndex + 1 Call cmdUSEFILEEND_Click Call cmdCreateGENH_Click End If End If End Sub Private Sub cmdFindInterleavePSX_Click() lblINFO.Caption = "Be sure you have set the correct headerskip value...!" 'Check if the needed values are given If strInputFile = "" Then lblINFO.Caption = ("No File selected!") Exit Sub End If Close #1 'Just to be sure, we'll open it later again COUNTER = 0 Dim strInterleave1 As String * 16 Dim strInterleave2 As String * 16 GENHHeaderSkip = txtGENHHeaderSkip.Text Open strInputFile For Binary As #1 Get #1, 1 + GENHHeaderSkip, strInterleave1 Do Get #1, 17 + GENHHeaderSkip + COUNTER, strInterleave2 If strInterleave1 = strInterleave2 Then txtGENHInterleave.Text = COUNTER + 16 Exit Sub Close #1 End If COUNTER = COUNTER + 16 Loop Until COUNTER = &H20000 Close #1 End Sub Private Sub cmdFindLoopsPSX_Click() Close #1 Dim CheckByte As Byte COUNTER = 0 If strInputFile = "" Then lblINFO.Caption = ("No File selected!") Exit Sub ElseIf txtGENHChannels.Text = "" Then lblINFO.Caption = ("Channel Value not set!") Exit Sub End If GENHChannels = txtGENHChannels.Text Open strInputFile For Binary As #1 Do Get #1, 2 + COUNTER, CheckByte If CheckByte = 0 Then lblINFO.Caption = "File has no Loop Flages, using standard values...!" txtGENHLoopStartSamples.Text = "" cmdUSEFILEEND_Click Close #1 Exit Sub End If If CheckByte = 6 Then txtGENHLoopStartSamples.Text = COUNTER / 16 / GENHChannels * 28 lblINFO.Caption = "Loop Start found (" & txtGENHLoopStartSamples.Text & ")" End If COUNTER = COUNTER + 16 Loop Until CheckByte = 6 COUNTER = 0 Do Get #1, (FileLen(strInputFile) - 14) - COUNTER, CheckByte If COUNTER = &H20000 Then Close #1 Exit Sub End If If CheckByte = 3 Then txtGENHLoopEndSamples.Text = (FileLen(strInputFile) - COUNTER) / 16 / GENHChannels * 28 lblINFO.Caption = "Loop End found (" & txtGENHLoopEndSamples.Text & ")" End If COUNTER = COUNTER + 16 Loop Until CheckByte = 3 Close #2 End Sub Private Sub cmdUSEFILEEND_Click() Close #1 'Check if the needed values are given If strInputFile = "" Then lblINFO.Caption = ("No File selected!") Exit Sub ElseIf comboFileFormat.Text = "" Then lblINFO.Caption = ("Format not set!") Exit Sub ElseIf txtGENHHeaderSkip.Text = "" Then lblINFO.Caption = ("Header Size Value not set!") Exit Sub ElseIf txtGENHChannels.Text = "" Then lblINFO.Caption = ("Channel Value not set!") Exit Sub End If 'Get the needed variables from the textboxes GENHHeaderSkip = txtGENHHeaderSkip.Text GENHChannels = txtGENHChannels.Text 'Depending on the format we'll calculate now the file end (in samples) Select Case comboFileFormat.ListIndex Case &H0 '0x00 - PlayStation 4-bit ADPCM txtGENHLoopEndSamples.Text = (FileLen(strInputFile) - GENHHeaderSkip) / 16 / GENHChannels * 28 Case &H1 '0x01 - XBOX 4-bit IMA ADPCM txtGENHLoopEndSamples.Text = (FileLen(strInputFile) - GENHHeaderSkip) / 36 / GENHChannels * 64 Case &H2 '0x02 - GameCube ADP/DTK 4-bit ADPCM txtGENHLoopEndSamples.Text = (FileLen(strInputFile) - GENHHeaderSkip) / 32 * 28 Case &H3 '0x03 - PCM RAW (Big Endian) txtGENHLoopEndSamples.Text = (FileLen(strInputFile) - GENHHeaderSkip) / 2 / GENHChannels Case &H4 '0x04 - PCM RAW (Little Endian) txtGENHLoopEndSamples.Text = (FileLen(strInputFile) - GENHHeaderSkip) / 2 / GENHChannels Case &H5 '0x05 - PCM RAW (8-Bit) txtGENHLoopEndSamples.Text = (FileLen(strInputFile) - GENHHeaderSkip) / GENHChannels Case &H6 '0x06 - Squareroot-delta-exact 8-bit DPCM txtGENHLoopEndSamples.Text = (FileLen(strInputFile) - GENHHeaderSkip) / 1 / GENHChannels Case &H7 '0x07 - Intel DVI 4-Bit IMA ADPCM txtGENHLoopEndSamples.Text = (FileLen(strInputFile) - GENHHeaderSkip) / GENHChannels * 2 Case &H8 '0x08 - MPEG X Layer X 'Beware, still BETA, need to determine if we really handling with a MPEG frame!!! COUNTER = 0 Samples = 0 PaddingBits = 0 Open strInputFile For Binary As #1 'Open "REPORT.TXT" For Output As #2 Do Get #1, 1 + COUNTER, Byte01 Get #1, 2 + COUNTER, Byte02 Get #1, 3 + COUNTER, Byte03 Get #1, 4 + COUNTER, Byte04 strByte01 = dec2bin(Byte01) strByte02 = dec2bin(Byte02) strByte03 = dec2bin(Byte03) strByte04 = dec2bin(Byte04) MPEGFRAMEBIN = strByte01 & strByte02 & strByte03 & strByte04 MPEGVersionBIN = Mid(MPEGFRAMEBIN, 12, 2) MPEGLayerBIN = Mid(MPEGFRAMEBIN, 14, 2) MPEGBitRateBIN = Mid(MPEGFRAMEBIN, 17, 4) MPEGSampleRateBIN = Mid(MPEGFRAMEBIN, 21, 2) MPEGPaddingBitBIN = Mid(MPEGFRAMEBIN, 23, 1) GET_MPEGVERSION GET_MPEGLAYER GET_MPEGSAMPLERATE GET_MPEGPADDINGBIT GET_MPEGBITRATE MPEGFrameLength = (Int((144 * MPEGBitRate / MPEGSampleRate)) + MPEGPaddingBit) Samples = Samples + 1 'Uncomment it to create a report file 'Print #2, "Frame at: " & "0x" & (Hex(COUNTER)) 'Print #2, "Byte01 at: " & "0x" & (Hex(1 + COUNTER)) & " - " & Byte01 'Print #2, "Byte02 at: " & "0x" & (Hex(2 + COUNTER)) & " - " & Byte02 'Print #2, "Byte03 at: " & "0x" & (Hex(3 + COUNTER)) & " - " & Byte03 'Print #2, "Byte04 at: " & "0x" & (Hex(4 + COUNTER)) & " - " & Byte04 'Print #2, "MPEG " & MPEGVersion & "Layer " & MPEGLayer & " / " & MPEGVersionBIN & "-" & MPEGLayerBIN 'Print #2, "Sample Rate: " & MPEGSampleRate & " / " & MPEGSampleRateBIN 'Print #2, "Bit Rate: " & MPEGBitRate & " / " & MPEGBitRateBIN 'Print #2, "Padding Bit: " & MPEGPaddingBit & " / " & MPEGPaddingBitBIN 'Print #2, "" & MPEGFrameLength 'Print #2, "" 'Print #2, "" COUNTER = COUNTER + MPEGFrameLength Loop Until COUNTER > (FileLen(strInputFile)) If MPEGLayer = 1 Then Samples = (Samples - 1) * 384 ElseIf MPEGLayer = 2 Or MPEGLayer = 3 Then Samples = (Samples - 1) * 1152 End If txtGENHLoopEndSamples.Text = Samples Close #1 'Close #2 'Beep Case &H9 '0x09 - 4-bit IMA ADPCM txtGENHLoopEndSamples.Text = (FileLen(strInputFile) - GENHHeaderSkip) / GENHChannels * 2 Case &HA '0x0A - Yamaha AICA 4-bit ADPCM txtGENHLoopEndSamples.Text = ((FileLen(strInputFile) - GENHHeaderSkip)) / GENHChannels * 2 Case &HB '0x0B - Microsoft 4-bit IMA ADPCM If txtGENHInterleave.Text = "" Then lblINFO.Caption = "We need an interleave value to calculate this!" Exit Sub ElseIf txtGENHInterleave.Text < 1 Then lblINFO.Caption = "We need an interleave value to calculate this!" Exit Sub ElseIf txtGENHInterleave.Text > 1 Then GENHInterleave = txtGENHInterleave.Text 'Calculating the FrameCount MSADPCM_Frames = (FileLen(strInputFile) - GENHHeaderSkip) MSADPCM_Frames = (Int(MSADPCM_Frames / GENHInterleave)) 'Look if there a last "short" frame, 'if yes, calculate the "normal frames" + the short frame If (FileLen(strInputFile) - GENHHeaderSkip) - (MSADPCM_Frames * GENHInterleave) > 0 Then MSADPCM_LastFrame = (FileLen(strInputFile) - GENHHeaderSkip) - (MSADPCM_Frames * GENHInterleave) MSADPCM_Frames = (MSADPCM_Frames * (&H800 - (14 - 2))) + (MSADPCM_LastFrame - (14 - 2)) Else 'if not, calculate only the "normal frames" MSADPCM_Frames = MSADPCM_Frames * (&H800 - (14 - 2)) End If txtGENHLoopEndSamples.Text = MSADPCM_Frames End If Case &HC '0x0C - Nintendo GameCube DSP 4-bit ADPCM If chkCapcomHack.Value = 1 Then 'Get the Frequency Close #1 START_BYTE = 12 BIGENDIAN_TO_LITTLEENDIAN txtGENHFrequency.Text = Calculated_Value 'Get the Loop Start Close #1 START_BYTE = 20 BIGENDIAN_TO_LITTLEENDIAN If Calculated_Value = 2 Then txtGENHLoopStartSamples.Text = "" Else txtGENHLoopStartSamples.Text = Calculated_Value / GENHChannels / 8 * 14 End If 'Get the Loop End Close #1 START_BYTE = 24 BIGENDIAN_TO_LITTLEENDIAN txtGENHLoopEndSamples.Text = Calculated_Value / GENHChannels / 8 * 14 txtDSPCoef1.Text = "32" txtDSPCoef2.Text = "64" ElseIf chkCapcomHack.Value = 0 Then txtGENHLoopStartSamples.Text = "" txtGENHLoopEndSamples.Text = (FileLen(strInputFile) - GENHHeaderSkip) / GENHChannels / 8 * 14 End If Case &HD '0x0D - PCM RAW (8-Bit Unsigned) txtGENHLoopEndSamples.Text = (FileLen(strInputFile) - GENHHeaderSkip) / GENHChannels Case &HE '0x0E - PlayStation 4-bit ADPCM (with bad flags) txtGENHLoopEndSamples.Text = (FileLen(strInputFile) - GENHHeaderSkip) / 16 / GENHChannels * 28 Case comboFileFormat.ListIndex <> comboFileFormat.ListCount lblINFO.Caption = ("I guess you haven't selected a format!") Exit Sub End Select lblINFO.Caption = ("Calculation done!") 'Guessing it's all OK End Sub Private Sub cmdUSEFILEEND_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) cmdUSEFILEEND.Picture = btnOVER.Picture End Sub Private Sub comboFileFormat_Click() If comboFileFormat.ListIndex = &H0 Then 'XBOX IMA frmSpecialOptionsPSX.Visible = True Else frmSpecialOptionsPSX.Visible = False End If If comboFileFormat.ListIndex = &H1 Then 'XBOX IMA txtGENHInterleave.Text = 0 txtGENHInterleave.Enabled = False ElseIf comboFileFormat.ListIndex = &HD Then 'Unsigned 8-bit PCM txtGENHInterleave.Text = 0 txtGENHInterleave.Enabled = False Else txtGENHInterleave.Enabled = True End If If comboFileFormat.ListIndex = &HC Then 'NGC DSP frmSpecialOptionsGameCube.Visible = True Else frmSpecialOptionsGameCube.Visible = False End If End Sub Private Sub Command1_Click() Dim NewLoop As Long NewLoop = txtGENHLoopStartSamples.Text NewLoop = NewLoop - 14336 txtGENHLoopStartSamples.Text = NewLoop '= (GENHLoopStart * 28 / 32) - 14336 End Sub Private Sub File1_Click() Close #1 'Just to be sure, to prevent crashes If FolderBrowser1.Text = "" Then txtInputFile.Text = File1.FileName Else txtInputFile.Text = FolderBrowser1.Text & "\" & File1.FileName End If strInputFile = txtInputFile.Text txtInputFileLength.Text = (FileLen(strInputFile)) txtOutputFile.Text = txtInputFile.Text & ".GENH" Open strInputFile For Binary As #1 '############################################################################## '#### Here we'll implement some checks and autogetting for varoius formats #### '############################################################################## '"GENH" - the creator will be disabled if you select a "GENH" file Get #1, 1, strGENHCheck If strGENHCheck = "GENH" Then txtOutputFile.Text = "" cmdCreateGENH.Enabled = False lblCreateGenh.Enabled = False Close #1 Exit Sub Else 'Else, we'll remove the extension for further things cmdCreateGENH.Enabled = True lblCreateGenh.Enabled = True On Error Resume Next NAMECUT = txtInputFile.Text txtOutputFile.Text = Left(NAMECUT, InStrRev(txtInputFile.Text, ".") - 1) & ".GENH" txtGetFileName.Text = File1.FileName End If 'SPSD - found in various NAOMI/NAOMI2 and DreamCast games If strGENHCheck = "SPSD" Then 'NAOMI / NAOMI 2 Get #1, 13, GENHLoopEnd Get #1, 45, GENHLoopStart If GENHLoopStart > GENHLoopEnd Then GENHLoopStart = -1 Else GENHLoopStart = GENHLoopStart End If comboFileFormat.ListIndex = 10 'Yamaha ADPCM txtGENHHeaderSkip.Text = "64" txtGENHLoopEndSamples.Text = GENHLoopEnd txtGENHLoopStartSamples.Text = GENHLoopStart If chkHalfFileInterleave.Value = 1 Then GENHInterleave = GENHLoopEnd / 2 End If End If 'Riff WAVEfmt - no need to explain this... If strGENHCheck = "RIFF" Then Get #1, 9, strGENHCheck If strGENHCheck = "WAVE" Then Get #1, 13, strGENHCheck If strGENHCheck = "fmt " Then Get #1, 23, RiffChannels Get #1, 25, GENHFrequency Get #1, 35, RiffBits COUNTER = 0 Do Get #1, 1 + COUNTER, strGENHCheck If strGENHCheck = "data" Then Get #1, COUNTER + 5, GENHLoopEnd If RiffBits = 8 Then txtGENHLoopEndSamples = GENHLoopEnd / RiffChannels txtGENHHeaderSkip.Text = COUNTER + 8 txtGENHChannels.Text = RiffChannels txtGENHFrequency.Text = GENHFrequency ElseIf RiffBits = 16 Then txtGENHLoopEndSamples = GENHLoopEnd / RiffChannels / 2 txtGENHHeaderSkip.Text = COUNTER + 8 txtGENHChannels.Text = RiffChannels txtGENHFrequency.Text = GENHFrequency End If End If COUNTER = COUNTER + 1 Loop Until COUNTER = 2048 End If End If End If Close #1 frmFileCreator.Caption = "File: " & strInputFile 'NO_EXTENSION: 'txtOutputFile.Text = txtInputFile.Text & ".GENH" ' txtGetFileName.Text = File1.FileName End Sub Private Sub File1_DblClick() Open strInputFile For Binary As #1 Get #1, 1, strGENHCheck If strGENHCheck = "GENH" Then txtOutputFile.Text = "" lblCreateGenh.Enabled = False cmdCreateGENH.Enabled = False Close #1 Exit Sub Else cmdUSEFILEEND_Click cmdCreateGENH_Click End If End Sub Private Sub FolderBrowser1_Change() File1.Path = FolderBrowser1.Text End Sub Private Sub Form_Load() Dim lngRegion1 As Long Dim lngRegion2 As Long Dim lngRegion3 As Long Dim lngRWert As Long cmdCreateGENH.Picture = btnNormal.Picture cmdUSEFILEEND = btnNormal.Picture picLEFTU.Top = 0 picLEFTU.Left = 0 picLEFTM.Top = 26 picLEFTM.Left = 0 picLEFTD.Top = Form1.ScaleHeight - 11 picLEFTD.Left = 0 picTOPL.Top = 0 picTOPM.Top = 0 picTOPR.Top = 0 picTOPL.Left = 5 picTOPM.Left = 11 picTOPR.Left = Form1.ScaleWidth - 11 picRIGHTU.Top = 0 picRIGHTU.Left = Form1.ScaleWidth - 5 picRIGHTM.Left = Form1.ScaleWidth - 5 picRIGHTM.Top = 26 picRIGHTD.Left = Form1.ScaleWidth - 5 picRIGHTD.Top = Form1.ScaleHeight - 11 picRIGHTM.Height = Form1.ScaleHeight - 37 picBOTTOM.Top = Form1.ScaleHeight - 6 picBOTTOM.Left = 5 picBOTTOM.Width = Form1.ScaleWidth - 10 picLEFTM.Height = Form1.ScaleHeight - 37 picTOPM.Width = Form1.ScaleWidth - 22 imgEXIT.Left = Form1.ScaleWidth - 27 imgEXIT.Top = 5 imgMINIMIZE.Left = Form1.ScaleWidth - 47 imgMINIMIZE.Top = 4 'Regionen erzeugen lngRegion1 = CreateRoundRectRgn(Me.ScaleWidth - Me.ScaleWidth / 1, 1, Me.ScaleWidth, Me.ScaleHeight, 20, 20) 'Regionen kombinieren lngRWert = CombineRgn(lngRegion3, lngRegion1, lngRegion2, RGN_OR) 'Kombinierte Region auf Formular anwenden lngRWert = SetWindowRgn(Me.hWnd, lngRegion1, True) Label29.BackColor = Form1.BackColor Label30.BackColor = Form1.BackColor Label31.BackColor = Form1.BackColor frmCREATOR.BackColor = Form1.BackColor frmFileCreator.BackColor = Form1.BackColor frmFormatCreator.BackColor = Form1.BackColor frmOptionsCreator.BackColor = Form1.BackColor frmINFO.BackColor = Form1.BackColor frmSpecialOptionsGameCube.BackColor = Form1.BackColor frmSpecialOptionsPSX.BackColor = Form1.BackColor frmLoopCalculation.BackColor = Form1.BackColor lblInputFileNameCreator.BackColor = Form1.BackColor lblOutputFileNameCreator.BackColor = Form1.BackColor lblINFO.BackColor = Form1.BackColor chkProcessWholeList.BackColor = Form1.BackColor chkCreateOnlyHeader.BackColor = Form1.BackColor chkCapcomHack.BackColor = Form1.BackColor 'SSTab1.BackColor = Form1.BackColor strGENH = "GENH" strGENHVersion = "3.00" GENHFileStartOffset = 4096 GENHFileStartOffsetEditor = 4096 txtGENHHeaderSkip.ListIndex = 0 txtGENHInterleave.ListIndex = 0 frmCREATOR.Visible = True frmEDITOR.Visible = False frmExtractor.Visible = False cmdSaveEditor.Enabled = False End Sub Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) MOVE_FORM End Sub Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) imgEXIT.Picture = imgEXITNORMAL.Picture End Sub Private Sub frmCREATOR_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) imgMINIMIZE.Top = 4 imgMINIMIZE.Picture = imgMINIMIZENORMAL.Picture cmdCreateGENH.Picture = btnNormal.Picture End Sub Private Sub frmFileCreator_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) cmdCreateGENH.Picture = btnNormal.Picture End Sub Private Sub frmLoopCalculation_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) cmdUSEFILEEND.Picture = btnNormal.Picture End Sub Private Sub frmOptionsCreator_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) cmdCreateGENH.Picture = btnNormal.Picture cmdUSEFILEEND.Picture = btnNormal.Picture End Sub Private Sub imgMINIMIZE_Click() Form1.WindowState = vbMinimized End Sub Private Sub imgMINIMIZE_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) imgMINIMIZE.Top = 5 imgMINIMIZE.Picture = imgMINIMIZEOVER.Picture imgEXIT.Picture = imgEXITNORMAL.Picture End Sub Private Sub lblCreateGenh_Click() Call cmdCreateGENH_Click End Sub Private Sub lblLoopEndToSamples_Click_Click() Call cmdLoopEndToSamples_Click End Sub Private Sub lblUseFileEnd_Click() Call cmdUSEFILEEND_Click End Sub Private Sub picRIGHTU_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) imgMINIMIZE.Top = 4 imgMINIMIZE.Picture = imgMINIMIZENORMAL.Picture imgEXIT.Picture = imgEXITNORMAL.Picture End Sub Private Sub picTOPR_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) imgMINIMIZE.Top = 4 imgMINIMIZE.Picture = imgMINIMIZENORMAL.Picture imgEXIT.Picture = imgEXITNORMAL.Picture End Sub Private Sub picTOPM_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) imgMINIMIZE.Top = 4 imgMINIMIZE.Picture = imgMINIMIZENORMAL.Picture imgEXIT.Picture = imgEXITNORMAL.Picture End Sub Private Sub picTOPM_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) MOVE_FORM End Sub Private Sub imgEXIT_Click() Unload Me End Sub Private Sub imgEXIT_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) imgMINIMIZE.Top = 4 imgMINIMIZE.Picture = imgMINIMIZENORMAL.Picture imgEXIT.Picture = imgEXITOVER.Picture End Sub Private Sub cmdLoopEndToSamples_Click() 'We need the file length, file format and the channel count to calculate this... If strInputFile = "" Then lblINFO.Caption = ("No File selected!") Exit Sub 'Exit the complete sub to prevent crashs ElseIf comboFileFormat.Text = "" Then lblINFO.Caption = ("Format not set!") Exit Sub 'Exit the complete sub to prevent crashs ElseIf txtGENHChannels.Text = "" Then lblINFO.Caption = ("Channel Value not set!") Exit Sub 'Exit the complete sub to prevent crashs ElseIf txtGENHLoopEnd.Text = "" Then lblINFO.Caption = ("Loop End Samples (Bytes) Value not set!") Exit Sub 'Exit the complete sub to prevent crashs End If 'We now have all needed values and can calculate the samplecount GENHChannels = txtGENHChannels.Text Select Case comboFileFormat.ListIndex Case &H0 '0x00 - PlayStation 4-bit ADPCM txtGENHLoopEndSamples.Text = txtGENHLoopEnd.Text / 16 / GENHChannels * 28 Case &H1 '0x01 - XBOX 4-bit IMA ADPCM txtGENHLoopEndSamples.Text = txtGENHLoopEnd.Text / 36 / GENHChannels * 64 Case &H2 '0x02 - GameCube ADP/DTK 4-bit ADPCM txtGENHLoopEndSamples.Text = txtGENHLoopEnd.Text / 32 * 28 Case &H3 '0x03 - PCM RAW (Big Endian) txtGENHLoopEndSamples.Text = txtGENHLoopEnd.Text / 2 / GENHChannels Case &H4 '0x04 - PCM RAW (Little Endian) txtGENHLoopEndSamples.Text = txtGENHLoopEnd.Text / 2 / GENHChannels Case &H5 '0x05 - PCM RAW (8-Bit) txtGENHLoopEndSamples.Text = txtGENHLoopEnd.Text / GENHChannels Case &H6 '0x06 - Squareroot-delta-exact 8-bit DPCM txtGENHLoopEndSamples.Text = txtGENHLoopEnd.Text / 1 / GENHChannels Case &H7 '0x07 - Interleaved DVI 4-Bit IMA ADPCM txtGENHLoopEndSamples.Text = txtGENHLoopEnd.Text / GENHChannels * 2 Case &H8 '0x08 - MPEG Layer Audio File (MP1/2/3) lblINFO.Caption = ("MPEG can't be calculated like this, sorry!") Case &H9 'x09 - 4-bit IMA ADPCM txtGENHLoopEndSamples.Text = txtGENHLoopEnd.Text / GENHChannels * 2 Case &HA '0x0A - Yamaha AICA 4-bit ADPCM txtGENHLoopEndSamples.Text = txtGENHLoopEnd.Text / GENHChannels * 2 Case &HB '0x0B - Microsoft 4-bit IMA ADPCM txtGENHLoopEndSamples.Text = txtGENHLoopEnd.Text / GENHChannels * 2 Case &HC '0x0C - Nintendo GameCube DSP 4-bit ADPCM txtGENHLoopEndSamples.Text = txtGENHLoopEnd.Text / GENHChannels / 8 * 14 Case &HD '0x0D - PCM RAW (8-Bit Unsigned) txtGENHLoopEndSamples.Text = txtGENHLoopEnd.Text / GENHChannels Case &HE '0x0E - PlayStation 4-bit ADPCM (with bad flags) txtGENHLoopEndSamples.Text = txtGENHLoopEnd.Text / 16 / GENHChannels * 28 Case comboFileFormat.ListIndex <> comboFileFormat.ListCount lblINFO.Caption = ("I guess you haven't selected a format!") Exit Sub End Select lblINFO.Caption = ("Calculation done!") 'Guessing it's all OK End Sub Private Sub cmdLoopStartToSamples_Click() 'We need the file length, file format and the channel count to calculate this... If strInputFile = "" Then lblINFO.Caption = ("No File selected!") Exit Sub 'Exit the complete sub to prevent crashs ElseIf comboFileFormat.Text = "" Then lblINFO.Caption = ("Format not set!") Exit Sub 'Exit the complete sub to prevent crashs ElseIf txtGENHChannels.Text = "" Then lblINFO.Caption = ("Channel Value not set!") Exit Sub 'Exit the complete sub to prevent crashs ElseIf txtGENHLoopStart.Text = "" Then lblINFO.Caption = ("Loop Start Samples (Bytes) Value not set!") Exit Sub 'Exit the complete sub to prevent crashs End If 'We now have all needed values and can calculate the samplecount GENHChannels = txtGENHChannels.Text Select Case comboFileFormat.ListIndex Case &H0 '0x00 - PlayStation 4-bit ADPCM txtGENHLoopStartSamples.Text = txtGENHLoopStart.Text / 16 / GENHChannels * 28 Case &H1 '0x01 - XBOX 4-bit IMA ADPCM txtGENHLoopStartSamples.Text = txtGENHLoopStart.Text / 36 / GENHChannels * 64 Case &H2 '0x02 - GameCube ADP/DTK 4-bit ADPCM txtGENHLoopStartSamples.Text = txtGENHLoopStart.Text / 32 * 28 Case &H3 '0x03 - PCM RAW (Big Endian) txtGENHLoopStartSamples.Text = txtGENHLoopStart.Text / 2 / GENHChannels Case &H4 '0x04 - PCM RAW (Little Endian) txtGENHLoopStartSamples.Text = txtGENHLoopStart.Text / 2 / GENHChannels Case &H5 '0x05 - PCM RAW (8-Bit) txtGENHLoopStartSamples.Text = txtGENHLoopStart.Text / GENHChannels Case &H6 '0x06 - Squareroot-delta-exact 8-bit DPCM txtGENHLoopStartSamples.Text = txtGENHLoopStart.Text / 1 / GENHChannels Case &H7 '0x07 - Interleaved DVI 4-Bit IMA ADPCM txtGENHLoopStartSamples.Text = txtGENHLoopStart.Text / GENHChannels * 2 Case &H8 '0x08 - MPEG Layer Audio File (MP1/2/3) lblINFO.Caption = ("MPEG can't be calculated like this, sorry!") Case &H9 'x09 - 4-bit IMA ADPCM txtGENHLoopStartSamples.Text = txtGENHLoopStart.Text / GENHChannels * 2 Case &HA '0x0A - Yamaha AICA 4-bit ADPCM txtGENHLoopStartSamples.Text = txtGENHLoopStart.Text / GENHChannels * 2 Case &HB '0x0B - Microsoft 4-bit IMA ADPCM txtGENHLoopStartSamples.Text = txtGENHLoopStart.Text / GENHChannels * 2 Case &HC '0x0C - Nintendo GameCube DSP 4-bit ADPCM txtGENHLoopStartSamples.Text = txtGENHLoopStart.Text / GENHChannels / 8 * 14 Case &HD '0x0D - PCM RAW (8-Bit Unsigned) txtGENHLoopStartSamples.Text = txtGENHLoopStart.Text / GENHChannels Case &HE '0x0E - PlayStation 4-bit ADPCM (with bad flags) txtGENHLoopStartSamples.Text = txtGENHLoopStart.Text / 16 / GENHChannels * 28 Case comboFileFormat.ListIndex <> comboFileFormat.ListCount lblINFO.Caption = ("I guess you haven't selected a format!") Exit Sub End Select lblINFO.Caption = ("Calculation done!") 'Guessing it's all OK End Sub Private Sub cmdSaveEditor_Click() If strInputFileEditor = "" Then MsgBox ("No File selected!"), vbInformation, "Generic Header Creator 2" Exit Sub End If If comboFileFormatEditor.Text = "" Then MsgBox ("No Format selected!"), vbInformation, "Generic Header Creator 2" Exit Sub End If If txtGENHHeaderSkipEditor.Text = "" Then MsgBox ("Header Size Value not set!"), vbInformation, "Generic Header Creator 2" Exit Sub Else GENHHeaderSkipEditor = txtGENHHeaderSkipEditor.Text End If If txtGENHChannelsEditor.Text = "" Then MsgBox ("Channel Value not set!"), vbInformation, "Generic Header Creator 2" Exit Sub Else GENHChannelsEditor = txtGENHChannelsEditor.Text End If If txtGENHFrequencyEditor.Text = "" Then MsgBox ("Frequency Value not set!"), vbInformation, "Generic Header Creator 2" Exit Sub Else GENHFrequencyEditor = txtGENHFrequencyEditor.Text End If If txtGENHInterleaveEditor.Text = "" Then MsgBox ("Interleave Value not set!"), vbInformation, "Generic Header Creator 2" Exit Sub Else GENHInterleaveEditor = txtGENHInterleaveEditor.Text End If If txtGENHInterleaveEditor.Text = "" Then GENHInterleave = 0 Else GENHInterleaveEditor = txtGENHInterleaveEditor.Text End If If txtGENHLoopStartSamplesEditor.Text = "" Then GENHLoopStart = -1 Else GENHLoopStartEditor = txtGENHLoopStartSamplesEditor.Text End If If txtGENHLoopEndSamplesEditor.Text = "" Then MsgBox ("Loop End Samples Value not set!"), vbInformation, "Generic Header Creator 2" Exit Sub Else GENHLoopEndEditor = txtGENHLoopEndSamplesEditor.Text End If Call EDIT_GENH End Sub Private Sub EDIT_GENH() GENHChannelsEditor = txtGENHChannelsEditor.Text GENHFrequencyEditor = txtGENHFrequencyEditor.Text GENHLoopStartEditor = txtGENHLoopStartSamplesEditor.Text GENHLoopEndEditor = txtGENHLoopEndSamplesEditor.Text GENHIdentiferByteEditor = comboFileFormatEditor.ListIndex GENHHeaderSkipEditor = txtGENHHeaderSkipEditor.Text strEmbeddedFileNameEditor = txtEmbeddedFileEditor.Text Open strInputFileEditor For Binary As #3 Put #3, 1, strGENHEditor Put #3, 5, GENHChannelsEditor Put #3, 9, GENHInterleaveEditor Put #3, 13, GENHFrequencyEditor Put #3, 17, GENHLoopStartEditor Put #3, 21, GENHLoopEndEditor Put #3, 25, GENHIdentiferByteEditor Put #3, 29, GENHHeaderSkipEditor + 4096 Put #3, 33, GENHFileStartOffsetEditor 'Clear the 512 byte area which holds the filename COUNTER = 0 DummyByteEditor = 0 Do Put #3, 513 + COUNTER, DummyByteEditor COUNTER = COUNTER + 1 Loop Until COUNTER = 256 Put #3, 513, txtEmbeddedFileEditor.Text Put #3, 769, (FileLen(strInputFileEditor)) - 4096 Put #3, 773, strGENHVersion Close #3 Call RECHECK_GENH End Sub Private Sub ComboPresets_Click() If ComboPresets.Text = "PlayStation 4-bit ADPCM - IC=1 - IF=22050" Then 'PlayStation 4-bit ADPCM - IC=1 - IF=22050 txtGENHChannels.Text = "1" txtGENHFrequency.Text = "22050" txtGENHInterleave.Text = "0" ElseIf ComboPresets.Text = "PlayStation 4-bit ADPCM - IC=1 - IF=44100" Then 'PlayStation 4-bit ADPCM - IC=1 - IF=44100 txtGENHChannels.Text = "1" txtGENHFrequency.Text = "44100" txtGENHInterleave.Text = "0" ElseIf ComboPresets.Text = "PlayStation 4-bit ADPCM - IC=2 - II= 2048 - IF=44100" Then 'PlayStation 4-bit ADPCM - IC=2 - II= 2048 - IF=44100 txtGENHChannels.Text = "2" txtGENHFrequency.Text = "44100" txtGENHInterleave.Text = "2048" ElseIf ComboPresets.Text = "PlayStation 4-bit ADPCM - IC=2 - II= 2048 - IF=48000" Then 'PlayStation 4-bit ADPCM - IC=2 - II= 2048 - IF=48000 txtGENHChannels.Text = "2" txtGENHFrequency.Text = "48000" txtGENHInterleave.Text = "2048" End If End Sub Private Sub File2_Click() txtInputFileEditor.Text = File2.FileName txtInputFileLengthEditor.Text = (FileLen(File2.FileName)) strInputFileEditor = txtInputFileEditor.Text Open strInputFileEditor For Binary As #3 Get #3, 1, strGENHEditor If strGENHEditor = "GENH" Then cmdSaveEditor.Enabled = True lblERROREditor.Caption = "" Get #3, 5, GENHChannelsEditor Get #3, 9, GENHInterleaveEditor Get #3, 13, GENHFrequencyEditor Get #3, 17, GENHLoopStartEditor Get #3, 21, GENHLoopEndEditor Get #3, 25, GENHIdentiferByteEditor Get #3, 29, GENHHeaderSkipEditor Get #3, 33, GENHFileStartOffsetEditor Get #3, 773, strGENHVersionEditorCheck Get #3, 773, strGENHVersionEditor GENHHeaderSkipEditor = GENHHeaderSkipEditor - GENHFileStartOffsetEditor comboFileFormatEditor.ListIndex = GENHIdentiferByteEditor txtGENHChannelsEditor.Text = GENHChannelsEditor txtGENHInterleaveEditor.Text = GENHInterleaveEditor txtGENHFrequencyEditor.Text = GENHFrequencyEditor txtGENHHeaderSkipEditor.Text = GENHHeaderSkipEditor txtGENHLoopStartSamplesEditor.Text = GENHLoopStartEditor txtGENHLoopEndSamplesEditor.Text = GENHLoopEndEditor If strGENHVersionEditorCheck = &H0 Then txtGENHVersionEditor.Text = "Unknown Build Version" Else txtGENHVersionEditor.Text = strGENHVersionEditor End If Get #3, 513, strEmbeddedFileNameEditor txtEmbeddedFileEditor.Text = strEmbeddedFileNameEditor Else cmdSaveEditor.Enabled = False lblERROREditor.Caption = "File isn't a valid GENH file!" End If Close #3 End Sub Private Sub File3_Click() txtInputFileExtractor.Text = File3.FileName txtInputFileLengthExtractor.Text = (FileLen(File3.FileName)) strInputFileExtractor = txtInputFileExtractor.Text Open strInputFileExtractor For Binary As #5 Get #5, 1, strGENHExtractor If strGENHExtractor = "GENH" Then cmdExtractEmbeddedFile.Enabled = True lblERRORExtractor.Caption = "" Get #5, 5, GENHChannelsExtractor Get #5, 9, GENHInterleaveExtractor Get #5, 13, GENHFrequencyExtractor Get #5, 17, GENHLoopStartExtractor Get #5, 21, GENHLoopEndExtractor Get #5, 25, GENHIdentiferByteExtractor Get #5, 29, GENHHeaderSkipExtractor Get #5, 33, GENHFileStartOffsetExtractor Get #5, 773, strGENHVersionExtractorCheck Get #5, 773, strGENHVersionExtractor Get #5, 769, ExportLengthExtractor GENHHeaderSkipExtractor = GENHHeaderSkipExtractor - GENHFileStartOffsetExtractor comboFileFormatExtractor.ListIndex = GENHIdentiferByteExtractor txtGENHChannelsExtractor.Text = GENHChannelsExtractor txtGENHInterleaveExtractor.Text = GENHInterleaveExtractor txtGENHFrequencyExtractor.Text = GENHFrequencyExtractor txtGENHHeaderSkipExtractor.Text = GENHHeaderSkipExtractor txtGENHLoopStartSamplesExtractor.Text = GENHLoopStartExtractor txtGENHLoopEndSamplesExtractor.Text = GENHLoopEndExtractor txtExtractLengthExtractor.Text = ExportLengthExtractor If strGENHVersionExtractorCheck = &H0 Then txtGENHVersionExtractor.Text = "Unknown Build Version" Else txtGENHVersionExtractor.Text = strGENHVersionExtractor End If Get #5, 513, strEmbeddedFileNameExtractor txtEmbeddedFileExtractor.Text = strEmbeddedFileNameExtractor strOutputFileExtractor = txtEmbeddedFileExtractor.Text Else cmdExtractEmbeddedFile.Enabled = False lblERRORExtractor.Caption = "File isn't a valid GENH file!" End If Close #5 End Sub Private Sub txtFilter_Change() File1.Pattern = txtFilter.Text End Sub Function dec2bin(ByVal n As Long) As String Do Until n = 0 If (n Mod 2) Then dec2bin = "1" & dec2bin Else dec2bin = "0" & dec2bin n = n \ 2 Loop End Function Function GET_MPEGVERSION() If MPEGVersionBIN = "00" Then 'MPEG V 2.5 MPEGVersion = "2.5" ElseIf MPEGVersionBIN = "10" Then 'MPEG V 2 MPEGVersion = "2" ElseIf MPEGVersionBIN = "11" Then 'MPEG V 1 MPEGVersion = "1" End If End Function Function GET_MPEGLAYER() If MPEGLayerBIN = "01" Then 'Layer 3 MPEGLayer = "3" ElseIf MPEGLayerBIN = "10" Then 'Layer 2 MPEGLayer = "2" ElseIf MPEGLayerBIN = "11" Then 'Layer 1 MPEGLayer = "1" End If End Function Function GET_MPEGSAMPLERATE() 'MPEG V 2.5 If MPEGVersionBIN = "00" Then If MPEGSampleRateBIN = "00" Then MPEGSampleRate = 11025 ElseIf MPEGSampleRateBIN = "01" Then MPEGSampleRate = 12000 ElseIf MPEGSampleRateBIN = "10" Then MPEGSampleRate = 8000 End If End If 'MPEG V 1 If MPEGVersionBIN = "11" Then If MPEGSampleRateBIN = "00" Then MPEGSampleRate = 44100 ElseIf MPEGSampleRateBIN = "01" Then MPEGSampleRate = 48000 ElseIf MPEGSampleRateBIN = "10" Then MPEGSampleRate = 32000 End If End If 'MPEG V 2 If MPEGVersionBIN = "10" Then If MPEGSampleRateBIN = "00" Then MPEGSampleRate = 22050 ElseIf MPEGSampleRateBIN = "01" Then MPEGSampleRate = 24000 ElseIf MPEGSampleRateBIN = "10" Then MPEGSampleRate = 16000 End If End If End Function Function GET_MPEGPADDINGBIT() If MPEGPaddingBitBIN = "0" Then MPEGPaddingBit = "0" ElseIf MPEGPaddingBitBIN = "1" Then MPEGPaddingBit = "1" If MPEGLayer = 1 Then 'Layer 1 PaddingBits = PaddingBits + 4 ElseIf MPEGLayer = 2 Or MPEGLayer = 3 Then 'Layer 2 & 3 PaddingBits = PaddingBits + 1 End If End If End Function Function GET_MPEGBITRATE() 'MPEG 1 Layer 1 If MPEGVersion = 1 Then 'V1 If MPEGLayer = 1 Then 'Layer 1 If MPEGBitRateBIN = "0001" Then MPEGBitRate = "32000" ElseIf MPEGBitRateBIN = "0010" Then MPEGBitRate = "64000" ElseIf MPEGBitRateBIN = "0011" Then MPEGBitRate = "96000" ElseIf MPEGBitRateBIN = "0100" Then MPEGBitRate = "128000" ElseIf MPEGBitRateBIN = "0101" Then MPEGBitRate = "160000" ElseIf MPEGBitRateBIN = "0110" Then MPEGBitRate = "192000" ElseIf MPEGBitRateBIN = "0111" Then MPEGBitRate = "224000" ElseIf MPEGBitRateBIN = "1000" Then MPEGBitRate = "256000" ElseIf MPEGBitRateBIN = "1001" Then MPEGBitRate = "288000" ElseIf MPEGBitRateBIN = "1010" Then MPEGBitRate = "320000" ElseIf MPEGBitRateBIN = "1011" Then MPEGBitRate = "352000" ElseIf MPEGBitRateBIN = "1100" Then MPEGBitRate = "384000" ElseIf MPEGBitRateBIN = "1101" Then MPEGBitRate = "416000" ElseIf MPEGBitRateBIN = "1110" Then MPEGBitRate = "448000" End If End If End If 'MPEG 1 Layer 2 If MPEGVersion = 1 Then 'V1 If MPEGLayer = 2 Then 'Layer 2 If MPEGBitRateBIN = "0001" Then MPEGBitRate = "32000" ElseIf MPEGBitRateBIN = "0010" Then MPEGBitRate = "48000" ElseIf MPEGBitRateBIN = "0011" Then MPEGBitRate = "56000" ElseIf MPEGBitRateBIN = "0100" Then MPEGBitRate = "64000" ElseIf MPEGBitRateBIN = "0101" Then MPEGBitRate = "80000" ElseIf MPEGBitRateBIN = "0110" Then MPEGBitRate = "96000" ElseIf MPEGBitRateBIN = "0111" Then MPEGBitRate = "112000" ElseIf MPEGBitRateBIN = "1000" Then MPEGBitRate = "128000" ElseIf MPEGBitRateBIN = "1001" Then MPEGBitRate = "160000" ElseIf MPEGBitRateBIN = "1010" Then MPEGBitRate = "192000" ElseIf MPEGBitRateBIN = "1011" Then MPEGBitRate = "224000" ElseIf MPEGBitRateBIN = "1100" Then MPEGBitRate = "256000" ElseIf MPEGBitRateBIN = "1101" Then MPEGBitRate = "320000" ElseIf MPEGBitRateBIN = "1110" Then MPEGBitRate = "384000" End If End If End If 'MPEG 1 Layer 3 If MPEGVersion = 1 Then 'V1 If MPEGLayer = 3 Then 'Layer 3 If MPEGBitRateBIN = "0001" Then MPEGBitRate = "32000" ElseIf MPEGBitRateBIN = "0010" Then MPEGBitRate = "40000" ElseIf MPEGBitRateBIN = "0011" Then MPEGBitRate = "48000" ElseIf MPEGBitRateBIN = "0100" Then MPEGBitRate = "56000" ElseIf MPEGBitRateBIN = "0101" Then MPEGBitRate = "64000" ElseIf MPEGBitRateBIN = "0110" Then MPEGBitRate = "80000" ElseIf MPEGBitRateBIN = "0111" Then MPEGBitRate = "96000" ElseIf MPEGBitRateBIN = "1000" Then MPEGBitRate = "112000" ElseIf MPEGBitRateBIN = "1001" Then MPEGBitRate = "128000" ElseIf MPEGBitRateBIN = "1010" Then MPEGBitRate = "160000" ElseIf MPEGBitRateBIN = "1011" Then MPEGBitRate = "192000" ElseIf MPEGBitRateBIN = "1100" Then MPEGBitRate = "224000" ElseIf MPEGBitRateBIN = "1101" Then MPEGBitRate = "256000" ElseIf MPEGBitRateBIN = "1110" Then MPEGBitRate = "320000" End If End If End If 'MPEG 2 Layer 1 If MPEGVersion = 2 Or MPEGVersion = 2.5 Then 'V2 If MPEGLayer = 1 Then 'Layer 1 If MPEGBitRateBIN = "0001" Then MPEGBitRate = "32000" ElseIf MPEGBitRateBIN = "0010" Then MPEGBitRate = "48000" ElseIf MPEGBitRateBIN = "0011" Then MPEGBitRate = "56000" ElseIf MPEGBitRateBIN = "0100" Then MPEGBitRate = "64000" ElseIf MPEGBitRateBIN = "0101" Then MPEGBitRate = "80000" ElseIf MPEGBitRateBIN = "0110" Then MPEGBitRate = "96000" ElseIf MPEGBitRateBIN = "0111" Then MPEGBitRate = "112000" ElseIf MPEGBitRateBIN = "1000" Then MPEGBitRate = "128000" ElseIf MPEGBitRateBIN = "1001" Then MPEGBitRate = "144000" ElseIf MPEGBitRateBIN = "1010" Then MPEGBitRate = "160000" ElseIf MPEGBitRateBIN = "1011" Then MPEGBitRate = "176000" ElseIf MPEGBitRateBIN = "1100" Then MPEGBitRate = "192000" ElseIf MPEGBitRateBIN = "1101" Then MPEGBitRate = "224000" ElseIf MPEGBitRateBIN = "1110" Then MPEGBitRate = "256000" End If End If End If 'MPEG 2 & 2.5 Layer 2 & Layer 3 If MPEGVersion = 2 Or MPEGVersion = 2.5 Then 'V2 & V2.5 If MPEGLayer = 2 Or MPEGLayer = 3 Then 'Layer 2 & Layer 3 If MPEGBitRateBIN = "0001" Then MPEGBitRate = "8000" ElseIf MPEGBitRateBIN = "0010" Then MPEGBitRate = "16000" ElseIf MPEGBitRateBIN = "0011" Then MPEGBitRate = "24000" ElseIf MPEGBitRateBIN = "0100" Then MPEGBitRate = "32000" ElseIf MPEGBitRateBIN = "0101" Then MPEGBitRate = "40000" ElseIf MPEGBitRateBIN = "0110" Then MPEGBitRate = "48000" ElseIf MPEGBitRateBIN = "0111" Then MPEGBitRate = "56000" ElseIf MPEGBitRateBIN = "1000" Then MPEGBitRate = "64000" ElseIf MPEGBitRateBIN = "1001" Then MPEGBitRate = "80000" ElseIf MPEGBitRateBIN = "1010" Then MPEGBitRate = "96000" ElseIf MPEGBitRateBIN = "1011" Then MPEGBitRate = "112000" ElseIf MPEGBitRateBIN = "1100" Then MPEGBitRate = "128000" ElseIf MPEGBitRateBIN = "1101" Then MPEGBitRate = "144000" ElseIf MPEGBitRateBIN = "1110" Then MPEGBitRate = "160000" End If End If End If End Function Function BIGENDIAN_TO_LITTLEENDIAN() Open strInputFile For Binary As #1 Get #1, START_BYTE + 1, TEMP_BYTE1 Get #1, START_BYTE + 2, TEMP_BYTE2 Get #1, START_BYTE + 3, TEMP_BYTE3 Get #1, START_BYTE + 4, TEMP_BYTE4 TEMP_LONG1 = TEMP_BYTE1 TEMP_LONG2 = TEMP_BYTE2 TEMP_LONG3 = TEMP_BYTE3 TEMP_LONG4 = TEMP_BYTE4 TEMP_LONG1 = TEMP_LONG1 * &H1000000 TEMP_LONG2 = TEMP_LONG2 * &H10000 TEMP_LONG3 = TEMP_LONG3 * &H100 TEMP_LONG4 = TEMP_LONG4 * &H1 Calculated_Value = TEMP_LONG1 + TEMP_LONG2 + TEMP_LONG3 + TEMP_LONG4 End Function Private Sub cmdSelectCreator_Click() frmCREATOR.Visible = True frmEDITOR.Visible = False frmExtractor.Visible = False End Sub Private Sub cmdSelectEditor_Click() frmCREATOR.Visible = False frmEDITOR.Visible = True frmExtractor.Visible = False End Sub Private Sub cmdSelectExtractor_Click() frmCREATOR.Visible = False frmEDITOR.Visible = False frmExtractor.Visible = True End Sub Private Sub RECHECK_GENH() Open strInputFileEditor For Binary As #3 Get #3, 5, GENHChannelsEditor Get #3, 9, GENHInterleaveEditor Get #3, 13, GENHFrequencyEditor Get #3, 17, GENHLoopStartEditor Get #3, 21, GENHLoopEndEditor Get #3, 25, GENHIdentiferByteEditor Get #3, 773, strGENHVersionEditorCheck Get #3, 773, strGENHVersionEditor comboFileFormatEditor.ListIndex = GENHIdentiferByteEditor txtGENHChannelsEditor.Text = GENHChannelsEditor txtGENHInterleaveEditor.Text = GENHInterleaveEditor txtGENHFrequencyEditor.Text = GENHFrequencyEditor txtGENHHeaderSkipEditor.Text = GENHHeaderSkipEditor txtGENHLoopStartSamplesEditor.Text = GENHLoopStartEditor txtGENHLoopEndSamplesEditor.Text = GENHLoopEndEditor txtGENHVersionEditor.Text = strGENHVersionEditor Close #3 Beep End Sub Function MOVE_FORM() ReleaseCapture SendMessage Me.hWnd, WM_NCLBUTTONDOWN, HTCAPTION, 0 End Function Private Sub cmdCreateGENH_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) cmdCreateGENH.Picture = btnOVER.Picture End Sub Private Sub chkCreateOnlyHeader_Click() cmdCreateGENH.Picture = btnNormal.Picture End Sub Private Sub chkProcessWholeList_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) cmdCreateGENH.Picture = btnNormal.Picture End Sub Private Sub txtDSPCoef1_KeyPress(KeyAscii As Integer) Select Case KeyAscii Case Asc("0") To Asc("9"), 8 'Zeichen zulassen Case Else KeyAscii = 0 'alles andere verweigern End Select End Sub Private Sub txtDSPCoef2_KeyPress(KeyAscii As Integer) Select Case KeyAscii Case Asc("0") To Asc("9"), 8 'Zeichen zulassen Case Else KeyAscii = 0 'alles andere verweigern End Select End Sub Private Sub txtGENHChannels_KeyPress(KeyAscii As Integer) Select Case KeyAscii Case Asc("1") To Asc("9"), 8 'Zeichen zulassen Case Else KeyAscii = 0 'alles andere verweigern End Select End Sub