Jeder hier kennt bestimmt Frooty Loops... Wer es nicht kennt für den erkläre ich es einmal:
Frooty Loops ist ein Programm mit dem man professionel Lieder oder sog. Beats erstellen kann, ein ziemlich großes und wirklich gutes Programm wer sich damit auskennt kann meist richtig gute Lieder damit machen/nachmachen
So ich habe einmal ein Frooty Loops "für Arme" erstellt, es basiert auf Beeptönen die vom Board kommen und ist wesentlich einfacher konstruiert als Frooty Loops... Aber man kann immerhin: Aufnehmen, Abspielen, Stoppen, Löschen und eine Aufnahme erweitern.
Hier ist der Script:
Spoiler anzeigen
#NoTrayIcon
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <File.au3>
#include <GuiListView.au3>
#include <ProgressConstants.au3>
#include <Misc.au3>
#include <Constants.au3>
$Sector = 1
$Record = 0
$File = 0
$Playfile = ""
$Count = 0
Opt("GUIOnEventMode", 1)
Opt("GUICloseOnESC", 0)
$Load = GUICreate("Loading", 100, 75, -1, -1, $WS_POPUP, $WS_EX_TOPMOST ,$WS_EX_TOOLWINDOW)
GUISetBkColor(0xC0DCC0)
GUISetState(@SW_DISABLE)
$Progress = GUICtrlCreateProgress(0, 5, 100, 17, $PBS_SMOOTH)
$Checkbox1 = GUICtrlCreateCheckbox("Loading GUI...", 8, 24, 81, 17)
GUICtrlSetState(-1, $GUI_DISABLE)
$Checkbox2 = GUICtrlCreateCheckbox("Loading Icons...", 8, 40, 97, 17)
GUICtrlSetState(-1, $GUI_DISABLE)
$Checkbox3 = GUICtrlCreateCheckbox("Loading Menu...", 8, 56, 97, 17)
GUICtrlSetState(-1, $GUI_DISABLE)
GUICtrlCreatePic("", 0, 0, 108, 100, $SS_BITMAP)
GUICtrlSetImage(-1, "C:\Dokumente und Einstellungen\TIM\Desktop\Neu Bitmap.bmp")
GUISetState(@SW_SHOW, $Load)
Sleep(50)
$Sound = GUICreate("Sounds", 313, 200, -1, -1, -1, BitOR($WS_EX_TOOLWINDOW, $WS_EX_TOPMOST ,$WS_EX_WINDOWEDGE))
GUISetBkColor(0xC0DCC0, $Sound)
GUISetOnEvent($GUI_EVENT_CLOSE, "Hide", $Sound)
$ListView1 = GUICtrlCreateListView("Taste|Frequenz|Delay", 8, 8, 170, 182)
GUICtrlSendMsg(-1, 0x101E, 0, 42)
GUICtrlSendMsg(-1, 0x101E, 1, 59)
GUICtrlSendMsg(-1, 0x101E, 2, 42)
Sleep(50)
GUICtrlCreateListViewItem("1|120|100", $ListView1)
GUICtrlSetOnEvent(-1, "Sounds")
GUICtrlCreateListViewItem("2|140|100", $ListView1)
GUICtrlSetOnEvent(-1, "Sounds")
GUICtrlCreateListViewItem("3|160|100", $ListView1)
GUICtrlSetOnEvent(-1, "Sounds")
GUICtrlCreateListViewItem("4|180|100", $ListView1)
GUICtrlSetOnEvent(-1, "Sounds")
Sleep(50)
GUICtrlCreateListViewItem("5|200|100", $ListView1)
GUICtrlSetOnEvent(-1, "Sounds")
GUICtrlCreateListViewItem("6|220|100", $ListView1)
GUICtrlSetOnEvent(-1, "Sounds")
GUICtrlCreateListViewItem("7|240|100", $ListView1)
Sleep(50)
GUICtrlSetOnEvent(-1, "Sounds")
GUICtrlCreateListViewItem("8|260|100", $ListView1)
GUICtrlSetOnEvent(-1, "Sounds")
GUICtrlCreateListViewItem("9|280|100", $ListView1)
GUICtrlSetOnEvent(-1, "Sounds")
GUICtrlCreateListViewItem("10|300|100", $ListView1)
GUICtrlSetOnEvent(-1, "Sounds")
GUICtrlCreateListViewItem("11|320|100", $ListView1)
GUICtrlSetOnEvent(-1, "Sounds")
GUICtrlCreateListViewItem("12|340|100", $ListView1)
GUICtrlSetOnEvent(-1, "Sounds")
GUICtrlCreateListViewItem("13|360|100", $ListView1)
GUICtrlSetOnEvent(-1, "Sounds")
GUICtrlCreateListViewItem("14|380|100", $ListView1)
GUICtrlSetOnEvent(-1, "Sounds")
GUICtrlCreateListViewItem("15|400|100", $ListView1)
GUICtrlSetOnEvent(-1, "Sounds")
GUICtrlCreateListViewItem("16|420|100", $ListView1)
GUICtrlSetOnEvent(-1, "Sounds")
Sleep(50)
GUICtrlCreateListViewItem("17|440|100", $ListView1)
GUICtrlSetOnEvent(-1, "Sounds")
GUICtrlCreateListViewItem("18|460|100", $ListView1)
GUICtrlSetOnEvent(-1, "Sounds")
GUICtrlCreateListViewItem("19|480|100", $ListView1)
GUICtrlSetOnEvent(-1, "Sounds")
GUICtrlCreateListViewItem("20|0|100", $ListView1)
GUICtrlSetOnEvent(-1, "Sounds")
$NewF = GUICtrlCreateInput("", 184, 8, 57, 21, BitOR($ES_RIGHT, $ES_AUTOHSCROLL, $ES_NUMBER))
Sleep(50)
$NewD = GUICtrlCreateInput("", 248, 8, 57, 21, BitOR($ES_RIGHT, $ES_AUTOHSCROLL, $ES_NUMBER))
$Accept = GUICtrlCreateButton("Übernehmen", 184, 32, 123, 25, 0)
GUICtrlSetOnEvent(-1, "Apply")
Sleep(50)
GUICtrlSetData($Progress, 30)
GUICtrlSetState($Checkbox1, $GUI_CHECKED)
[/autoit] [autoit][/autoit] [autoit]$Form = GUICreate("Frooty Loops für Arme - Final", 354, 272, -1, -1, -1, BitOR($WS_EX_TOOLWINDOW, $WS_EX_WINDOWEDGE,$WS_EX_ACCEPTFILES))
GUISetBkColor(0xA6CAF0)
GUISetOnEvent($GUI_EVENT_CLOSE, "Close", $Form)
$Group1 = GUICtrlCreateGroup("Menu", 4, 8, 345, 65)
$Button1 = GUICtrlCreateButton("", 12, 24, 42, 42, $BS_ICON)
GUICtrlSetCursor(-1, 0)
GUICtrlSetOnEvent(-1, "Record")
GUICtrlSetImage(-1, @SystemDir & "\shell32.dll", -41)
Sleep(5)
GUICtrlSetData($Progress, 35)
$Button2 = GUICtrlCreateButton("", 60, 24, 42, 42, $BS_ICON)
GUICtrlSetCursor(-1, 0)
GUICtrlSetOnEvent(-1, "Delete")
GUICtrlSetImage(-1, @SystemDir & "\shell32.dll", -132)
Sleep(5)
GUICtrlSetData($Progress, 40)
$Button3 = GUICtrlCreateButton("", 108, 24, 42, 42, $BS_ICON)
GUICtrlSetCursor(-1, 0)
GUICtrlSetOnEvent(-1, "Show")
GUICtrlSetImage(-1, @SystemDir & "\shell32.dll", -166)
Sleep(5)
GUICtrlSetData($Progress, 45)
$Button4 = GUICtrlCreateButton("", 156, 24, 42, 42, $BS_ICON)
GUICtrlSetCursor(-1, 0)
GUICtrlSetOnEvent(-1, "Search")
Sleep(50)
GUICtrlSetImage(-1, @SystemDir & "\shell32.dll", -46)
Sleep(5)
GUICtrlSetData($Progress, 50)
$Button5 = GUICtrlCreateButton("", 204, 24, 42, 42, $BS_ICON)
GUICtrlSetCursor(-1, 0)
GUICtrlSetOnEvent(-1, "Return_")
GUICtrlSetImage(-1, @SystemDir & "\shell32.dll", -179)
Sleep(5)
GUICtrlSetData($Progress, 55)
$Button6 = GUICtrlCreateButton("", 252, 24, 42, 42, $BS_ICON)
GUICtrlSetCursor(-1, 0)
GUICtrlSetOnEvent(-1, "Stop")
GUICtrlSetImage(-1, @SystemDir & "\shell32.dll", -28)
Sleep(5)
GUICtrlSetState($Checkbox2, $GUI_CHECKED)
$Checkbox1 = GUICtrlCreateCheckbox("", 300, 24, 42, 42, BitOR($BS_PUSHLIKE, $BS_ICON))
GUICtrlSetCursor(-1, 0)
GUICtrlSetOnEvent(-1, "PlayIt")
GUICtrlSetImage(-1, @SystemDir & "\shell32.dll", -169)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group2 = GUICtrlCreateGroup("Keyboard", 8, 104, 337, 161)
$Button9 = GUICtrlCreateButton("", 16, 120, 19, 137, 0)
GUICtrlSetOnEvent(-1, "_1")
$Button7 = GUICtrlCreateButton("", 32, 120, 19, 137, 0)
GUICtrlSetOnEvent(-1, "_2")
Sleep(50)
$Button10 = GUICtrlCreateButton("", 48, 120, 19, 137, 0)
GUICtrlSetData($Progress, 64)
GUICtrlSetOnEvent(-1, "_3")
$Button11 = GUICtrlCreateButton("", 64, 120, 19, 137, 0)
GUICtrlSetOnEvent(-1, "_4")
$Button12 = GUICtrlCreateButton("", 80, 120, 19, 137, 0)
GUICtrlSetOnEvent(-1, "_5")
$Button13 = GUICtrlCreateButton("", 96, 120, 19, 137, 0)
GUICtrlSetOnEvent(-1, "_6")
Sleep(50)
$Button14 = GUICtrlCreateButton("", 112, 120, 19, 137, 0)
GUICtrlSetOnEvent(-1, "_7")
Sleep(5)
GUICtrlSetData($Progress, 75)
$Button15 = GUICtrlCreateButton("", 128, 120, 19, 137, 0)
GUICtrlSetOnEvent(-1, "_8")
$Button16 = GUICtrlCreateButton("", 144, 120, 19, 137, 0)
GUICtrlSetOnEvent(-1, "_9")
$Button17 = GUICtrlCreateButton("", 160, 120, 19, 137, 0)
GUICtrlSetOnEvent(-1, "_10")
$Button18 = GUICtrlCreateButton("", 176, 120, 19, 137, 0)
GUICtrlSetOnEvent(-1, "_11")
$Button19 = GUICtrlCreateButton("", 192, 120, 19, 137, 0)
GUICtrlSetOnEvent(-1, "_12")
$Button20 = GUICtrlCreateButton("", 208, 120, 19, 137, 0)
GUICtrlSetOnEvent(-1, "_13")
$Button21 = GUICtrlCreateButton("", 224, 120, 19, 137, 0)
GUICtrlSetOnEvent(-1, "_14")
$Button22 = GUICtrlCreateButton("", 240, 120, 19, 137, 0)
GUICtrlSetOnEvent(-1, "_15")
$Button23 = GUICtrlCreateButton("", 256, 120, 19, 137, 0)
GUICtrlSetOnEvent(-1, "_16")
$Button24 = GUICtrlCreateButton("", 272, 120, 19, 137, 0)
GUICtrlSetOnEvent(-1, "_17")
$Button25 = GUICtrlCreateButton("", 288, 120, 19, 137, 0)
GUICtrlSetOnEvent(-1, "_18")
$Button26 = GUICtrlCreateButton("", 304, 120, 19, 137, 0)
GUICtrlSetOnEvent(-1, "_19")
$Button27 = GUICtrlCreateButton("D", 320, 120, 19, 21, 0)
Sleep(200)
GUICtrlSetState($Checkbox3, $GUI_CHECKED)
GUICtrlSetOnEvent(-1, "_20")
GUICtrlCreateGroup("", -99, -99, 1, 1)
Sleep(5)
$Input1 = GUICtrlCreateInput("", 8, 80, 337, 21,$ES_READONLY)
GUICtrlSetState(-1,$GUI_DROPACCEPTED)
GUICtrlSetData($Progress, 100)
Sleep(50)
Opt("TrayOnEventMode",1)
Opt('TrayMenuMode', 1)
TraySetClick("9")
TraySetOnEvent($TRAY_EVENT_PRIMARYDOUBLE,"ShowIt")
TraySetOnEvent($TRAY_EVENT_SECONDARYUP,"ShowIt")
Func ShowIt()
GUISetState(@SW_RESTORE,$Form)
EndFunc
If FileExists("Config.ini") Then
$cindex = -1
$c = -1
For $rc = 1 To 20
$c = $c + 1
$cindex = $cindex + 1
_GUICtrlListView_SetItemText($ListView1, $cindex, IniRead("Config.ini", "Keys", "Frequenz_" & $c, 0), 1)
_GUICtrlListView_SetItemText($ListView1, $cindex, IniRead("Config.ini", "Keys", "Delay_" & $c, 0), 2)
Next
$c = -1
$cindex = -1
Else
MsgBox(262192, "Fehler!", "Es wurde keine Config.ini gefunden!")
EndIf
GUISetState(@SW_HIDE, $Load)
GUISetState(@SW_SHOW, $Form)
TraySetState()
While 1
Sleep(100)
WEnd
Func Close()
Exit
EndFunc ;==>Close
Func _1()
_Beep(0)
EndFunc ;==>_1
Func _2()
_Beep(1)
EndFunc ;==>_2
Func _3()
_Beep(2)
EndFunc ;==>_3
Func _4()
_Beep(3)
EndFunc ;==>_4
Func _5()
_Beep(4)
EndFunc ;==>_5
Func _6()
_Beep(5)
EndFunc ;==>_6
Func _7()
_Beep(6)
EndFunc ;==>_7
Func _8()
_Beep(7)
EndFunc ;==>_8
Func _9()
_Beep(8)
EndFunc ;==>_9
Func _10()
_Beep(9)
EndFunc ;==>_10
Func _11()
_Beep(10)
EndFunc ;==>_11
Func _12()
_Beep(11)
EndFunc ;==>_12
Func _13()
_Beep(12)
EndFunc ;==>_13
Func _14()
_Beep(13)
EndFunc ;==>_14
Func _15()
_Beep(14)
EndFunc ;==>_15
Func _16()
_Beep(15)
EndFunc ;==>_16
Func _17()
_Beep(16)
EndFunc ;==>_17
Func _18()
_Beep(17)
EndFunc ;==>_18
Func _19()
_Beep(18)
EndFunc ;==>_19
Func _20()
_Beep(19)
EndFunc ;==>_20
Func Record()
$File = FileSelectFolder("Wähle deinen Ordner!", "", "", "")
If $File = "" Then
Sleep(100)
Else
If Not IsDeclared("sInputBoxAnswer") Then Local $sInputBoxAnswer
$sInputBoxAnswer = InputBox("Frage!", "Wie soll der Name deiner Aufnahme heißen?", "Record", " ", "120", "130", "1", "1")
Select
Case @error = 0 ;OK - The string returned is valid
$Count = 0
If FileExists($File & "\" & $sInputBoxAnswer & ".frls") Then
If Not IsDeclared("iMsgBoxAnswer") Then Local $iMsgBoxAnswer
$iMsgBoxAnswer = MsgBox(262196, "Achtung!", "Die von ihnen ausgewählte Tonspur besteht bereits!" & @CRLF & "Wollen sie, sie überschreiben?")
Select
Case $iMsgBoxAnswer = 6 ;Yes
FileDelete($File & "\" & $sInputBoxAnswer & ".frls")
_FileCreate($File & "\" & $sInputBoxAnswer & ".frls")
GUICtrlSetData($Input1, $File & "\" & $sInputBoxAnswer & ".frls")
$Record = 1
Case $iMsgBoxAnswer = 7 ;No
Sleep(100)
EndSelect
Else
_FileCreate($File & "\" & $sInputBoxAnswer & ".frls")
GUICtrlSetData($Input1, $File & "\" & $sInputBoxAnswer & ".frls")
$Record = 1
EndIf
Case @error = 1 ;The Cancel button was pushed
$Record = 0
Case @error = 3 ;The InputBox failed to open
$Record = 0
EndSelect
EndIf
EndFunc ;==>Record
Func Delete()
If GUICtrlRead($Input1) = "" Then
$iMsgBoxAnswer = MsgBox(270384, "Fehler!", "Du hast bisher keine Aufnahme erstellt!", 5000)
Else
If Not IsDeclared("iMsgBoxAnswer") Then Local $iMsgBoxAnswer
$iMsgBoxAnswer = MsgBox(270628, "Meldung!", "Willst du deine Aufnahme wirklich löschen?")
Select
Case $iMsgBoxAnswer = 6 ;Yes
FileDelete(GUICtrlRead($Input1))
GUICtrlSetData($Input1, "")
Case $iMsgBoxAnswer = 7 ;No
Sleep(100)
EndSelect
EndIf
EndFunc ;==>Delete
Func Hide()
GUISetState(@SW_HIDE, $Sound)
EndFunc ;==>Hide
Func Show()
GUISetState(@SW_SHOW, $Sound)
EndFunc ;==>Show
Func _Beep($Focus)
_GUICtrlListView_SetItemSelected($ListView1, $Focus, True, True)
Local $Index = _GUICtrlListView_GetSelectedIndices($ListView1, True)
If $Index[0] = 0 Then Return
Beep(_GUICtrlListView_GetItemText($ListView1, $Index[1], 1), _GUICtrlListView_GetItemText($ListView1, $Index[1], 2))
_Write()
EndFunc ;==>_Beep
Func _Write()
If $Record = 1 Then
$Count = $Count + 1
Local $Index = _GUICtrlListView_GetSelectedIndices($ListView1, True)
If $Index[0] = 0 Then Return
IniWrite(GUICtrlRead($Input1), $Count, "Frequenz", _GUICtrlListView_GetItemText($ListView1, $Index[1], 1))
IniWrite(GUICtrlRead($Input1), $Count, "Delay", _GUICtrlListView_GetItemText($ListView1, $Index[1], 2))
EndIf
EndFunc ;==>_Write
Func Stop()
If $Record = 1 Then
$Record = 0
MsgBox(262208, "Fertiggestellt", "Ihre Aufnahme ist nun bereit, um wiedergegeben werden zu können!")
EndIf
EndFunc ;==>Stop
Func Sounds()
Local $Index = _GUICtrlListView_GetSelectedIndices($ListView1, True)
If $Index[0] = 0 Then Return
$Fre = _GUICtrlListView_GetItemText($ListView1, $Index[1], 1)
$Del = _GUICtrlListView_GetItemText($ListView1, $Index[1], 2)
GUICtrlSetData($NewF, $Fre)
GUICtrlSetData($NewD, $Del)
EndFunc ;==>Sounds
Func Apply()
$c = -1
$cindex = -1
$D = GUICtrlRead($NewD)
$F = GUICtrlRead($NewF)
Local $Index = _GUICtrlListView_GetSelectedIndices($ListView1, True)
If $Index[0] = 0 Then Return
_GUICtrlListView_SetItemText($ListView1, $Index[1], $F, 1)
_GUICtrlListView_SetItemText($ListView1, $Index[1], $D, 2)
FileDelete("Config.ini")
_FileCreate(@ScriptDir & "\Config.ini")
$CONF = @ScriptDir & "\Config.ini"
For $conf1 = 1 To 20
$c = $c + 1
$cindex = $cindex + 1
IniWrite($CONF, "Keys", "Frequenz_" & $c, _GUICtrlListView_GetItemText($ListView1, $cindex, 1))
IniWrite($CONF, "Keys", "Delay_" & $c, _GUICtrlListView_GetItemText($ListView1, $cindex, 2))
Next
EndFunc ;==>Apply
Func Search()
$Playfile = FileOpenDialog("Wähle deine Tonspur", @ScriptDir, "(*.frls)", "", "")
If $Playfile <> "" Then
GUICtrlSetData($Input1, $Playfile)
Else
Sleep(100)
EndIf
EndFunc ;==>Search
Func PlayIt()
If GUICtrlRead($Checkbox1) = $GUI_CHECKED Then
If GUICtrlRead($Input1) <> "" Then
$AS = _FileCountLines(GUICtrlRead($Input1))
If $AS < 3 Then
TrayTip("Meldung", "Leere Tonspur!", 1)
GUICtrlSetState($Checkbox1, $GUI_UNCHECKED)
Else
GUICtrlSetState($Input1,$GUI_DISABLE)
GUISetState(@SW_LOCK, $Form)
TrayTip("Meldung", "Die Tonspur wird abgespielt..." & @CRLF & "Pause with ESC!", 0, 0)
$AS = _FileCountLines(GUICtrlRead($Input1))
$Much = $AS / 3
For $Sector = 1 To $Much
If _IsPressed("1B", "user32.dll") Then
GUISetState(@SW_UNLOCK, $Form)
TrayTip("", "", 0)
GUICtrlSetState($Checkbox1, $GUI_UNCHECKED)
ExitLoop
Else
Sleep(5)
EndIf
If IniRead(GUICtrlRead($Input1),$Sector, "Frequenz", 1) = "0" Then
Sleep(IniRead(GUICtrlRead($Input1),$Sector, "Delay", 1))
Else
Beep(IniRead(GUICtrlRead($Input1),$Sector, "Frequenz", 1), IniRead(GUICtrlRead($Input1),$Sector, "Delay", 1))
EndIf
Next
GUISetState(@SW_UNLOCK, $Form)
TrayTip("", "", 0)
GUICtrlSetState($Input1,$GUI_ENABLE)
GUICtrlSetState($Checkbox1, $GUI_UNCHECKED)
EndIf
Else
MsgBox(262192, "Fehler!", "Es wurde keine Tonspur ausgewählt!")
GUICtrlSetState($Checkbox1, $GUI_UNCHECKED)
EndIf
Else
EndIf
EndFunc ;==>PlayIt
Func Return_()
If GUICtrlRead($Input1) <> "" Then
$Record = 1
$zu = _FileCountLines(GUICtrlRead($Input1))
$zu = $zu / 3
$Sector = $zu
$Count = $zu
Else
MsgBox(262192, "Fehler!", "Kann ohne ausgewählte Tonspur nicht fortfahren!")
EndIf
EndFunc ;==>Return_
neuer code:
Spoiler anzeigen
#NoTrayIcon
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <File.au3>
#include <GuiListView.au3>
#include <ProgressConstants.au3>
#include <Misc.au3>
#include <Constants.au3>
Global Const $strConfig = @ScriptDir & "\Config.ini"
[/autoit] [autoit][/autoit] [autoit]Global $intTemp, $tmpCount, $strFile, $strPlayfile
Global $strTemp, $blnFinish = False, $blnRecord = False
Global $intMsg = 0, $tTimer = TimerInit()
Opt("GUIOnEventMode", False)
Opt("GUICloseOnESC", False)
Opt("MustDeclareVars", True)
#Region ; Form - Sounds
Global $frmEdit = GUICreate("Sounds", 313, 200, Default, Default, Default, BitOR($WS_EX_TOOLWINDOW, $WS_EX_TOPMOST, $WS_EX_WINDOWEDGE))
GUISetBkColor(0xC0DCC0, $frmEdit)
Global $lstSounds = GUICtrlCreateListView("Taste|Frequenz|Delay", 8, 8, 170, 182)
GUICtrlSendMsg(Default, 0x101E, 0, 42)
GUICtrlSendMsg(Default, 0x101E, 1, 59)
GUICtrlSendMsg(Default, 0x101E, 2, 42)
Global $itmList[21] = [20]
[/autoit] [autoit][/autoit] [autoit]For $intTemp = 1 To $itmList[0] Step 1
$strTemp = String($intTemp & "|" & Int(100 + Ceiling($intTemp * 20)) & "|100")
$itmList[$intTemp] = GUICtrlCreateListViewItem($strTemp, $lstSounds)
Next
Global $txtFrequence = GUICtrlCreateInput("", 184, 8, 57, 21, BitOR($ES_RIGHT, $ES_AUTOHSCROLL, $ES_NUMBER))
Global $txtDelay = GUICtrlCreateInput("", 248, 8, 57, 21, BitOR($ES_RIGHT, $ES_AUTOHSCROLL, $ES_NUMBER))
Global $btnApply = GUICtrlCreateButton("Übernehmen", 184, 32, 123, 25, 0)
#EndRegion ; Form - Sounds
#Region ; Form - Main
Global $frmMain = GUICreate("Frooty Loops für Arme - Final", 354, 272, Default, Default, Default, BitOR($WS_EX_TOOLWINDOW, $WS_EX_WINDOWEDGE, $WS_EX_ACCEPTFILES))
GUISetBkColor(0xA6CAF0, $frmMain)
; Optionsmenu
Global $grpMenu = GUICtrlCreateGroup("Menu", 4, 8, 345, 65)
Global $btnMenu[7] = [6]
For $intTemp = 1 To $btnMenu[0] Step 1
Switch $intTemp
Case 5 To 6
$btnMenu[$intTemp] = GUICtrlCreateCheckbox("", 12 + Ceiling(Ceiling($intTemp - 1) * 48), 24, 42, 42, BitOR($BS_PUSHLIKE, $BS_ICON))
GUICtrlSetState(Default, $GUI_DISABLE)
Case Else
$btnMenu[$intTemp] = GUICtrlCreateButton("", 12 + Ceiling(Ceiling($intTemp - 1) * 48), 24, 42, 42, $BS_ICON)
EndSwitch
Switch $intTemp
Case 1
GUICtrlSetImage($btnMenu[$intTemp], @SystemDir & "\shell32.dll", -41)
GUICtrlSetTip($btnMenu[$intTemp], "Erstellt eine neue Tonspur.", "Neu:")
Case 2
GUICtrlSetImage($btnMenu[$intTemp], @SystemDir & "\shell32.dll", -132)
GUICtrlSetTip($btnMenu[$intTemp], "Löscht die aktuelle Aufnahme.", "Löschen:")
Case 3
GUICtrlSetImage($btnMenu[$intTemp], @SystemDir & "\shell32.dll", -166)
GUICtrlSetTip($btnMenu[$intTemp], "Ermöglicht das editieren der Ton- und Buttoneigenschaften.", "Editor:")
Case 4
GUICtrlSetImage($btnMenu[$intTemp], @SystemDir & "\shell32.dll", -46)
GUICtrlSetTip($btnMenu[$intTemp], "Öffnet eine existierende Tonspur.", "Öffnen:")
Case 5
GUICtrlSetImage($btnMenu[$intTemp], @SystemDir & "\shell32.dll", -179)
GUICtrlSetTip($btnMenu[$intTemp], "Startet und stoppt die Aufnahme in die aktuelle Datei.", "Aufnahme:")
Case 6
GUICtrlSetTip($btnMenu[$intTemp], "Spielt die aktuelle Tonspur ab.", "Abspielen:")
GUICtrlSetImage($btnMenu[$intTemp], @SystemDir & "\shell32.dll", -169)
Case Else
EndSwitch
GUICtrlSetCursor(Default, 0)
Next
; Keyboard
Global $grpKeyboard = GUICtrlCreateGroup("Keyboard", 8, 104, 337, 161)
Global $btnKeyboard[21] = [20]
For $intTemp = 1 To $btnKeyboard[0] Step 1
$btnKeyboard[$intTemp] = GUICtrlCreateButton($intTemp, $intTemp * 16, 120, 19, 137, 0)
Next
Global $txtFile = GUICtrlCreateInput("", 8, 80, 337, 21, $ES_READONLY)
GUICtrlSetState(Default, $GUI_DROPACCEPTED)
#EndRegion ; Form - Main
If FileExists($strConfig) Then
For $intTemp = 1 To 20
_GUICtrlListView_SetItemText($lstSounds, $intTemp - 1, IniRead($strConfig, "Keys", "Frequenz_" & $intTemp - 1, 0), 1)
_GUICtrlListView_SetItemText($lstSounds, $intTemp - 1, IniRead($strConfig, "Keys", "Delay_" & $intTemp - 1, 0), 2)
Next
Else
MsgBox(262192, "Fehler!", "Es wurde keine Config.ini gefunden!")
EndIf
GUISetState(@SW_SHOW, $frmMain)
[/autoit] [autoit][/autoit] [autoit]#Region ; Loop - Main
While True
If WinActive($frmMain) Then
$intMsg = GUIGetMsg($frmMain)
If $intMsg Then
$blnFinish = False
If $intMsg = -3 Then
Exit
Else
For $intTemp = 1 To $btnMenu[0] Step 1
If $intMsg = $btnMenu[$intTemp] Then
Call("allEvents", $frmMain, "btnMenu", $intTemp)
$blnFinish = True
ExitLoop
EndIf
Next
If Not $blnFinish Then
For $intTemp = 1 To $btnKeyboard[0] Step 1
If $intMsg = $btnKeyboard[$intTemp] Then
Call("allEvents", $frmMain, "btnKeyboard", $intTemp)
ExitLoop
EndIf
Next
EndIf
EndIf
EndIf
Else
If WinActive($frmEdit) Then
$intMsg = GUIGetMsg($frmEdit)
If $intMsg Then
$blnFinish = False
If $intMsg = -3 Then
GUISetState(@SW_HIDE, $frmEdit)
Else
For $intTemp = 1 To $itmList[0] Step 1
If $intMsg = $itmList[$intTemp] Then
Call("allEvents", $frmEdit, "lstItems", Default)
$blnFinish = True
ExitLoop
EndIf
Next
If Not $blnFinish Then
If $intMsg = $btnApply Then
Call("allEvents", $frmEdit, "btnApply", Default)
EndIf
EndIf
EndIf
EndIf
Else
ContinueLoop
EndIf
EndIf
If TimerDiff($tTimer) >= 1024 Then
If GUICtrlRead($txtFile) <> "" Then
If Not (GUICtrlRead($btnMenu[6]) = $GUI_CHECKED) Then
GUICtrlSetState($btnMenu[5], $GUI_ENABLE)
EndIf
If Not (GUICtrlRead($btnMenu[5]) = $GUI_CHECKED) Then
GUICtrlSetState($btnMenu[6], $GUI_ENABLE)
EndIf
Else
If GUICtrlRead($btnMenu[5]) = $GUI_CHECKED Then
GUICtrlSetState($btnMenu[5], $GUI_UNCHECKED)
EndIf
GUICtrlSetState($btnMenu[5], $GUI_DISABLE)
If GUICtrlRead($btnMenu[6]) = $GUI_CHECKED Then
GUICtrlSetState($btnMenu[6], $GUI_UNCHECKED)
EndIf
GUICtrlSetState($btnMenu[6], $GUI_DISABLE)
EndIf
$tTimer = TimerInit()
EndIf
WEnd
#EndRegion ; Loop - Main
Func allEvents($frmForm, $strCommands, $intParameter = Default)
Switch $frmForm
Case $frmMain
Switch $strCommands
Case "btnMenu"
Switch $intParameter
Case 1
#Region ; Function - Neue Tonspur
Local $strPath = FileSelectFolder("Wähle deinen Ordner!", "", "", "")
If $strPath <> "" Then
$strPath &= "\" & InputBox("Neue Datei", "Bitte übergeben sie einen Namen für die neue Datei:", "Record", " ", 120, 130, Default, Default) & ".frls"
Select
Case @error = 0 ;OK - The string returned is valid
If FileExists($strPath) Then
Local $intAnswer = MsgBox(262196, "Achtung!", "Die von ihnen ausgewählte Tonspur besteht bereits!" & @CRLF & "Wollen sie die bestehende Datei überschreiben?")
Select
Case $intAnswer = 6 ; Yes
FileDelete($strPath)
GUICtrlSetData($txtFile, $strPath)
Case Else
EndSelect
Else
GUICtrlSetData($txtFile, $strPath)
EndIf
Case Else
EndSelect
#EndRegion ; Function - Neue Tonspur
EndIf
Case 2
#Region ; Function - Aufnahme löschen
If GUICtrlRead($txtFile) = "" Then
MsgBox(270384, "Fehler!", "Sie haben bisher keine Aufnahme erstellt!")
Else
Local $intAnswer = MsgBox(270628, "Meldung!", "Willst du deine Aufnahme wirklich löschen?")
Select
Case $intAnswer = 6 ;Yes
Local $strTemp = GUICtrlRead($txtFile)
FileDelete($strTemp)
If Not FileExists($strTemp) Then MsgBox(0, "Benachrichtigung", "Ihre Aufnahme wurde erfolgreich gelöscht!")
Case Else
EndSelect
EndIf
#EndRegion ; Function - Aufnahme löschen
Case 3
#Region ; Function - Editor öffnen
GUISetState(@SW_SHOW, $frmEdit)
#EndRegion ; Function - Editor öffnen
Case 4
#Region ; Function - Datei öffnen
Global $strPlayfile = FileOpenDialog("Wähle deine Tonspur", @ScriptDir, "(*.frls)", "", "")
If $strPlayfile <> "" Then
GUICtrlSetData($txtFile, $strPlayfile)
Else
MsgBox(270384, "Warnung!", "Sie haben keine Tonspur ausgewählt!")
EndIf
#EndRegion ; Function - Datei öffnen
Case 5
#Region ; Function - Aufnahme on/off
If $blnRecord = True Then
GUICtrlSetState($btnMenu[6], $GUI_ENABLE)
$blnRecord = False
Else
If GUICtrlRead($btnMenu[6]) = $GUI_CHECKED Then GUICtrlSetState($btnMenu[6], $GUI_UNCHECKED)
GUICtrlSetState($btnMenu[6], $GUI_DISABLE)
$blnRecord = True
EndIf
#EndRegion ; Function - Aufnahme on/off
Case 6
#Region ; Function - Play
If GUICtrlRead($txtFile) <> "" Then
Local $tmpFile = GUICtrlRead($txtFile)
Local $arrSections = IniReadSectionNames($tmpFile)
If Not IsArray($arrSections) Then
GUICtrlSetState($btnMenu[6], $GUI_UNCHECKED)
Else
If GUICtrlRead($btnMenu[5]) = $GUI_CHECKED Then GUICtrlSetState($btnMenu[5], $GUI_UNCHECKED)
GUICtrlSetState($btnMenu[5], $GUI_DISABLE)
For $intTemp = 1 To $arrSections[0]
If GUICtrlRead($btnMenu[6]) = $GUI_UNCHECKED Then ExitLoop
If IniRead($tmpFile, $arrSections[$intTemp], "Frequenz", 1) = "0" Then
Sleep(IniRead($tmpFile, $arrSections[$intTemp], "Delay", 1))
Else
Beep(IniRead($tmpFile, $arrSections[$intTemp], "Frequenz", 1), IniRead($tmpFile, $arrSections[$intTemp], "Delay", 1))
EndIf
Next
GUICtrlSetState($btnMenu[6], $GUI_UNCHECKED)
EndIf
EndIf
#EndRegion ; Function - Play
Case Else
EndSwitch
Case "btnKeyboard"
Switch $intParameter
Case 1 To 20
#Region ; Function - Keyboard
_GUICtrlListView_SetItemSelected($lstSounds, $intParameter - 1, True, True)
Local $intIndex = _GUICtrlListView_GetSelectedIndices($lstSounds, True)
If $intIndex[0] = 0 Then Return
Beep(_GUICtrlListView_GetItemText($lstSounds, $intIndex[1], 1), _GUICtrlListView_GetItemText($lstSounds, $intIndex[1], 2))
If $blnRecord = True Then
Local $intIndex = _GUICtrlListView_GetSelectedIndices($lstSounds, True)
Local $tmpFile = GUICtrlRead($txtFile)
If $intIndex[0] = 0 Then Return
Local $arrSections = IniReadSectionNames($tmpFile)
If IsArray($arrSections) Then
Local $newStep = String($arrSections[0] + 1)
Else
Local $newStep = 1
EndIf
IniWrite($tmpFile, $newStep, "Frequenz", _GUICtrlListView_GetItemText($lstSounds, $intIndex[1], 1))
IniWrite($tmpFile, $newStep, "Delay", _GUICtrlListView_GetItemText($lstSounds, $intIndex[1], 2))
EndIf
#EndRegion ; Function - Keyboard
Case Else
EndSwitch
Case Else
EndSwitch
Case $frmEdit
Switch $strCommands
Case "lstItems"
#Region ; Function - Play sound
Local $intIndex = _GUICtrlListView_GetSelectedIndices($lstSounds, True)
If $intIndex[0] = 0 Then Return
Local $intFrequence = _GUICtrlListView_GetItemText($lstSounds, $intIndex[1], 1)
Local $intDelay = _GUICtrlListView_GetItemText($lstSounds, $intIndex[1], 2)
GUICtrlSetData($txtFrequence, $intFrequence)
GUICtrlSetData($txtDelay, $intDelay)
#EndRegion ; Function - Play sound
Case "btnApply"
#Region ; Function - Apply changes
Local $intDelay = GUICtrlRead($txtDelay)
Local $intFrequence = GUICtrlRead($txtFrequence)
Local $intIndex = _GUICtrlListView_GetSelectedIndices($lstSounds, True)
If $intIndex[0] = 0 Then Return
_GUICtrlListView_SetItemText($lstSounds, $intIndex[1], $intFrequence, 1)
_GUICtrlListView_SetItemText($lstSounds, $intIndex[1], $intDelay, 2)
For $intTemp = 1 To 20
IniWrite($strConfig, "Keys", "Frequenz_" & $intTemp - 1, _GUICtrlListView_GetItemText($lstSounds, $intTemp - 1, 1))
IniWrite($strConfig, "Keys", "Delay_" & $intTemp - 1, _GUICtrlListView_GetItemText($lstSounds, $intTemp - 1, 2))
Next
#EndRegion ; Function - Apply changes
Case Else
EndSwitch
Case Else
EndSwitch
EndFunc ;==>allEvents