TABLE OF CONTENTS Pkb.mcc/Pkb.mcc Pkb.mcc/MUIA_Pkb_Mode Pkb.mcc/MUIA_Pkb_AutoRelease Pkb.mcc/MUIA_Pkb_Current Pkb.mcc/MUIA_Pkb_Quiet Pkb.mcc/MUIA_Pkb_Pool Pkb.mcc/MUIA_Pkb_PoolPuddleSize Pkb.mcc/MUIA_Pkb_PoolThreshSize Pkb.mcc/MUIA_Pkb_Octv_Name Pkb.mcc/MUIA_Pkb_Octv_Base Pkb.mcc/MUIA_Pkb_Octv_Range Pkb.mcc/MUIA_Pkb_Octv_Start Pkb.mcc/MUIA_Pkb_Key_Release Pkb.mcc/MUIA_Pkb_Key_Press Pkb.mcc/MUIA_Pkb_Range_Head Pkb.mcc/MUIA_Pkb_Range_Start Pkb.mcc/MUIA_Pkb_Range_End Pkb.mcc/MUIA_Pkb_Low Pkb.mcc/MUIA_Pkb_High Pkb.mcc/MUIM_Pkb_Reset Pkb.mcc/MUIM_Pkb_Refresh Pkb.mcc/MUIM_Pkb_Range Pkb.mcc/MUIM_Pkb_Range_Reset Pkb.mcc/MUIM_Pkb_Range_Refresh Pkb.mcc/MUIM_Pkb_Jump Pkb.mcc/MUIA_Pkb_InputEnable Pkb.mcc/MUIA_Pkb_ExcludeLow Pkb.mcc/MUIA_Pkb_ExcludeHigh Pkb.mcc/Pkb.mcc Pkb je tÒÉda balÉku Magic User Interface © od Stefana Stuntze. Je to podtÒÉda tÒÉdy Virtgroup. CÉlem t×to tÒÉdy je poskytnutÉ klÁvesnice piÁna pro rÊzn× hudebnÉ aplikace. Pkb vyuÚÉvÁ rÊzn× barvy pro rÊzn× pracovnÉ mÏdy, kter× mohou bÙt kter× mohou bÙt zmÅnÅny uÚivatelem pomocÉ MCP. ProsÉm, podÉvejte se na program, kterÙ je pÒiloÚenÙ jako pÒÉklad, pro bliÚÓÉ detaily. Demo mÊÚe bÙ kompilovÁno pomocÉ Dice nebo StormC 2.0. POZNáMKY ZatÉm ÚÁdn×. Pkb.mcc/MUIA_Pkb_Mode JM÷NO MUIA_Pkb_Mode -- (V14.3) [ISG], ULONG FUNKCE NastavenÉ nebo vrÁcenÉ operaÃnÉho mÏdu klÁvesnice. VSTUPY MUIV_Pkb_Mode_NORMAL (zÁkladnÉ) MUIV_Pkb_Mode_SPECIAL MUIV_Pkb_Mode_RANGE POZNáMKY PrvnÉ dva mÏdy se liÓÉ pouze v barevn× reprezantaci stisknutÙch klÁves. TÒetÉ mÏd je pouÚit na oznaÃenÉ skupiny klÁves. MUIA_Pkb_Range_Start a MUIA_Pkb_Range_End atributy reprezentujÉ poÃÁteÃnÉ a koncovou kÁvesu POSLEDNå zvolen×ho rozsahu. V tomto mÏdu nenÉ nastaven MUIA_Pkb_Key_Release atribut v pÒÉpadÅ, Úe uÚivatel pustÉ tlaÃÉtko myÓi na poslednÉ klÁvese. REFERENCE MUIA_Pkb_Range_Head Pkb.mcc/MUIA_Pkb_AutoRelease NáZEV MUIA_Pkb_AutoRelease -- (V14.3) [ISG], BOOL FUNKCE NastavenÉ nebo detekce automatick×ho uvolnÅnÉ klÁvesy. VSTUPY -TRUE (zÁkladnÉ) -FALSE POZNáMKY JestliÚe je TRUE, klÁvesa je uvolnÅna a uÚivatel mÊÚe stisknout jinou klÁvesu. JestliÚe je FALSE, klÁvesa nenÉ uvolnÅna a jejÉ uvolnÅnÉ zÁvisÉ na aplikaci. REFERENCE MUIA_Pkb_Key_Press , MUIA_Pkb_Key_Release Pkb.mcc/MUIA_Pkb_Current NáZEV MUIA_Pkb_Current -- (V14.3) [..GN], LONG FUNKCE Detekuje kÏd poslednÉ hran× noty (poslednÉ stisknut× klÁvesy) uÚivatelem POZNáMKY NÁvratovÁ hodnota je v rozsahu 0 aÚ 131 a je nezÁvislÁ na poÃtu oktÁv, kter× mohou bÙt zobrazeny na hornÉ liÓtÅ. REFERENCE MUIA_Pkb_Octv_Start, MUIA_Pkb_Octv_Range, MUIA_Pkb_Key_Release Pkb.mcc/MUIA_Pkb_Quiet NáZEV MUIA_Pkb_Quiet -- (V14.3) [.S.], BOOL FUNKCE JestliÚe je nastaven na TRUE, ÚÁdn× klavesy nelze zmÁÃknout. REFERENCE MUIM_Pkb_Refresh Pkb.mcc/MUIA_Pkb_Pool NáZEV MUIA_Pkb_Pool -- (V14.3) [I.G], PoolHeader * FUNKCE PodÁ nÅkterÁ data z CreatePool(), jestliÚe nechcete vytvoÒit tabulku ve vlastnÉ oblasti pamÅti, ale z jiÚ alokovan×. Pkb tÒÉda NEPOUúéVá protekci semaforÊ pÒi pÒÉstupu do oblasti pamÅti. NESMéTE pouÚÉt oblasti pamÅti, kter× jsou pÒÉstupn× jinÙm procesÊm neÚ hlavnÉmu procesu programu. REFERENCE MUIA_Pkb_PoolPuddleSize, MUIA_Pkb_PoolThreshSize Pkb.mcc/MUIA_Pkb_PoolPuddleSize NáZEV MUIA_Pkb_PoolPuddleSize -- (V14.3) [I..], ULONG FUNKCE Specifikuje velikost pro tabulku oblasti pamÅti. ZÁkladnÉ hodnota je 2048. Tato hodnota je ignorovÁna, jestliÚe specifikujete vlastnÉ oblast pomocÉ MUIA_Pkb_Pool. REFERENCE MUIA_Pkb_Pool, MUIA_Pkb_PoolThreshSize Pkb.mcc/MUIA_Pkb_PoolThreshSize NáZEV MUIA_Pkb_PoolThreshSize -- (V14.3) [I..], ULONG FUNKCE Specifikuje velikost prahu pro tabulku oblasti pamÅti. ZÁkladnÉ nastavenÉ je 1024. Tato hodnota je ignorovÁna, jestliÚe specifikujete vlastnÉ oblast pomocÉ MUIA_Pkb_Pool. REFERENCE MUIA_Pkb_Pool, MUIA_Pkb_PoolPuddleSize Pkb.mcc/MUIA_Pkb_Octv_Name NáZEV MUIA_Pkb_Octv_Name -- (V14.3) [I..], BOOL FUNKCE Indikuje, kterÁ liÓta se zobrazÉ nad klÁvesnicÉ. REFERENCE Pkb.mcc/MUIA_Pkb_Octv_Base NáZEV MUIA_Pkb_Octv_Base -- (V14.3) [I..], LONG FUNKCE Indikuje poÃÁteÃnÉ ÃÉslo, kter× se zobrazÉ na liÓtÅ nad klÁvesnicÉ. POZNáMKY VarovÁnÉ: kÏdy klÁves NEJSOU ovlivnÅny ÃÉslem oktÁvy zobrazen× na liÓtÅ. REFERENCE MUIA_Pkb_Octv_Name Pkb.mcc/MUIA_Pkb_Octv_Range NáZEV MUIA_Pkb_Octv_Range -- (V14.3) [I...], ULONG FUNKCE Indikuje, kolik oktÁv bude zobrazeno na klÁvesnici. MoÚn× hodnoty: 1...11 REFERENCE Pkb.mcc/MUIA_Pkb_Octv_Start NáZEV MUIA_Pkb_Octv_Start -- (V14.3) [I.G], ULONG FUNKCE Indikuje poÃÁteÃnÉ oktÁvu pro klÁvesnici. POZNáMKY VarovÁnÉ: MUIA_Pkb_Octv_Start + MUIA_Pkb_Octv_Range MUSé bÙt <= 11, jinak MUIA_Pkb_Octv_Start bude automaticky sniÚovÁno, dokud nebude platit podmÉnka. REFERENCE Pkb.mcc/MUIA_Pkb_Key_Release NáZEV MUIA_Pkb_Key_Release -- (V14.3) [.S.N], ULONG FUNKCE UvolnÅnÉ klÁvesy. POZNáMKY Rozsah kÏdu klÁves mezi 0 a 131 nenÉ zÁvislÙ na ÃÉsle oktÁvy, kter× je zobrazeno na hornÉ liÓtÅ. REFERENCE MUIA_Pkb_Octv_Start, MUIA_Pkb_Octv_Range, MUIA_Pkb_Key_Press Pkb.mcc/MUIA_Pkb_Key_Press NáZEV MUIA_Pkb_Key_Press -- (V14.3) [.S..], ULONG FUNKCE StisknutÁ klÁvesa. POZNáMKY Rozsah kÏdu klÁves mezi 0 a 131 nenÉ zÁvislÙ na ÃÉsle oktÁvy, kter× je zobrazeno na hornÉ liÓtÅ. REFERENCE MUIA_Pkb_Octv_Start, MUIA_Pkb_Octv_Range, MUIA_Pkb_Key_Release Pkb.mcc/MUIA_Pkb_Range_Head NáZEV MUIA_Pkb_Range_Head -- (V14.3) [.SGM], ULONG FUNKCE NastavenÉ nebo vrÁcenÉ skupiny v mÏdu oznaÃenÉ rozsahu. VSTUPY MUIV_Pkb_Range_Head_OFF MUIV_Pkb_Range_Head_BOT MUIV_Pkb_Range_Head_TOP REFERENCE MUIA_Pkb_Mode Pkb.mcc/MUIA_Pkb_Range_Start NáZEV MUIA_Pkb_Range_Start -- (V14.3) [.SGM], LONG FUNKCE NastavenÉ nebo vrÁcenÉ kÏdu nejniÚÓÉ noty v poslednÉm aktivnÉm rozsahu. POZNáMKY PÒi nastavovÁnÉ by hodnota mÅla bÙt kladnÁ. PÒi zjiÓÔovÁnÉ hodnoty tento atribut vÚdy vracÉ hodnotu mezi 0 a 131 nebo -1, jestliÚe nenÉ zvolen ÚÁdnÙ rozsah. REFERENCE MUIA_Pkb_Range_End, MUIA_Pkb_Mode Pkb.mcc/MUIA_Pkb_Range_End NáZEV MUIA_Pkb_Range_End -- (V14.3) [.SGM], LONG FUNKCE NastavenÉ nebo vrÁcenÉ kÏdu nejvyÓÓÉ noty v poslednÉm aktivnÉm rozsahu. POZNáMKY PÒi nastavovÁnÉ by hodnota mÅla bÙt kladnÁ. PÒi zjiÓÔovÁnÉ hodnoty tento atribut vÚdy vracÉ hodnotu mezi 0 a 131 nebo -1, jestliÚe nenÉ zvolen ÚÁdnÙ rozsah. REFERENCE MUIA_Pkb_Range_Start, MUIA_Pkb_Mode Pkb.mcc/MUIA_Pkb_Low NáZEV MUIA_Pkb_Low -- (V14.3) [..G.], ULONG FUNKCE VracÉ kÏd nejniÚÓÉ noty klÁvesnice. REFERENCE MUIA_Pkb_High Pkb.mcc/MUIA_Pkb_High NáZEV MUIA_Pkb_High -- (V14.3) [..G.], ULONG FUNKCE VracÉ kÏd nejvyÓÓÉ noty klÁvesnice. REFERENCE MUIA_Pkb_Low Pkb.mcc/MUIM_Pkb_Reset NáZEV MUIM_Pkb_Reset POUúITé DoMethod(obj, MUIM_Pkb_Reset); FUNKCE Resetuje klÁvesnici uvolnÅnÉm vÓech klÁves. REFERENCE Pkb.mcc/MUIM_Pkb_Refresh NáZEV MUIM_Pkb_Refresh -- (V14.3) POUúITé DoMethod(obj, MUIM_Pkb_Refresh); FUNKCE ObnovÉ klÁvesnici. POZNáMKY Tato metoda mÊÚe bÙt pouÚita v pÒÉpadÅ, Úe doÓlo k nÅkterÙm zmÅnÁm pÒi nastaven×m atributu MUIA_Pkb_Quiet na hodnotu TRUE. REFERENCE MUIA_Pkb_Quiet Pkb.mcc/MUIM_Pkb_Range NáZEV MUIM_Pkb_Range -- (V14.3) POUúITé DoMethod(obj, MUIM_Pkb_Range, ULONG nstart, ULONG nend); FUNKCE VytvoÒÉ rozsah mezi hodnotami nstart a nend. POZNáMKY Hodnota nstart nemusÉ bÙt menÓÉ neÚ hodnota nend, ale obÅ hodnoty musÉ bÙt v rozsahu hodnot 0...131. REFERENCE MUIA_Pkb_Range_Start, MUIA_Pkb_Range_End Pkb.mcc/MUIM_Pkb_Range_Reset NáZEV MUIM_Pkb_Range_Reset -- (V14.3) POUúITé DoMethod(obj, MUIM_Pkb_Range_Reset); FUNKCE Resetuje poslednÉ aktvinÉ rozsah tak, Úe uvolnÉ vÓechny klÁvesy, kter× do rozsahu patÒÉ. POZNáMKY Po volÁnÉ t×to metody MUIA_Pkb_Range_Start a MUIA_Pkb_Range_End atributy jsou resetovÁny. REFERENCE MUIA_Pkb_Range_Start, MUIA_Pkb_Range_End Pkb.mcc/MUIM_Pkb_Range_Refresh NáZEV MUIM_Pkb_Range_Refresh -- (V14.3) POUúITé DoMethod(obj, MUIM_Pkb_Range_Refresh); FUNKCE ObnovÉ aktivnÉ rozsah, a to takovou skupinu not, kterÁ leÚÉ mezi hodnotami MUIA_Pkb_Range_Start a MUIA_Pkb_Range_End. REFERENCE MUIA_Pkb_Range_Start, MUIA_Pkb_Range_End Pkb.mcc/MUIM_Pkb_Jump NáZEV MUIM_Pkb_Jump -- (V14.3) POUúITé DoMethod(obj, MUIM_Pkb_Jump, ULONG ncode); FUNKCE SkoÃÉ na notu, reprezentujÉcÉ kÏd ncode, coÚ znamenÁ, Úe ji uÃinÉ viditelnou. POZNáMKY Hodnota ncode musÉ bÙt nezbytnÅ uvnitÒ rozsahu klÁvesnice, dan× hodnotami MUIA_Pkb_Low a MUIA_Pkb_High. REFERENCE MUIA_Pkb_Range_Start, MUIA_Pkb_Range_End Pkb.mcc/MUIA_Pkb_InputEnable NáZEV MUIA_Pkb_InputEnable -- (V14.4) [ISG], BOOL FUNKCE PovolÉ nebo zakÁÚe moÚnost interakce s klÁvesnicÉ. VSTUPY TRUE (zÁkladnÉ) FALSE POZNáMKY PouÚijte tento atribut, jestliÚe nechcete, aby klÁvesnice reagovala na jak×koli stisknutÉ jak×koli klÁvesy, coÚ znamenÁ, Úe nebudou posÉlÁny jak×koli udÁlosti. JestliÚe nastavÉte MUIA_Pkb_Quiet na TRUE, klÁvesnice bude vypadat, Úe nereaguje, protoÚe nebudou obnovovÁny klÁvesy, ale atributy, zÁvisejÉcÉ na stisku nebo uvolnÅnÉ klÁvesy (jako napÒ. MUIA_Pkb_Key_Release, MUIA_Pkb_Key_Press atd.) budou aktualizovÁny. REFERENCE MUIA_Pkb_Quiet Pkb.mcc/MUIA_Pkb_ExcludeLow NáZEV MUIA_Pkb_ExcludeLow -- (V14.4) [ISG], ULONG FUNKCE NastavÉ nebo vrÁtÉ poÃet pÊltÏnÊ vyjmut× z nejniÚÓÉ ÃÁsti klÁvesnice. VSTUPY 0 : nebudou vylouÃeny ÚÁdn× klÁvesy (zÁkladnÉ stav) 1...11 : vylouÃenÉ C...Bb POZNáMKY TÒÉda Pkb NEMêúE vykreslovat nekompletnÉ oktÁvy JenÚe, nÅkdy potÒebujete mÉt klÁvesnici, kterÁ zaÃÉnÁ notou rÊznou od typick×ho C. To lze udÅlat tak, Úe pÒiÒadÉte MUIA_Pkb_ExcludeLow adekvÁtnÉ poÃet pÊltÏnÊ. VylouÃen× klÁvesy se sice zobrazÉ, ale budou mÉt jinou barvu a nebudou reagovat. REFERENCE MUIA_Pkb_ExcludeHigh Pkb.mcc/MUIA_Pkb_ExcludeHigh NáZEV MUIA_Pkb_ExcludeHigh -- (V14.4) [ISG], ULONG FUNKCE NastavÉ nebo vrÁtÉ poÃet pÊltÏnÊ vyjmut× z nejvyÓÓÉ ÃÁsti klÁvesnice. VSTUPY 0 : ÚÁdn× klÁvesy nejsou vylouÃeny (zÁkladnÉ stav) 1...11 : vylouÃenÉ B...Db POZNáMKY TÒÉda Pkb NEMêúE vykreslovat nekompletnÉ oktÁvy JenÚe, nÅkdy potÒebujete mÉt klÁvesnici, kterÁ konÃÉ notou rÊznou od typick×ho B. To lze udÅlat tak, Úe pÒiÒadÉte MUIA_Pkb_ExcludeHigh adekvÁtnÉ poÃet pÊltÏnÊ. VylouÃen× klÁvesy se sice zobrazÉ, ale budou mÉt jinou barvu a nebudou reagovat. REFERENCE MUIA_Pkb_ExcludeLow