Virtual Dj vezérlő
Igen, jól érted! Keys.Valami a gomb, lehet így Ctrl, Shift-et, stb lenyomni. Csak az ékezetes betűk vannak máshogy, ha "é"-t akarsz: Keys.É helyett -->186. Szóval így:herc1234 írta:Jól értem ha a soros porton jön valami kiváltasz egy keybd_event
eseményt mégpedig azt hogy lenyom /felenged.A Keys pedig az
hogy melyik gombot nyomtad le?
Na ezt nem tudtam hogyan kell.
És ez olyan mintha hardwares esemény történt volna?
Kód: Egész kijelölése
keybd_event(186, MapVirtualKey(186, 0), KEYEVENTF_KEYDOWN, 0)
keybd_event(186, MapVirtualKey(186, 0), KEYEVENTF_KEYUP, 0)
Azt viszont nem tudom, hogy ez olyan mintha hardwares esemény történt volna.
Bence
- nobody_hun
- Bitfaragó
- Hozzászólások: 425
- Csatlakozott: 2005. november 14. hétfő, 7:00
Timer interval? De van az MSCOMM is olyan event-je, amely adat érkezésekor ad megszakítást.Bence írta:Először úgy csináltam, és sokkal lassabb volt. Amikor eltekertem a potmétert és a VDJ-ben szép lassan átment, most így, rögtön megy utána a potméter. Most azt találtam ki, hogy lesz két program, az egyik elindítja a másikat, a 2. láthatatlan és az 1.-ből be lehet zárni a 2.-at.
Bár jó az új ötleted is, csak nem túl elegáns...
"Az IC-k füsttel működnek. Ha kijön belőlük a füst, nem működnek tovább." - ismeretlen szerző
"Az ID:FFFFFF egyenlő az Atmel még nem kiadott processzorával."
"Az ID:FFFFFF egyenlő az Atmel még nem kiadott processzorával."
- nobody_hun
- Bitfaragó
- Hozzászólások: 425
- Csatlakozott: 2005. november 14. hétfő, 7:00
Részemről a szerencse!
A Timer.Interval=1 túl gyors volt (1 ms). A timer megszakítása miatt nem várta meg az érkezett teljes adatot, hanem folyton olvasott.
Két soros olvasás között (ha van egy adó ami folyton ad) kb. 100-500 ms-t szoktam várni két beolvasás között, a várt adat hosszától függően.
A Timer.Interval=1 túl gyors volt (1 ms). A timer megszakítása miatt nem várta meg az érkezett teljes adatot, hanem folyton olvasott.
Két soros olvasás között (ha van egy adó ami folyton ad) kb. 100-500 ms-t szoktam várni két beolvasás között, a várt adat hosszától függően.
"Az IC-k füsttel működnek. Ha kijön belőlük a füst, nem működnek tovább." - ismeretlen szerző
"Az ID:FFFFFF egyenlő az Atmel még nem kiadott processzorával."
"Az ID:FFFFFF egyenlő az Atmel még nem kiadott processzorával."
Sziasztok!
Nem fejeztem be a projektet, csak még nem vettem meg az alkatrészeket, így még mindig csak próbapanelen 5 potméterrel van összedobva az egész.
Az jutott eszembe, hogy úgy kéne megcsináni a vezérlőt, hogy legyen egy LCD rajta, amin kiírja a BPM-et, hátralévő időt, szám címét, stb. Ezeket az adatokat valahogy meg lehet tudni a VDJ-től. Elvileg három lehetőség van:
1.: Írnom kéne egy plugin-t (egyetlen probléma: ahogy elnéztem a VDJ fórumot mindenki c++ írt plugin-okat, én meg azt nem ismerem )
2.: Elvileg az új VDJ-ben lehet HID controllereket definiálni. Ha valaki el tudná magyarázni, hogy pontosan mi az a HID (egy szabvány? ) az jó lenne! Azt tudom, hogy a USB-s billentyűzetek is így működnek. HID-del lehet adatot küldeni és fogadni? AVR-el ez megvalósítható?
3.: Lehet MIDI controllereket is definiálni. Ez alapból kb alapból kiesik, mert nincs a gépemen MIDI port (így építeni/venni kéne valami átalakítót) és azt se ismerem.
Ha valaki elmagyarázza hogy mi az a HID annak köszönöm!
Nem fejeztem be a projektet, csak még nem vettem meg az alkatrészeket, így még mindig csak próbapanelen 5 potméterrel van összedobva az egész.
Az jutott eszembe, hogy úgy kéne megcsináni a vezérlőt, hogy legyen egy LCD rajta, amin kiírja a BPM-et, hátralévő időt, szám címét, stb. Ezeket az adatokat valahogy meg lehet tudni a VDJ-től. Elvileg három lehetőség van:
1.: Írnom kéne egy plugin-t (egyetlen probléma: ahogy elnéztem a VDJ fórumot mindenki c++ írt plugin-okat, én meg azt nem ismerem )
2.: Elvileg az új VDJ-ben lehet HID controllereket definiálni. Ha valaki el tudná magyarázni, hogy pontosan mi az a HID (egy szabvány? ) az jó lenne! Azt tudom, hogy a USB-s billentyűzetek is így működnek. HID-del lehet adatot küldeni és fogadni? AVR-el ez megvalósítható?
3.: Lehet MIDI controllereket is definiálni. Ez alapból kb alapból kiesik, mert nincs a gépemen MIDI port (így építeni/venni kéne valami átalakítót) és azt se ismerem.
Ha valaki elmagyarázza hogy mi az a HID annak köszönöm!
Bence
HID : Human Interface Device.
http://en.wikipedia.org/wiki/USB_human_ ... vice_class
Game/Kbd/Mice
Az oprendszerek beépítve tartalmazzák és rendszerhívásokon át macerálhatóak...
http://en.wikipedia.org/wiki/USB_human_ ... vice_class
Game/Kbd/Mice
Az oprendszerek beépítve tartalmazzák és rendszerhívásokon át macerálhatóak...
Ezzel: http://www.mcselec.com/index.php?option ... uct_id=173 meg lehet csinálni? Alul van egy PDF fájl azzal a forráskóddal meg lehet csinálni vagy fizetni kell érte?
Bence
A Virtual Dj-ben úgy kell konfigurálni a kontrollert, hogy egy .xml fájlba kell leírni a dolgokat. A VID-et és a PID-et a fájlban kell megadni.
Így néz ki az .xml fájl.
(Bővebben egyébként itt van leírva: http://www.virtualdj.com/wiki/Controlle ... onHID.html )
A HID nem olyan mint például a soros port, hogy megadom az általam épített rendszer VID/PID-ét és tud komunikálni? Azt hittem így meg lehet csinálni, de lehet hogy egyszerűbb írni egy plugin-t.
Kód: Egész kijelölése
<?xml version="1.0" encoding="UTF-8"?>
<device name="MYCONTROLLER" author="Me" type="HID" decks="1" vid="0x1234" pid="0x0100" reportsize="32">
<page type="in">
...
</page>
<page type="out">
...
</page>
</device>
(Bővebben egyébként itt van leírva: http://www.virtualdj.com/wiki/Controlle ... onHID.html )
A HID nem olyan mint például a soros port, hogy megadom az általam épített rendszer VID/PID-ét és tud komunikálni? Azt hittem így meg lehet csinálni, de lehet hogy egyszerűbb írni egy plugin-t.
Bence
Sziasztok sikerült!
Akit érdekel itt a driver: CBX serial driver és az előző hozzászólásomban rosszul írtam, a baud rate: 38400. A MIDI üzeneteket így kell küldeni:
XX helyére a hexadecimális számot, a végére fontos a pontosvessző. A NOTE 1 az 1 csatornán 127-es értékkel így néz ki:
Akit érdekel itt a driver: CBX serial driver és az előző hozzászólásomban rosszul írtam, a baud rate: 38400. A MIDI üzeneteket így kell küldeni:
Kód: Egész kijelölése
Print Chr(&HXX) ;
Kód: Egész kijelölése
Print Chr(&H90) ; Chr(&H01) ; Chr(&H7f) ;
Bence
Jó kérdés. Mivel az RS485-öt nem ismerem, nem tudom, de ha ugyan olyan jeleket küld mint az RS232 akkor igen. És még egy dolog amit elfelejtettem: így kell bekötni az RS232-t (nem csak az RX és TX-et).
Bence