DDK - Balíček pro tvorbu designu Pulse MP >  Tutoriál pro tvorbu designu Pulse MP Obsah    Index   Předcházející   Následující
 
   

Tutoriál pro tvorbu designu Pulse MP

Ukázka tvorby Pulse design.


Vytvoření ukázkového designu Eonic

Tento tutoriál Vám ukáže, jak vytvořit design Eonic. Nebudeme implementovat úplně všechny prvky, ale zaměříme se na všechny typy ovládácích prvků a na grafické a vizuální objekty.


Hlavička designu


    
    #include "Stdlib.di"

    Header {
        name    ="Eonic";
        filename="..\\Eonic";
        author  ="Lukas Klesal / Axl";
        debug   =off;
    };
    
  

Příkaz include vloží do designu nadefinované standardní menu a akcelerátory kláves.

Následuje deklarace grafických objektů a způsobu vykreslování animace. V deklaraci grafických objektů nezáleží na pořadí. Po nadeklarování všech grafických objektů vytvoříme vizuální objekty.


Deklarace pozadí aplikace

Grafický soubor, který použijeme na deklaraci pozadí grafického objektu gBase vypadá takto.



    
      gBase "n_back" {
          source="n_back.png";
          flg   =BASEG_USEMASK;
      }
    
  

Deklarace animovaného loga

Logo používá grafický objekt gAnimBase. Později jej použijeme ve vizuálním objektu vFocus.



    
      gAnimBase "n_logo" {
          source="n_logo.png";
          frame =99,10;
          flg   =BASEANIM_USEMASK|BASEANIM_SPEED3;
          phase1=BASEANIMP_ENABLE|BASEANIMP_REPEAT|BASEANIMP_REVERSIBLE;
      }
    
  

Deklarace tlačítek

Tlačítka používají grafický objekt gAnimBase. Tyto objekty později použijeme jako vizuální objekt vButton.



    
      gAnimBase "n_play" {
          source="new_play.png";
          frame =32,12;
          flg   =BASEANIM_USEMASK|BASEANIM_SPEED2;
          phase2=BASEANIMP_ENABLE|BASEANIMP_REPEAT|BASEANIMP_REVERSIBLE;
      }
    
  

Tlačítka používají grafický objekt gAnimBase. Tyto objekty později použijeme jako vizuální objekt vButton.



    
      gAnimBase "n_stop" {
          source="new_stop.png";
          frame =35,12;
          flg   =BASEANIM_USEMASK|BASEANIM_SPEED2;
          phase2=BASEANIMP_ENABLE|BASEANIMP_REPEAT|BASEANIMP_REVERSIBLE;
      }
    
  

Tlačítka používají grafický objekt gAnimBase. Tyto objekty později použijeme jako vizuální objekt vButton.



    
      gAnimBase "n_pause" {
          source="new_pause.png";
          frame =32,12;
          flg   =BASEANIM_USEMASK|BASEANIM_SPEED2;
          phase3=BASEANIMP_ENABLE|BASEANIMP_REPEAT|BASEANIMP_REVERSIBLE|BASEANIMP_RELATIVE;
          phase4=BASEANIMP_ENABLE|BASEANIMP_REPEAT|BASEANIMP_REVERSIBLE|BASEANIMP_RELATIVE;
      }
    
  

Tlačítka používají grafický objekt gAnimBase. Tyto objekty později použijeme jako vizuální objekt vButton.



    
      gAnimBase "n_prev" {
          source="new_prev.png";
          frame =35,12;
          flg   =BASEANIM_USEMASK|BASEANIM_SPEED2;
          phase2=BASEANIMP_ENABLE|BASEANIMP_REPEAT|BASEANIMP_REVERSIBLE;
      }
    
  

Tlačítka používají grafický objekt gAnimBase. Tyto objekty později použijeme jako vizuální objekt vButton.



    
      gAnimBase "n_next" {
          source="new_next.png";
          frame =35,12;
          flg   =BASEANIM_USEMASK|BASEANIM_SPEED2;
          phase2=BASEANIMP_ENABLE|BASEANIMP_REPEAT|BASEANIMP_REVERSIBLE;
      }
    
  

Tlačítka používají grafický objekt gAnimBase. Tyto objekty později použijeme jako vizuální objekt vButton.



    
      gAnimBase "n_exit" {
          source="n_exit.png";
          frame =12,15;
          flg   =BASEANIM_USEMASK|BASEANIM_SPEED3;
          phase2=BASEANIMP_ENABLE;
      }
    
  

Tlačítka používají grafický objekt gAnimBase. Tyto objekty později použijeme jako vizuální objekt vButton.



    
      gAnimBase "n_mini" {
          source="n_mini.png";
          frame =12,15;
          flg   =BASEANIM_USEMASK|BASEANIM_SPEED3;
          phase2=BASEANIMP_ENABLE;
      }
    
  

Tlačítka používají grafický objekt gAnimBase. Tyto objekty později použijeme jako vizuální objekt vButton.



    
      gAnimBase "n_scheme_prev" {
          source="n_scheme_prev.png";
          frame =12,15;
          flg   =BASEANIM_USEMASK|BASEANIM_SPEED3;
          phase2=BASEANIMP_ENABLE;
      }
    
  

Tlačítka používají grafický objekt gAnimBase. Tyto objekty později použijeme jako vizuální objekt vButton.



    
      gAnimBase "n_scheme_next" {
          source="n_scheme_next.png";
          frame =12,15;
          flg   =BASEANIM_USEMASK|BASEANIM_SPEED3;
          phase2=BASEANIMP_ENABLE;
      }
    
  

Tlačítka používají grafický objekt gAnimBase. Tyto objekty později použijeme jako vizuální objekt vButton.



    
      gAnimBase "n_open" {
          source="n_open.png";
          frame =30,12;
          flg   =BASEANIM_USEMASK|BASEANIM_SPEED2;
          phase3=BASEANIMP_ENABLE|BASEANIMP_REPEAT|BASEANIMP_REVERSIBLE|BASEANIMP_RELATIVE;
          phase4=BASEANIMP_ENABLE|BASEANIMP_REPEAT|BASEANIMP_REVERSIBLE|BASEANIMP_RELATIVE;
      }
    
  

Tlačítka používají grafický objekt gAnimBase. Tyto objekty později použijeme jako vizuální objekt vButton.



    
      gAnimBase "n_database" {
          source="n_database.png";
          frame =30,12;
          flg   =BASEANIM_USEMASK|BASEANIM_SPEED2;
          phase3=BASEANIMP_ENABLE|BASEANIMP_REPEAT|BASEANIMP_REVERSIBLE|BASEANIMP_RELATIVE;
          phase4=BASEANIMP_ENABLE|BASEANIMP_REPEAT|BASEANIMP_REVERSIBLE|BASEANIMP_RELATIVE;
      }
    
  

Tlačítka používají grafický objekt gAnimBase. Tyto objekty později použijeme jako vizuální objekt vButton.



    
      gAnimBase "n_playlist" {
          source="n_playlist.png";
          frame =30,12;
          flg   =BASEANIM_USEMASK|BASEANIM_SPEED2;
          phase3=BASEANIMP_ENABLE|BASEANIMP_REPEAT|BASEANIMP_REVERSIBLE|BASEANIMP_RELATIVE;
          phase4=BASEANIMP_ENABLE|BASEANIMP_REPEAT|BASEANIMP_REVERSIBLE|BASEANIMP_RELATIVE;
      }
    
  

Deklarace seek baru

Pro seek bar použijeme grafický objekt gBase.



    
      gBase "n_progress_track" {
          source="n_progress_track.png";
          flg=BASEG_USEMASK;
      }
    
  

Pro indikaci pozice použijeme grafický objekt gBase. Obrázek byl pro dokumentaci zmenšen a proto neodpovídá reálné velikosti.



    
      gBase "n_progress" {
          source="n_progress.png";
          offset=8;
          flg   =BASEG_USEMASK;
      }
    
  

Deklarace Fontu

Pro název skladby použijeme grafický objekt gFont. Obrázek byl pro dokumentaci zmenšen a proto neodpovídá reálné velikosti.



    
      gFont "n_font_title" {
          source="font_title.png";
          offset=12;
          spacing=1;
          flg     =FONT_SORTX|FONT_USEMASK|FONT_PROPORTIONAL;
      }
    
  

Pro pozici skladby použijeme grafický objekt gFont. Obrázek byl pro dokumentaci zmenšen a proto neodpovídá reálné velikosti.



    
      gFont "n_font_big" {
          source="font_numbers_big.png";
          offset=9;
          spacing=0;
          flg     =FONT_SORTX|FONT_USEMASK;
      }
    
  

Pro oddělení minut a sekund použijeme grafický objekt gBase.



    
      gBase "n_minus_big" {
          source="font_minus_big.png";
          offset=13;
      }   
    
  

Pro zobrazení znaménka mínus při zobrazení zbývajícího času skladby použijeme grafický objekt gBase.



    
      gBase "n_colon_big" {
          source="font_colon_big.png";
          offset=13;
      }
    
  

Deklarace effektu

Pro efekty použijeme objekt gBase. Eonic design používá najednou 4 efekty. V tomto tutoriálu uvedeme pouze jeden, ostatní jsou analogické.


Pro levé tlačítko efektu použijeme grafický objekt gBase.



    
      gBase "n_fx_01" {
          source="n_fx01.png";
          frame =20,13;
          flg   =BASEG_USEMASK;
      }
    
  

Pro pravé tlačítko efektu použijeme grafický objekt gBase.



    
      gBase "n_fx_01_sel" {
          source="n_fx01_sel.png";
          frame =20,13;
          flg   =BASEG_USEMASK;
      }
    
  

Pro text menu efektu použijeme grafický objekt gFont.



    
      gFont "n_font_fx" {
          source  ="font_fx.png";
          offset  =8;
          spacing =1;
          phases  =3;
          flg     =FONT_SORTX|FONT_USEMASK|FONT_PROPORTIONAL;
      }
    
  

Pro efekt progress baru použijeme grafický objekt gBase.



    
      gBase "n_progress_fx" {
          source="n_progress_fx.png";
          offset=7;
          flg   =BASEG_USEMASK;
      }
    
  

Pro efekt progress baru použijeme grafický objekt gBase.



    
      gBase "n_progress_track_fx" {
          source="n_progress_track_fx.png";
          flg=BASEG_USEMASK;
      }
    
  

Deklarace Vzhledu Menu

Pro vzhled menu použijeme objekt dMenuLook. Obrázek byl pro dokumentaci zmenšen a proto neodpovídá reálné velikosti.


Obrázek pro pozadí menu.


Obrázek pro okraje menu.


Obrázek pro font menu.


Obrázek pro oddělovač menu.


Obrázek pro bar menu.


Obrázek pro ikony menu.



    
      dMenuLook "SuperMenu" {

          alias   ="SuperMenu";

          shapePart       =7;
          fontGrid        =12;
          fontSpacing     =2;
          iconsGrid       =12;

          menuAddYSepar   =0;
          menuAddY        =3;  // 2
          menuAddTab      =20;
          menuAddRectX    =4;
          menuAddRectY    =3;  // 2
          menuAdjustDownY =1;  // 2
          barDeltaY       =1;
          iconsSpacing    =4;
          separXoffset    =7;

          fileBack        ="menu_back.png";
          fileShape       ="menu_shape.png"
          fileFont        ="menu_font.png";
          fileSepar       ="menu_separ.png";
          fileBar         ="menu_bar.png";
          fileIcons       ="menu_icons.png";

      }
    
  

Deklarace obsahu menu

Obsah menu je nadefinován v souboru "Stdlib.di". Použití menu se nadefinuje až ve schématu souboru.

Zde nadefinujeme prázdné menu, které používá vizuální analyzér, který doplní obsah toho menu, při spuštění Pulse MP.

Menu efektu najdete také v "Stdlib.di".



    
      dMenuItems "v_menu" {

          ITEM "","","analyzer.menu"
      }
    
  

Vizuální komponenta

Vizuální komponenty zobrazují grafickou analýzu přehráváného souboru. Pulse MP obsahuje komponponentu, která se dá upravit pro Vaše potřeby. Této komponentě musíte vytvořit inicializační skript, ve kterém specifikujete rozměry a pozici na obrazovce a určíte, které grafické soubory se mají použít pro vykreslení analýzy.

Tato data se také musí vložit do souboru designu. Vizuální komponenta si je pak sama načte. Pro vložení použijeme grafický objekt gBase, který však dále nebude použit. Kompilátor se postará o vložení dat do zkompilovaného designu.

Následující soubory se použijí pro analyzér dat.


Obrázek pro analyzér.



    
      gBase "v_temp1" {
          source="v_analyzer.png";
      }
    
  

Obrázek pro analyzér, v našem případě Solid.



    
      gBase "v_temp2" {
          source="v_analyzer2.png";
      }
    
  

Obrázek pro maximální hodnotu analyzéru. 2x10 pixelu - stupně šedi.



    
      gBase "v_temp3" {
          source="v_analyzer_max.png";
      }
    
  

Obrázek pro osciloskop. 5x1 pixel - stupně šedi.



    
      gBase "v_temp4" {
          source="v_oscil.png";
      }
    
  

!

Tyto objekty pouze vloží soubory do designu. Nyní musíme specifikovat soubory, o které se jedná, a ty pak předat vizuální komponentě. Pro předání vytvoříme nový soubor _visual.ini, ve kterém nadefinujeme velikost, pozici a typ souborů, které chceme použít pro vizuální analýzu. Tento konfigurační soubor předáme vCustom objektu, který představuje vizuální analyzér.



_visual.ini


    
      [General]
      X=102
      Y=29
      LX=0
      LY=28
      LSizeX=102
      LSizeY=29
      Name=Eonic
      CountShape=false
      Scheme1=Analyzer
      Scheme2=Analyzer solid
      Scheme3=Scope

      [Analyzer]
      Type=analyser
      Mono=1
      Bar=@v_analyzer2.png
      BarDeltaHeight=1
      BarWidth=2
      MaxSpeedDown=8
      MaxAlwaysVisible=false
      Max=@v_analyzer_max.png
      BarStaticMode=false
      AnalVals=128

      [Analyzer solid]
      Type=analyser
      Mono=1
      Bar=@v_analyzer.png
      BarDeltaHeight=1
      BarWidth=1
      MaxSpeedDown=8
      MaxAlwaysVisible=false
      Max=@v_analyzer_max.png
      BarStaticMode=false
      AnalVals=128


      [Scope]
      Type=scope
      Mono=1
      ScopeHistory=5
      ScopeDots=@v_oscil.png
    
  

Nyní máme nadefinované všechny grafické objekty, které budeme potřebovat, a začneme tedy vytvářet vzhled okna schématu a jednotlivé vizuální objekty.


Definice okna, schématu a vizuálních objektů

Design okna se skládá z jednoho objektu window, který obsahuje další objekty. Proto následující text bude vkládat do designu i popis, který v reálném souboru do designu nepatří.



    
      Window "Eonic":"Pulse_xPlayer" {

          Scheme "Normal" {

              menulook     ="SuperMenu";
              background   ="n_back";
              accelerators ="StdKeys";
              layerInitCmds="1:on 2:off";
              initCmds     ="pulse.cmd.playlayers(\"stop 1:on 2:off.play 1:off 2:on\")";
    
  

Vlastnost Accelerators je nadefinována v souboru "Stdlib.di". Tento design používá 2 hladiny. Hladiny rozlišují, zda Pulse MP přehrává soubor a nebo je přehrávání souboru pozastaveno.



    
              vFocus "logo" {
                  source  ="n_logo";
                  pos     =26,4;
              }
    
  

Tato ukázka obsahuje pouze jedno schéma "Normal", proto následující tlačítka nebudou fungovat.



    
              vButton "scheme_prev" {
                  source  ="n_scheme_prev";
                  pos     =186,2;
                  flg     =BUTTON_LBUTTON | BUTTON_ACTIVE01SEC | BUTTON_MOUSESENSITIVE;
                  cmd     ="ove.cmd.scheme(2)";
                  tooltip ="@TTP_SwitchNextScheme";
              }
    
  


    
              vButton "scheme_next" {
                  source  ="n_scheme_next";
                  pos     =198,2;
                  flg     =BUTTON_LBUTTON | BUTTON_ACTIVE01SEC | BUTTON_MOUSESENSITIVE;
                  cmd     ="ove.cmd.scheme(2)";
                  tooltip ="@TTP_SwitchNextScheme";
              }
    
  

Definice standardních tlačítek. Texty Tooltip obsahují překladový soubor .lng, který se nachází u Pulse MP.



    
              vButton "minimize" {
                  source  ="n_mini";
                  pos     =210,2;
                  flg     =BUTTON_LBUTTON | BUTTON_ACTIVE01SEC | BUTTON_MOUSESENSITIVE;
                  cmd     ="ove.cmd.minimize";
                  tooltip ="@TTP_Minimize";
              }
    
  


    
              vButton "exit" {
                  source  ="n_exit";
                  pos     =222,2;
                  flg     =BUTTON_LBUTTON | BUTTON_ACTIVE01SEC | BUTTON_MOUSESENSITIVE;
                  cmd     ="ove.cmd.close";
                  tooltip ="@TTP_Exit";
              }
    
  


    
              vButton "prev" {
                  source  ="n_prev";
                  pos     =5,106;
                  flg     =BUTTON_LBUTTON | BUTTON_ACTIVE01SEC| BUTTON_MOUSESENSITIVE;
                  cmd     ="pulse.plr1.cmd.playlist.prev";
                  tooltip ="@TTP_Previous";
              }
    
  


    
              vIndiButton "pause" {
                  layer   =2;
                  source  ="n_pause";
                  pos     =40,106;
                  flg     =INDIBUT_LBUTTON | INDIBUT_MOUSESENSITIVE;
                  data    ="pulse.plr1.data.bool.pausing";
                  cmd     ="pulse.plr1.cmd.pause";
                  tooltip ="@TTP_Pause";
              }
    
  


    
              vButton "play" {
                  layer   =1;
                  source  ="n_play";
                  pos     =40,106;
                  flg     =BUTTON_LBUTTON | BUTTON_ACTIVE01SEC | BUTTON_MOUSESENSITIVE;
                  data    ="pulse.plr1.data.bool.playing";
                  cmd     ="pulse.plr1.cmd.play";
                  tooltip ="@TTP_Play";
              }
    
  

Následující objekt testuje, zda se soubor přehrává nebo je jeho přehrávání pozastaveno. Pokud nastane klik levým tlačítkem myši na testovací místo (pozice Play nebo Pause tlačítka), dojde pomocí operace xor k přepnutí hladiny.



    
              vTestPlace "Layer"  {
                  pos     =40,106;
                  size    =32,12;
                  flg     =TESTPLACE_LBUTTON;
                  cmd     ="ove.cmd.laywers(""1:xor 2:xor"")";
              }
    
  


    
              vButton "stop" {
                  source  ="n_stop";
                  pos     =72,106;
                  flg     =BUTTON_LBUTTON | BUTTON_ACTIVE01SEC | BUTTON_MOUSESENSITIVE;
                  cmd     ="pulse.plr1.cmd.stop";
                  tooltip ="@TTP_Stop";
              }
    
  


    
              vButton "next" {
                  source  ="n_next";
                  pos     =107,106;
                  flg     =BUTTON_LBUTTON | BUTTON_ACTIVE01SEC | BUTTON_MOUSESENSITIVE;
                  cmd     ="pulse.plr1.cmd.playlist.next";
                  tooltip ="@TTP_Next";
              }
    
  


    
              vIndiButton "open" {
                  source  ="n_open";
                  pos     =143,106;
                  flg     =INDIBUT_LBUTTON | INDIBUT_MOUSESENSITIVE;
                  cmd     ="pulse.plr1.cmd.filebrowser.show";
                  data    ="pulse.plr1.data.bool.filebrowser.visible";
                  tooltip ="@TTP_OpenFile";
              }
    
  


    
              vIndiButton "database" {
                  source  ="n_database";
                  pos     =174,106;
                  flg     =INDIBUT_LBUTTON | INDIBUT_MOUSESENSITIVE;
                  data    ="pulse.data.bool.database.visible";
                  cmd     ="pulse.cmd.database.show";
                  tooltip ="@TTP_DataBaseEditor";
              }
    
  


    
              vIndiButton "playlist" {
                  source  ="n_playlist";
                  pos     =205,106;
                  flg     =INDIBUT_LBUTTON | INDIBUT_MOUSESENSITIVE;
                  data    ="pulse.plr1.data.bool.playlist.visible";
                  cmd     ="pulse.plr1.cmd.playlist.show";
                  tooltip ="@TTP_PlaylistEditor";
              }
    
  

Ovládání seek baru se skládá ze dvou částí. Z posuvníku a z pozadí, které se pod něj vykresluje.



    
              vTrackBar "progress" {
                  source   ="n_progress_track";
                  pos      =24,98;
                  length   =210;
                  dragsize =8;
                  figsource="n_progress";
                  figpos   =25,94;
                  flg      =TRACKBAR_LBUTTON;
                  data     ="pulse.plr1.data.unionseek";
                  tooltip  ="@TTP_UnionSeekbar";
              }
    
  


    
              vButton "progress_symbol" {
                  source  ="n_progress_symbol";
                  pos     =5,95;
                  flg     =BUTTON_LBUTTON | BUTTON_ACTIVE01SEC | BUTTON_MOUSESENSITIVE;
              }
    
  

Zobrazení času přehrávané skladby.



    
              vNumber "timemin" {
                  source  ="n_font_big";
                  pos     =35,43;
                  size    =27,13;
                  flg     =NUM_3 | NUM_ZEROPADDED;
                  data    ="pulse.plr1.data.time.min";
              }
    
  


    
              vIndicator "colon_big" {
                  source  ="n_colon_big";
                  pos     =61,43;
                  data    ="pulse.plr1.data.bool.playing";
              }
    
  


    
              vNumber "timesec" {
                  source  ="n_font_big";
                  pos     =64,43;
                  size    =18,13;
                  flg     =NUM_2 | NUM_ZEROPADDED;
                  data    ="pulse.plr1.data.time.sec";
              }
    
  

Zobrazení zbývajícího času do konce skladby.



    
              vIndicator "minus" {
                  source  ="n_minus_big";
                  pos     =29,43;
                  data    ="pulse.plr1.data.bool.time.remaining";
              }
    
  

Zobrazení názvu skladby.



    
              vText "song_title" {
                  source  ="n_font_title";
                  pos     =40,22;
                  size    =194,12;
                  flg     =TEXT_DLBUTTON | TEXT_AUTO_MOVING;
                  data    ="pulse.plr1.data.txt.general";
                  cmd     ="pulse.plr1.cmd.open";
                  tooltip ="@TTP_OpenOnName";
              }
    
  

Zobrazení ovládacího prvku efekt. Zde nadefinujeme pouze jeden efekt, ostatní jsou analogické.



    
              // effect line 1
              vIndiButton "fx1_ctrl" {
                  source  ="n_fx_01_sel";
                  pos     =112,36;
                  flg     =INDIBUT_LBUTTON | INDIBUT_MOUSESENSITIVE;
                  data    ="pulse.plr1.data.bool.fx1.enable";
                  cmd     ="pulse.plr1.cmd.fx1.enable";
              }
    
  


    
              vText "fx1_reg_name" {
                  source  ="n_font_fx";
                  pos     =115,39;
                  size    =15,7;
                  flg     =VF_HQPAINT | VF_REPAINTPREVIOUS;
                  data    ="pulse.plr1.data.txt.fx1.ctrl.name";
                  tooltip ="@TTP_";
              }
    
  


    
              vIndiButton "fx1_sel" {
                  source  ="n_fx_01";
                  pos     =215,36;
                  flg     =INDIBUT_LBUTTON | INDIBUT_MOUSESENSITIVE;
                  cmd     ="pulse.plr1.cmd.fx1.enable";
              }
    
  


    
              vText "fx1_name" {
                  source  ="n_font_fx";
                  pos     =218,39;
                  size    =15,7;
                  flg     =VF_HQPAINT | VF_REPAINTPREVIOUS;
                  data    ="pulse.plr1.data.txt.fx1.name";
                  tooltip ="@TTP_";
              }
    
  


    
              vTrackBar "fx1_reg" {
                  source   ="n_progress_track_fx";
                  pos      =132,42;
                  length   =80;
                  dragsize =8;
                  figsource="n_progress_fx";
                  figpos   =133,39;
                  flg      =TRACKBAR_LBUTTON;
                  data     ="pulse.plr1.data.fx1.ctrl";
                  tooltip  ="@TTP_";
              }
    
  


    
              vTestPlace "fx1_ctrl_mnu" {
                  pos     =112,36;
                  size    =20,13;
                  flg     =TESTPLACE_RBUTTON;
                  cmd     ="ove.cmd.menu(""Menu_Fx1cc"")";
              }
    
  


    
              vTestPlace "fx1_sel_mnu" {
                  pos     =215,36;
                  size    =20,13;
                  flg     =TESTPLACE_RBUTTON;
                  cmd     ="ove.cmd.menu(""Menu_Fx1"")";
              }
    
  

Vizuální komponenta zobrazuje grafickou analýzu skladby. Používá soubor _visual.ini, který jsme nadefinovali již dříve. Jako zdroj (source) použijte toto číslo, které specifikuje ID komponenty.



    
              vCustom "analyzer" {

                  pos     =7,61;
                  size    =102,29;
                  source  =0x9C19FF33FD52D7C;
                  files   ="_visual.ini";
              }
    
  


    
              vTestPlace "analyzer_menu" {
              
                  pos     =7,61;
                  size    =102,29;
                  flg     =TESTPLACE_RBUTTON;
                  cmd     ="ove.cmd.menu(""v_menu"")";
              }
    
  


    
              vTestPlace "analyzer_switch" {
              
                  pos     =7,61;
                  size    =102,29;
                  flg     =TESTPLACE_LBUTTON;
                  cmd     ="analyzer.cmd.scheme.next";
              }
    
  


    
              vTestPlace "Moving" {
                  pos     =0,0;
                  size    =240,123;
                  flg     =TESTPLACE_LBUTTON;
                  cmd     ="ove.cmd.moving";
              }
    
  


    
              vTestPlace "fast_switch" {
                  pos     =0,0;
                  size    =240,19;
                  flg     =TESTPLACE_DLBUTTON | TESTPLACE_NODUALTEST ;
                  cmd     ="ove.cmd.scheme(2)";
              }
    
  


    
              vTestPlace "Menu_ctrl" {
                  pos     =4,105;
                  size    =139,14;
                  flg     =TESTPLACE_RBUTTON;
                  cmd     ="ove.cmd.menu(\"Menu_Control1\")";
              }
    
  


    
              vTestPlace "Menu" {
                  pos     =0,0;
                  size    =240,123;
                  flg     =TESTPLACE_RBUTTON;
                  cmd     ="ove.cmd.menu(\"Menu_Main\")";
              }
        }
    
  

Konkrétní informace o jednotlivých vizuálních objektech a významy flagu najdete v kapitole Popis design souboru.

  Nahoru
 
DDK - Balíček pro tvorbu designu Pulse MP >  Tutoriál pro tvorbu designu Pulse MP Obsah    Index   Předcházející   Následující