Seite 27 von 31
Verfasst: 14.10.2006 13:29
von hardfalcon
Ich hab mich gestern mal etwas mit Hooks auseinandergesetzt, aber ich bin auf keinen grünen Zweig gekommen... Die Procedure, die das Hook verarbeitet, scheint ja ziemlich einfach zu coden sein, aber um das Hook überhaupt mal zu setzen, das geht irgendwie zum VErrecken nicht...

Verfasst: 14.10.2006 16:03
von Lukaso
hardfalcon hat geschrieben:Ich hab mich gestern mal etwas mit Hooks auseinandergesetzt, aber ich bin auf keinen grünen Zweig gekommen... Die Procedure, die das Hook verarbeitet, scheint ja ziemlich einfach zu coden sein, aber um das Hook überhaupt mal zu setzen, das geht irgendwie zum VErrecken nicht...

habs
Eine Stunde MSDN Studieren und probieren
mouse.include.pb
Code: Alles auswählen
Structure uPoint
lXPos.l
lYPos.l
EndStructure
Structure uRect
lLeft.l
lTop.l
lRight.l
lBottom.l
EndStructure
Structure uMsLLHookStruct
uPoint.uPoint
lMouseData.l
lFlags.l
lTime.l
lExtraInfo.l
EndStructure
Procedure.b MouseOverWindow(lWindow.l)
Protected bRetVal.b = #False
If IsWindow(lWindow)
Protected uMouse.uPoint, uWindowRect.uRect
GetWindowRect_(WindowID(lWindow), uWindowRect)
GetCursorPos_(uMouse)
If uMouse\lXPos >= uWindowRect\lLeft And uMouse\lXPos <= uWindowRect\lRight And uMouse\lYPos >= uWindowRect\lTop And uMouse\lYPos <= uWindowRect\lBottom
bRetVal = #True
EndIf
EndIf
ProcedureReturn bRetVal
EndProcedure
Procedure.w MouseWheelDelta(wParam.l)
Protected wWheel.w = ((wParam >> 16) & $FFFF)
ProcedureReturn - (wWheel / 120)
EndProcedure
Procedure.l MouseWheelHookCallback(lCode.l, wParam.l, *lParam.uMsLLHookStruct)
If lCode = #HC_ACTION
If wParam = #WM_MOUSEWHEEL
If MouseOverWindow(#WindowMain)
Protected bMouseWheel.l = MouseWheelDelta(*lParam\lMouseData)
If bMouseWheel = 1
FmodExClose()
PlaylistSetNextElement()
FmodExOpen(uElement\sPath + uElement\sFile)
FmodExPlay()
ElseIf bMouseWheel = -1
FmodExClose()
PlaylistSetPreviousElement()
FmodExOpen(uElement\sPath + uElement\sFile)
FmodExPlay()
EndIf
ProcedureReturn #True
EndIf
EndIf
EndIf
ProcedureReturn CallNextHookEx_(0, lCode, wParam, *lParam)
EndProcedure
Procedure.l MouseWheelHookInstall()
Global lMouseHook.l = SetWindowsHookEx_(#WH_MOUSE_LL, @MouseWheelHookCallback(), GetModuleHandle_(0), 0)
ProcedureReturn lMouseHook
EndProcedure
Procedure MouseWheelHookRemove()
UnhookWindowsHookEx_(lMouseHook)
lMouseHook = #False
EndProcedure
MouseWheelHookInstall()
Gruß Lukas
Verfasst: 14.10.2006 18:52
von Tafkadasom2k5
Hey, geiles Konzept
Schick, schlank und nützlich..!
Nur habe ich ein paar MP3s gerade, die spielt er zwar ab, aber die ID3's sind irgendwie verwurschtelt...

Ich habe nachgeschaut, und es liegt nicht an mir...
Winamp sagt folgendes zu der MP3:
Ansonsten: Good Job!
Gr33tz
Tafkadasom2k5
Edit: Er macht das bei ALLEN weiteren Liedern jetzt... ö.Ö
Aber in den Playlisten wird es richtig angezeigt (auch wenn ich dort die ID3-Tags den Filenamen bevorzugen würde)
Einen Vorschlag hätte ich noch- vielleicht ist er schon integriert, aber dann habe ich ihn "auf die Schnelle" nicht gefunden:
Gibt es eine "Global-Hotkey-Funktion"? Ich würde gerne Sezialtasten belegen, um meine Maus nicht immer nach unten links zu bewegen...

Verfasst: 14.10.2006 19:45
von Lukaso
@Tafkadasom2k5,
das ist mir bei einigen MP3s auch aufgefallen. Kann sein das es an den ID3v2 Tags liegt. Muss ich mal näher untersuchen.
Ne Hotkey-Funktion gibt es noch nicht, die kommt aber noch, genauso wie ID3Tags im Menü
Grüße Lukas
Verfasst: 15.10.2006 15:38
von #NULL
eine kleine design sache

:
im playlist-fenster ist der 'progress'-balken irgendwie sehr rechts angeglitscht, zumal die lücke links daneben um so größer aussieht. und die farbe könnte bisschen dunkler sein, bzw der kontrast zum untergrund besser.
Verfasst: 17.10.2006 17:20
von RSBasic
@Lukaso
Ich habe eine Frage an dich. Wieviel Zeilen Code hast du insgesamt geschrieben? (Alle PB-Dateien zusammen zählen)

Verfasst: 17.10.2006 17:29
von armada
Lukaso hat geschrieben:@Tafkadasom2k5,
das ist mir bei einigen MP3s auch aufgefallen. Kann sein das es an den ID3v2 Tags liegt. Muss ich mal näher untersuchen.
Ne Hotkey-Funktion gibt es noch nicht, die kommt aber noch, genauso wie ID3Tags im Menü
Grüße Lukas
es gibt afaik mehrere version von id3v2...vielleicht liegt ja da das problem

Verfasst: 17.10.2006 19:38
von Lukaso
RSBasic hat geschrieben:@Lukaso
Ich habe eine Frage an dich. Wieviel Zeilen Code hast du insgesamt geschrieben? (Alle PB-Dateien zusammen zählen)

Die Version 0.27 (die, die es zum DL gibt) hat genau 4.989 Zeilen.
Den neuen den ich entwickle schätze ich auf 20.000 Zeilen ein.
Verfasst: 17.10.2006 19:52
von RSBasic
@Lukaso
WoW

Gute Arbeit

Verfasst: 20.10.2006 17:00
von Lukaso
Uff, endlich habe ich den komischen Crashbug behoben bekommen nachdem ich schon ein halbes Jahr suche. Desweiteren habe ich jetzt endlich den Player im Unicodemodus laufen und ein passender russischer Übersetzer hat sich auch schon gefunden. Jetzt können endlich die arabischen Leute ihre MP3s auch abspielen.
Werde in der kommenden Woche eine Vorabversion zum Vorabtesten veröffentlichen.
Lukas