1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. UEZ

Beiträge von UEZ

  • Pic in Pic Generator

    • UEZ
    • 11. Februar 2017 um 14:59

    Und das Skript ist wo? Ansonsten macht es keinen Sinn.

  • FModMem UDF build 2019-11-24

    • UEZ
    • 31. Januar 2017 um 00:06

    Hier eine UDF zum Abspielen von folgenden Musik Formaten:

    Code
    - .MOD (protracker/fasttracker modules)
    - .S3M (screamtracker 3 modules)
    - .XM (fasttracker 2 modules)
    - .IT (impulse tracker modules)
    - .MID (MIDI files)
    - .RMI (MIDI files)
    - .SGT (DirectMusic segment files)
    - .FSB (FMOD Sample Bank files)
    - .MP3
    - .OGG
    - .WAV
    - .MP2 
    - .RAW
    Alles anzeigen


    Download: FModMem UDF build 2019-11-24

    Folgende Funktionen sind hinzugefügt:

    Code
    FMUSICMEM_FreeSong
    FMUSICMEM_GetBPM
    FMUSICMEM_GetGlobalVolume
    FMUSICMEM_GetMasterVolume
    FMUSICMEM_GetName
    FMUSICMEM_GetNumChannels
    FMUSICMEM_GetNumInstruments
    FMUSICMEM_GetNumOrders
    FMUSICMEM_GetNumPatterns
    FMUSICMEM_GetNumSamples
    FMUSICMEM_GetOrder
    FMUSICMEM_GetPaused
    FMUSICMEM_GetRow
    FMUSICMEM_GetSpeed
    FMUSICMEM_GetTime
    FMUSICMEM_GetType
    FMUSICMEM_IsFinished
    FMUSICMEM_LoadSong
    FMUSICMEM_LoadSongEx
    FMUSICMEM_OptimizeChannels
    FMUSICMEM_PlaySong
    FMUSICMEM_SetMasterVolume
    FMUSICMEM_SetOrder
    FMUSICMEM_SetPaused
    FMUSICMEM_StopAllSongs
    FMUSICMEM_StopSong
    FSOUNDMEM_Close
    FSOUNDMEM_DSP_Create
    FSOUNDMEM_DSP_Free
    FSOUNDMEM_DSP_GetActive
    FSOUNDMEM_DSP_GetFFTUnit
    FSOUNDMEM_DSP_GetSpectrum
    FSOUNDMEM_DSP_SetActive
    FSOUNDMEM_DSP_SetPriority
    FSOUNDMEM_GetAmplitude
    FSOUNDMEM_GetChannelsPlaying
    FSOUNDMEM_GetCPUUsage
    FSOUNDMEM_GetCurrentLevels
    FSOUNDMEM_GetError
    FSOUNDMEM_GetFrequency
    FSOUNDMEM_GetGetSurround
    FSOUNDMEM_GetMaxChannels
    FSOUNDMEM_GetPan
    FSOUNDMEM_GetPaused
    FSOUNDMEM_GetVolume
    FSOUNDMEM_Init
    FSOUNDMEM_SetPaused
    FSOUNDMEM_SetSpeakerMode
    FSOUNDMEM_SetSurround
    FSOUNDMEM_SetVolume
    FSOUNDMEM_SetVolumeAbsolute
    FSOUNDMEM_Stream_Close
    FSOUNDMEM_Stream_FindTagField
    FSOUNDMEM_Stream_GetLength
    FSOUNDMEM_Stream_GetLengthMs
    FSOUNDMEM_Stream_GetNumTagFields
    FSOUNDMEM_Stream_GetOpenState
    FSOUNDMEM_Stream_GetPosition
    FSOUNDMEM_Stream_GetTagField
    FSOUNDMEM_Stream_GetTime
    FSOUNDMEM_Stream_Net_GetStatus
    FSOUNDMEM_Stream_Net_SetMetadataCallback
    FSOUNDMEM_Stream_Net_SetProxy
    FSOUNDMEM_Stream_Open
    FSOUNDMEM_Stream_Play
    FSOUNDMEM_Stream_PlayEx
    FSOUNDMEM_Stream_SetLoopCount
    FSOUNDMEM_Stream_SetPosition
    FSOUNDMEM_Stream_SetTime
    FSOUNDMEM_Stream_Stop
    Alles anzeigen

    Der Aufruf der DLL erfolgt aus dem Speicher.

    Viel Spaß.

  • Assemblercode - Noch optimierbar?

    • UEZ
    • 29. Dezember 2016 um 00:09

    Intel Core i5 4300U:

    Code
    C:\Temp>SSE.exe
    ret1= 6.064393047313  ret2= -5.278994884167   summe= 3.14159265258555
    SSE Duration mSec 2593.268000
    
    
    C:\Temp>AVX.exe
    ret1= 3.465683017203  ret2= -2.761371315559  ret3= 2.598710030113  ret4= -2.517623568609  summe= 3.14159265259144
    AVX Duration mSec 2763.371000
  • Assemblercode - Noch optimierbar?

    • UEZ
    • 6. Dezember 2016 um 23:48

    Ich habe mal den FB Code als x64 laufen lassen -> Resultat siehe oben Post#31.

    Bei einem Thread die Laufzeit mehr als halbiert!

  • Assemblercode - Noch optimierbar?

    • UEZ
    • 6. Dezember 2016 um 23:29

    Top :thumbup:

    $n = 1000000000 -> Intel(R) Core(TM) i5-4300U CPU:

    Code
    Threads:   1   Time: 2922.8ms   PI: 3.141592652586 
    Threads:   2   Time: 1786.9ms   PI: 3.141592652591 
    Threads:   3   Time: 1485.4ms   PI: 3.141592652598 
    Threads:   4   Time: 1383.9ms   PI: 3.141592652593 
    Threads:   5   Time: 1476.1ms   PI: 3.141592652591 
    Threads:   6   Time: 1398.5ms   PI: 3.141592652588 
    Threads:   7   Time: 1439.3ms   PI: 3.141592652589 
    Threads:   8   Time: 1397.7ms   PI: 3.141592652586 
    Threads:   9   Time: 1385.6ms   PI: 3.141592652587 
    Threads:  10   Time: 1388.6ms   PI: 3.141592652590
  • Assemblercode - Noch optimierbar?

    • UEZ
    • 6. Dezember 2016 um 16:41

    @alpines: ich habe den Code jetzt auch 4 Threads modifiziert. Ich vermute, dass die Unterschiede von der Addition der Teilergebnisse kommen.

  • Assemblercode - Noch optimierbar?

    • UEZ
    • 6. Dezember 2016 um 16:11

    Ein Thema ist mir noch in den Sinn gekommen -> Multithreading.

    Ich habe mal mit FB verglichen, wie schnell 1 Thread zu 4 Threads sind.


    Hier das Resultat:

    x86:

    Code
    1 Thread  PI: 3.14159265258805            11998.85867815465 ms for 1000000000 iterations.
    4 Threads PI: 3.14159266258921            3342.891288688406 ms for 1000000000 iterations.


    x64:

    Code
    1 Thread  PI: 3.14159265258805            5485.781099298038 ms for 1000000000 iterations.
    4 Threads PI: 3.14159266258921            2726.45756660495 ms for 1000000000 iterations.


    Ich habe 1.000.000.000 (eine Milliarde) Durchgänge gewählt, dass man die Auslastung der CPU mitverfolgen kann -> Faktor ca. 3.6!

    Source Code:

    Spoiler anzeigen
    Code
    Type tParam
    	ende As UInteger
    	start As UInteger
    	result As Double
    End Type
    Sub Thread_Leibniz_PI(ByVal pParam As tParam Ptr)
    	Dim As Double fPI = 0.0, fSign = 1.0
    	Dim As UInteger k
    	For k As UInteger = pParam->start To pParam->ende
    		fPI += fSign / ((k Shl 1) + 1)
    		fSign = -fSign
    	Next
    	pParam->result = fPI * 4.0
    End Sub
    Function Leibniz_PI(n As UInteger) As Double
    	Dim As Double fPI = 0.0, fSign = 1.0
    	For k As UInteger = 0 To n - 1
    		fPI += fSign / ((k Shl 1) + 1)
    		fSign = -fSign
    	Next
    	Return 4 * fPI
    End Function
    Dim As UInteger iterations = 1000000000
    Dim As Double fTimer = Timer
    Print "1 Thread  PI: " & Leibniz_PI(iterations), 1000 * (Timer - fTimer) & " ms for " & iterations & " iterations."
    Dim As Any Ptr pThread1, pThread2, pThread3, pThread4
    Dim As tParam tParams(0 To 3)
    tParams(0).start = 0
    tParams(0).ende = iterations / 4
    tParams(1).start = iterations / 4 + 1
    tParams(1).ende = iterations / 2
    tParams(2).start = iterations / 2 + 1
    tParams(2).ende = iterations * 3 / 4
    tParams(3).start = iterations * 3 / 4 + 1
    tParams(3).ende = iterations - 1
    fTimer = Timer
    pThread1 = ThreadCreate(@Thread_Leibniz_PI, @tParams(0))
    pThread2 = ThreadCreate(@Thread_Leibniz_PI, @tParams(1))
    pThread3 = ThreadCreate(@Thread_Leibniz_PI, @tParams(2))
    pThread4 = ThreadCreate(@Thread_Leibniz_PI, @tParams(3))
    ThreadWait(pThread1)
    ThreadWait(pThread2)
    ThreadWait(pThread3)
    ThreadWait(pThread4)
    Print "4 Threads PI: " & tParams(0).result + tParams(1).result + tParams(2).result + tParams(3).result, 1000 * (Timer - fTimer) & " ms for " & iterations & " iterations."
    Sleep
    Alles anzeigen


    Vergleich Andy's ASM Code:

    Code
    : $pi Leibnitz = 3.14159265258555
    : Time [ms] = 2631.10135102957


    Selbst 4 Threads schlagen den ASM Code von Andy nicht! :huh:

    Oder ich den nehme gleich den ASM Code von Andy als Thread_Leibniz_PI Funktion. Dann sollte es brutal abgehen...

  • Grafik/Sound Demo (InfoBox)

    • UEZ
    • 5. Dezember 2016 um 22:13

    Old School Style :thumbup:

    Ein bissl zu bunt (für mich), aber sehr nostalgisch. :thumbup:

  • Assemblercode - Noch optimierbar?

    • UEZ
    • 2. Dezember 2016 um 23:35
    Zitat von Andy

    Wenn schon allein für diese "Pillepalle"-Anwendung mit der sehr kleinen Schleife so immense Unterschiede in der Laufzeit (vgl. UEZ´s erste Compilerversionen) feststellbar sind, was bringen dann erst Optimierungen für lange rechenintensive Schleifen!?

    Was lernen wir daraus? Shit in - Shit out. Ergo, der Compiler schafft keine Wunder.

  • VU-Meter auch für FMOD.dll?

    • UEZ
    • 2. Dezember 2016 um 23:31

    Eher so:

    AutoIt
    Func _FMUSIC_GetName($F_SongHandle)
    	Local $F_RetValue = MemoryDllCall($F_DLL, "str", "_FMUSIC_GetName@4", "ptr", $F_SongHandle)
    	If @error Then Return SetError(1, 0, 0)
    	Return $F_RetValue[0]
    EndFunc
  • File to Base64 String Code Generator v1.20 Build 2020-06-05

    • UEZ
    • 1. Dezember 2016 um 16:21
    Zitat von Cape-City

    Allerdings sind in dem Code mit dem VUMeter von dir zwei Func drin (_ASM_DecompressLZMAT und _LZMAT_CodeDecompress) welche
    in dieser Version nicht erzeugt werden (_WinAPI_LZNTDecompress).

    Genau das sind die kosmetischen Veränderungen. Das Prinzip der Funktion hat sich nicht geändert.

  • File to Base64 String Code Generator v1.20 Build 2020-06-05

    • UEZ
    • 1. Dezember 2016 um 16:11

    @Cape-City: der Link sollte jetzt funzen. Die Version 2015-09-19 ist nicht veröffentlicht, da im Großen und Ganzen nur kosmetische Veränderungen gemacht wurden.

    Vielleicht aktualisiere ich mal bei Gelegenheit die Pastebin Version...

  • VU-Meter auch für FMOD.dll?

    • UEZ
    • 30. November 2016 um 21:18
    Zitat von Cape-City

    Bringt das denn
    nachher etwas beim Compilieren oder ist die EXE deswegen auch nicht viel kleiner, wenn der UPX drüber gelaufen ist?

    Da der Code intern die Daten als Strings speichert, bläht sich natürlich der Code auf. Ideal wäre es, wenn man die Exe so klein wie möglich halten will, die Dateien als Ressourcen in die Exe anhängt. Um zu testen, müsste man aber den Code immer kompilieren.

    Wie schon alpines schrieb, reagieren die AV Programme sehr sensible gegen UPX gepackte AutoIt Executables. Die Exe wird zwar kleiner, aber die AV Programme werden dadurch eher nur angetriggert.

    Mir persönlich ist mittlerweile die Exe Größe egal.

  • VU-Meter auch für FMOD.dll?

    • UEZ
    • 30. November 2016 um 00:02

    Hier noch ein kleines Bespiel, wie man z.B. XM Sound Dateien abzuspielen kann.

    Dateien

    Play MP3 from mem using FMOD + VU.au3 467,99 kB – 331 Downloads
  • VU-Meter auch für FMOD.dll?

    • UEZ
    • 28. November 2016 um 17:02
    Zitat von Cape-City

    Den Part "_FSOUND_GetCurrentLevels@12" in der DLL hatte ich auch bereits im Internet gefunden, wusste aber nicht, wie ich das entsprechend aufrufen muss.

    Mal das Help File zu FMOD im Anhang.

    Und hier die Funktionen:

    Code
    _FMUSIC_FreeSong@4|0x00020626
    _FMUSIC_GetBPM@4|0x00021813
    _FMUSIC_GetGlobalVolume@4|0x0002174B
    _FMUSIC_GetMasterVolume@4|0x0002170B
    _FMUSIC_GetName@4|0x0002141D
    _FMUSIC_GetNumChannels@4|0x00021628
    _FMUSIC_GetNumInstruments@4|0x000215AA
    _FMUSIC_GetNumOrders@4|0x00021536
    _FMUSIC_GetNumPatterns@4|0x00021575
    _FMUSIC_GetNumSamples@4|0x000215E9
    _FMUSIC_GetOpenState@4|0x00021D11
    _FMUSIC_GetOrder@4|0x00021853
    _FMUSIC_GetPattern@4|0x0002178B
    _FMUSIC_GetPatternLength@8|0x000216B9
    _FMUSIC_GetPaused@4|0x0002197B
    _FMUSIC_GetRealChannel@8|0x000219BA
    _FMUSIC_GetRow@4|0x000218A9
    _FMUSIC_GetSample@8|0x00021667
    _FMUSIC_GetSpeed@4|0x000217D3
    _FMUSIC_GetTime@4|0x00021900
    _FMUSIC_GetType@4|0x00021459
    _FMUSIC_GetUserData@4|0x00021AAA
    _FMUSIC_IsFinished@4|0x0002148C
    _FMUSIC_IsPlaying@4|0x000214DA
    _FMUSIC_LoadSong@4|0x000205C2
    _FMUSIC_LoadSongEx@24|0x000205EE
    _FMUSIC_OptimizeChannels@12|0x00021130
    _FMUSIC_PlaySong@4|0x00020896
    _FMUSIC_SetInstCallback@12|0x00020E4A
    _FMUSIC_SetLooping@8|0x00021A20
    _FMUSIC_SetMasterSpeed@8|0x00021323
    _FMUSIC_SetMasterVolume@8|0x000212C0
    _FMUSIC_SetOrder@8|0x0002118B
    _FMUSIC_SetOrderCallback@12|0x00020D94
    _FMUSIC_SetPanSeperation@8|0x000213A8
    _FMUSIC_SetPaused@8|0x0002126C
    _FMUSIC_SetReverb@4|0x00021CED
    _FMUSIC_SetRowCallback@12|0x00020CDE
    _FMUSIC_SetSample@12|0x00020EF6
    _FMUSIC_SetUserData@8|0x00021A65
    _FMUSIC_SetZxxCallback@8|0x00020C3F
    _FMUSIC_StopAllSongs@0|0x00020C18
    _FMUSIC_StopSong@4|0x00020B30
    _FSOUND_3D_GetAttributes@12|0x000231AE
    _FSOUND_3D_GetMinMaxDistance@12|0x0002854C
    _FSOUND_3D_Listener_GetAttributes@32|0x00022DFC
    _FSOUND_3D_Listener_SetAttributes@32|0x00022CBB
    _FSOUND_3D_Listener_SetCurrent@8|0x0002301C
    _FSOUND_3D_SetAttributes@12|0x0002304A
    _FSOUND_3D_SetDistanceFactor@4|0x00022F5B
    _FSOUND_3D_SetDopplerFactor@4|0x00022F32
    _FSOUND_3D_SetMinMaxDistance@12|0x0002845D
    _FSOUND_3D_SetRolloffFactor@4|0x00022FBE
    _FSOUND_CD_Eject@4|0x0002639B
    _FSOUND_CD_GetNumTracks@4|0x0002648E
    _FSOUND_CD_GetPaused@4|0x00026462
    _FSOUND_CD_GetTrack@4|0x0002647A
    _FSOUND_CD_GetTrackLength@8|0x000264A2
    _FSOUND_CD_GetTrackTime@4|0x00026501
    _FSOUND_CD_GetVolume@4|0x0002637D
    _FSOUND_CD_OpenTray@8|0x00026405
    _FSOUND_CD_Play@8|0x0002623E
    _FSOUND_CD_SetPaused@8|0x000262D2
    _FSOUND_CD_SetPlayMode@8|0x000262B9
    _FSOUND_CD_SetTrackTime@8|0x000264E7
    _FSOUND_CD_SetVolume@8|0x0002634B
    _FSOUND_CD_Stop@4|0x00026250
    _FSOUND_Close@0|0x0002273C
    _FSOUND_DSP_ClearMixBuffer@0|0x00028908
    _FSOUND_DSP_Create@12|0x000285E4
    _FSOUND_DSP_Free@4|0x0002864E
    _FSOUND_DSP_GetActive@4|0x00028811
    _FSOUND_DSP_GetBufferLength@0|0x0002890D
    _FSOUND_DSP_GetBufferLengthTotal@0|0x00028916
    _FSOUND_DSP_GetClearUnit@0|0x00028823
    _FSOUND_DSP_GetClipAndCopyUnit@0|0x000288EC
    _FSOUND_DSP_GetFFTUnit@0|0x00028877
    _FSOUND_DSP_GetMusicUnit@0|0x0002885B
    _FSOUND_DSP_GetPriority@4|0x000287D5
    _FSOUND_DSP_GetSFXUnit@0|0x0002883F
    _FSOUND_DSP_GetSpectrum@0|0x000288C5
    _FSOUND_DSP_MixBuffers@28|0x0002891F
    _FSOUND_DSP_SetActive@8|0x000287FF
    _FSOUND_DSP_SetPriority@8|0x000287A0
    _FSOUND_FX_Disable@4|0x00027DCC
    _FSOUND_FX_Enable@8|0x00027D0F
    _FSOUND_FX_SetChorus@32|0x00027E66
    _FSOUND_FX_SetCompressor@28|0x00027EFD
    _FSOUND_FX_SetDistortion@24|0x00027F97
    _FSOUND_FX_SetEcho@24|0x0002802B
    _FSOUND_FX_SetFlanger@32|0x000280BF
    _FSOUND_FX_SetGargle@12|0x0002815F
    _FSOUND_FX_SetI3DL2Reverb@52|0x000281E0
    _FSOUND_FX_SetParamEQ@16|0x0002829E
    _FSOUND_FX_SetWavesReverb@20|0x00028326
    _FSOUND_File_SetCallbacks@20|0x00010232
    _FSOUND_GetAmplitude@4|0x000272AC
    _FSOUND_GetCPUUsage@0|0x00022C80
    _FSOUND_GetChannelsPlaying@0|0x00022BAD
    _FSOUND_GetCurrentLevels@12|0x00027CA2
    _FSOUND_GetCurrentPosition@4|0x00027BD5
    _FSOUND_GetCurrentSample@4|0x00027C1B
    _FSOUND_GetDriver@0|0x000229E2
    _FSOUND_GetDriverCaps@8|0x00022A9B
    _FSOUND_GetDriverName@4|0x00022A49
    _FSOUND_GetError@0|0x00022CB5
    _FSOUND_GetFrequency@4|0x00027121
    _FSOUND_GetLoopMode@4|0x00027AE7
    _FSOUND_GetMaxChannels@0|0x00022B1E
    _FSOUND_GetMaxSamples@0|0x00022B3C
    _FSOUND_GetMemoryStats@8|0x00010D1E
    _FSOUND_GetMixer@0|0x00022A06
    _FSOUND_GetMute@4|0x0002778D
    _FSOUND_GetNumDrivers@0|0x00022A21
    _FSOUND_GetNumHWChannels@12|0x00022C21
    _FSOUND_GetNumHardwareChannels@0|0x00022C03
    _FSOUND_GetNumSubChannels@4|0x000283B4
    _FSOUND_GetOutput@0|0x00022998
    _FSOUND_GetOutputHandle@0|0x000229B3
    _FSOUND_GetOutputRate@0|0x00022B03
    _FSOUND_GetPan@4|0x000274E5
    _FSOUND_GetPaused@4|0x0002787B
    _FSOUND_GetPriority@4|0x0002793A
    _FSOUND_GetReserved@4|0x00027A07
    _FSOUND_GetSFXMasterVolume@0|0x0002204C
    _FSOUND_GetSpeakerMode@0|0x00022BA4
    _FSOUND_GetSubChannel@8|0x00028404
    _FSOUND_GetSurround@4|0x00027678
    _FSOUND_GetVersion@0|0x00022991
    _FSOUND_GetVolume@4|0x00027261
    _FSOUND_Init@12|0x000220FB
    _FSOUND_IsPlaying@4|0x00027C5C
    _FSOUND_PlaySound@8|0x00026EAB
    _FSOUND_PlaySoundEx@16|0x00026E24
    _FSOUND_Record_GetDriver@0|0x000291B9
    _FSOUND_Record_GetDriverName@4|0x00029100
    _FSOUND_Record_GetNumDrivers@0|0x000290C5
    _FSOUND_Record_GetPosition@0|0x000292DF
    _FSOUND_Record_SetDriver@4|0x00029151
    _FSOUND_Record_StartSample@8|0x000291EA
    _FSOUND_Record_Stop@0|0x000292B7
    _FSOUND_Reverb_GetChannelProperties@8|0x000233CB
    _FSOUND_Reverb_GetProperties@4|0x000232CC
    _FSOUND_Reverb_SetChannelProperties@8|0x00023304
    _FSOUND_Reverb_SetProperties@4|0x00023294
    _FSOUND_Sample_Alloc@28|0x0002967C
    _FSOUND_Sample_Free@4|0x0002970C
    _FSOUND_Sample_Get@4|0x0002AA91
    _FSOUND_Sample_GetDefaults@20|0x0002A9DD
    _FSOUND_Sample_GetDefaultsEx@32|0x0002A93F
    _FSOUND_Sample_GetLength@4|0x0002AA31
    _FSOUND_Sample_GetLoopPoints@12|0x0002A8E3
    _FSOUND_Sample_GetMinMaxDistance@12|0x0002A49C
    _FSOUND_Sample_GetMode@4|0x0002A9FD
    _FSOUND_Sample_GetName@4|0x0002AA65
    _FSOUND_Sample_Load@20|0x00029E09
    _FSOUND_Sample_Lock@28|0x0002A29B
    _FSOUND_Sample_SetDefaults@20|0x0002A8C2
    _FSOUND_Sample_SetDefaultsEx@32|0x0002A81A
    _FSOUND_Sample_SetLoopPoints@12|0x0002A4F0
    _FSOUND_Sample_SetMaxPlaybacks@8|0x0002A55F
    _FSOUND_Sample_SetMinMaxDistance@12|0x0002A416
    _FSOUND_Sample_SetMode@8|0x0002A381
    _FSOUND_Sample_Unlock@20|0x0002A338
    _FSOUND_Sample_Upload@12|0x0002A1F0
    _FSOUND_SetBufferSize@4|0x00021F16
    _FSOUND_SetCurrentPosition@8|0x00027B2B
    _FSOUND_SetDriver@4|0x00021E76
    _FSOUND_SetFrequency@8|0x00026FE3
    _FSOUND_SetFrequencyEx@8|0x00027083
    _FSOUND_SetHWND@4|0x00021F56
    _FSOUND_SetLoopMode@8|0x00027A4E
    _FSOUND_SetMaxHardwareChannels@4|0x000220B1
    _FSOUND_SetMemorySystem@20|0x00010BE6
    _FSOUND_SetMinHardwareChannels@4|0x00022067
    _FSOUND_SetMixer@4|0x00021ED4
    _FSOUND_SetMute@8|0x000276C9
    _FSOUND_SetOutput@4|0x00021DEA
    _FSOUND_SetPan@8|0x000273E1
    _FSOUND_SetPanSeperation@4|0x00022007
    _FSOUND_SetPaused@8|0x000277DD
    _FSOUND_SetPriority@8|0x000278C2
    _FSOUND_SetReserved@8|0x00027985
    _FSOUND_SetSFXMasterVolume@4|0x00021F82
    _FSOUND_SetSpeakerMode@4|0x00022B6D
    _FSOUND_SetSurround@8|0x000275F6
    _FSOUND_SetVolume@8|0x0002716C
    _FSOUND_SetVolumeAbsolute@8|0x0002730C
    _FSOUND_StopSound@4|0x00026F36
    _FSOUND_Stream_AddSyncPoint@12|0x0002EB88
    _FSOUND_Stream_Close@4|0x0002D0FF
    _FSOUND_Stream_Create@20|0x0002CF90
    _FSOUND_Stream_CreateDSP@16|0x0002E92F
    _FSOUND_Stream_DeleteSyncPoint@4|0x0002EC6A
    _FSOUND_Stream_FindTagField@20|0x0003193D
    _FSOUND_Stream_GetLength@4|0x0002E6E7
    _FSOUND_Stream_GetLengthMs@4|0x0002E71B
    _FSOUND_Stream_GetMode@4|0x0002E80B
    _FSOUND_Stream_GetNumSubStreams@4|0x0002E140
    _FSOUND_Stream_GetNumSyncPoints@4|0x0002ECC5
    _FSOUND_Stream_GetNumTagFields@8|0x0003186C
    _FSOUND_Stream_GetOpenState@4|0x0002E85C
    _FSOUND_Stream_GetPosition@4|0x0002E414
    _FSOUND_Stream_GetSample@4|0x0002E8F3
    _FSOUND_Stream_GetSyncPoint@8|0x0002ED0A
    _FSOUND_Stream_GetSyncPointInfo@8|0x0002ED47
    _FSOUND_Stream_GetTagField@24|0x000318B9
    _FSOUND_Stream_GetTime@4|0x0002E5FE
    _FSOUND_Stream_Net_GetBufferProperties@12|0x00030420
    _FSOUND_Stream_Net_GetLastServerStatus@0|0x00030585
    _FSOUND_Stream_Net_GetStatus@20|0x000305A2
    _FSOUND_Stream_Net_SetBufferProperties@12|0x000303C3
    _FSOUND_Stream_Net_SetMetadataCallback@12|0x0003064F
    _FSOUND_Stream_Net_SetNetDataCallback@8|0x000306A2
    _FSOUND_Stream_Net_SetProxy@4|0x0003046C
    _FSOUND_Stream_Net_SetTimeout@4|0x00030577
    _FSOUND_Stream_Open@16|0x0002CFCB
    _FSOUND_Stream_Play@8|0x0002D321
    _FSOUND_Stream_PlayEx@16|0x0002D335
    _FSOUND_Stream_SetBufferSize@4|0x0002ED85
    _FSOUND_Stream_SetEndCallback@12|0x0002D6A3
    _FSOUND_Stream_SetLoopCount@8|0x0002EAA8
    _FSOUND_Stream_SetLoopPoints@12|0x0002E9B6
    _FSOUND_Stream_SetMode@8|0x0002E78E
    _FSOUND_Stream_SetPCM@8|0x0002DA74
    _FSOUND_Stream_SetPosition@8|0x0002D7E1
    _FSOUND_Stream_SetSubStream@8|0x0002E129
    _FSOUND_Stream_SetSubStreamSentence@12|0x0002E1A7
    _FSOUND_Stream_SetSyncCallback@12|0x0002EB3C
    _FSOUND_Stream_SetTime@8|0x0002D7F8
    _FSOUND_Stream_Stop@4|0x0002D693
    _FSOUND_Update@0|0x000228F5
    Alles anzeigen

    Happy Intro Coding. :D

    Dateien

    FMOD.chm.zip 419,01 kB – 315 Downloads
  • VU-Meter auch für FMOD.dll?

    • UEZ
    • 28. November 2016 um 14:30

    Hier ein kleine Erweiterung der FMOD Memory UDF:

    AutoIt
    Func FSOUND_GetCurrentLevels($F_Channel = 2)
    	Local $tLeft = DllStructCreate("float l"), $tRight = DllStructCreate("float r")
    	Local $F_RetValue = MemoryDllCall($F_DLL, "int", "_FSOUND_GetCurrentLevels@12", _
    				              "int", $F_Channel, _
    				              "struct*", $tLeft, _
    				              "struct*", $tRight)
    	If Not $F_RetValue[0] Then Return SetError(1, 0, 0)
    	Local $F_LEVELS[2] = [$tLeft.l, $tRight.r]
    	Return $F_LEVELS
    EndFunc

    Kleiner Flimmer Beispiel als Anhang.


    Ich sehe, dass du auch "Demo / Intro" begeistert bist. :thumbup:

    Dateien

    Play MP3 from mem using FMOD + VU.zip 1,36 MB – 309 Downloads
  • Raupis Geburtstag

    • UEZ
    • 26. November 2016 um 13:32

    Einen Hammer geilen Geburtstag wünsche ich dir und möge Thor immer dir zur Seite stehen.

    Die 50 rückt näher... :P

  • Fertiges AutoIT Skript funktioniert nur richtig, wenn AUTOIT installiert ist!

    • UEZ
    • 24. November 2016 um 13:37

    ConsoleWrite is kein File I/O, sondern nur die Textausgabe zu der Console - mehr nicht.

  • Fertiges AutoIT Skript funktioniert nur richtig, wenn AUTOIT installiert ist!

    • UEZ
    • 24. November 2016 um 10:02
    AutoIt
    Dim $var2 = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\UNINSTALL\"&$var, "DisplayName")
    	ConsoleWrite($var2&@CRLF)
    	If @error then ExitLoop

    @error bezieht sich in diesem Fall auf ConsoleWrite und nicht auf RegRead, sprich die For/Next Schleife läuft zwangsmäßig bis 999, da ConsoleWrite nie einen Fehler zurück gibt.

    Ansonsten kann ich beim Überfliegen nichts weiter erkennen.

  • Assemblercode - Noch optimierbar?

    • UEZ
    • 23. November 2016 um 22:43

    Test System (CPU): Intel(R) Core(TM) i5-4300U @2,5 GHz

    Mars:

    Code
    Benötigte Zeit [ms]:  86
                     PI:  3.1415925535897933


    Andy:

    Code
    : $pi Leibnitz = 3.14159255358581
    : Time [ms] = 28.442786194246


    UEZ:

    Code
    1) VS2015_C++_Leibniz-PI_x64
    Pi: 3.1415925535897915  53.861474000000001 ms for 10000000 iterations.
    2) VS2015_C++_Leibniz-PI_x86
    Pi: 3.1415925535897915  54.446914999999997 ms for 10000000 iterations.
    3) FB_Leibniz-PI_x86
    PI: 3.141592553589792       127.8968800324947 ms for 10000000 iterations.

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™