From 04313cebe10f09b514627e8ab8c290890de805e2 Mon Sep 17 00:00:00 2001 From: "Kirill Lipatov (Leency)" Date: Fri, 16 Mar 2018 20:06:42 +0000 Subject: [PATCH] Pixie 2.62: various fixes git-svn-id: svn://kolibrios.org@7189 a494cfbc-eb01-0410-851d-a64ba20cac60 --- programs/cmm/pixie2/pixie.c | 103 +++++++++++++++++++++++---------- programs/cmm/pixie2/settings.h | 2 +- programs/cmm/pixie2/skin.png | Bin 3855 -> 3926 bytes 3 files changed, 74 insertions(+), 31 deletions(-) diff --git a/programs/cmm/pixie2/pixie.c b/programs/cmm/pixie2/pixie.c index 76448c6af3..9c0146e558 100644 --- a/programs/cmm/pixie2/pixie.c +++ b/programs/cmm/pixie2/pixie.c @@ -1,7 +1,3 @@ -//TODO -//repeat track -//edit list manually - #define MEMSIZE 4096 * 50 //===================================================// @@ -34,9 +30,10 @@ //simple open dialog data char default_dir[] = "/rd/1"; -od_filter filter2 = { 8, "MP3\0\0" }; +od_filter filter2 = { 15, "MP3\0WAV\0XM\0\0" }; + +#define ABOUT_MESSAGE "Pixie Player v2.62 -#define ABOUT_MESSAGE "'Pixies Player v2.61 A tiny music folder player. Supports MP3, WAV, XM audio file formats. @@ -46,9 +43,12 @@ Play/Stop: Space or P key Start playing selected file: Enter Goto next/previous track: Ctrl + Left/Right Change sound volume: Left/Right key -Mute: M key' -td" +Mute: M key -scroll_bar scroll1 = { 5,200,398,44,0,2,115,15,0,0xeeeeee,0xBBBbbb,0xeeeeee,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1}; +kolibri-n.org & aspero.pro" + +scroll_bar scroll1 = { 5,200,398,44,0,2,115,15,0,0xeeeeee,0xBBBbbb,0xeeeeee, + 0,0,0,0,0,0,0,0,0,0,0,0,0,1,1}; proc_info Form; llist list; @@ -143,10 +143,12 @@ void main() { if (mouse.vert) && (list.MouseScroll(mouse.vert)) DrawPlayList(); if (mouse.dblclick) EventStartPlayingSelectedItem(); - if (mouse.down) && (mouse.key&MOUSE_LEFT) && (list.ProcessMouse(mouse.x, mouse.y)) DrawPlayList(); - if (mouse.down) && (mouse.key&MOUSE_RIGHT) notify(ABOUT_MESSAGE); + if (mouse.down) && (mouse.key&MOUSE_LEFT) + && (list.ProcessMouse(mouse.x, mouse.y)) DrawPlayList(); + if (mouse.down) && (mouse.key&MOUSE_RIGHT) CreateThread(#EventShowAbout,#menu_stak+4092); } - if(mouse.key&MOUSE_LEFT) && (mouse.y47) strcpy(#temp_filename+44, "..."); yyy = i*list.item_h+list.y; @@ -222,14 +226,17 @@ void DrawPlayList() text_color = theme.color_list_text; } //this is cur_y playing file - if (i + list.first == current_playing_file_n) && (playback_mode == PLAYBACK_MODE_PLAYING) + if (i + list.first == current_playing_file_n) + && (playback_mode == PLAYBACK_MODE_PLAYING) { text_color = theme.color_list_active_text; } DrawBar(list.x, yyy, list.w, list.item_h, bg_color); - kfont.WriteIntoWindow(6, yyy+list.text_y, bg_color, text_color, list.font_type, #temp_filename); + kfont.WriteIntoWindow(6, yyy+list.text_y, bg_color, + text_color, list.font_type, #temp_filename); } - DrawBar(list.x,list.visible * list.item_h + list.y, list.w, -list.visible * list.item_h + list.h, theme.color_list_bg); + DrawBar(list.x,list.visible * list.item_h + list.y, list.w, + -list.visible * list.item_h + list.h, theme.color_list_bg); DrawScroller(); } @@ -249,7 +256,7 @@ dword GetSongTitle() { char cur_y_playing_title[245]; strcpy(#cur_y_playing_title, #current_filename); - //cur_y_playing_title[strlen(#cur_y_playing_title)-4] = '\0'; + cur_y_playing_title[strrchr(#cur_y_playing_title, '.')-1] = '\0'; //if (strlen(#cur_y_playing_title) > 36) strcpy(#cur_y_playing_title + 34, "..."); return #cur_y_playing_title; } @@ -264,13 +271,17 @@ void DrawTopPanel() { button_y = 46; img_draw stdcall(skin.image, 0, 0, skin.w, skin.h, 0, 0); - if (playback_mode != PLAYBACK_MODE_STOPED) img_draw stdcall(skin.image, 46, button_y, 41, 21, skin.w+1, WIN_H_SMALL+1); - if (repeat) img_draw stdcall(skin.image, Form.width - 101-1, button_y+2, 17, 17, skin.w+43, WIN_H_SMALL+1); - if (shuffle) img_draw stdcall(skin.image, Form.width - 82-1, button_y+2, 17, 17, skin.w+62, WIN_H_SMALL+1); + if (playback_mode != PLAYBACK_MODE_STOPED) + img_draw stdcall(skin.image, 46, button_y, 41, 21, skin.w+1, WIN_H_SMALL+1); + if (repeat) + img_draw stdcall(skin.image, Form.width-102, button_y+2, 17,17,skin.w+43, WIN_H_SMALL+1); + if (shuffle) + img_draw stdcall(skin.image, Form.width-83, button_y+2, 17,17, skin.w+62, WIN_H_SMALL+1); - if /*(!list.count) && */ (!work_folder) DrawPixieTitle("Pixie"); + if (!work_folder) DrawPixieTitle("Pixie"); else DrawPixieTitle(#work_folder + strrchr(#work_folder, '/')); - kfont.WriteIntoWindow(8, 24, theme.color_top_panel_bg, theme.color_top_panel_song_name, list.font_type, GetSongTitle()); + kfont.WriteIntoWindow(8, 24, theme.color_top_panel_bg, + theme.color_top_panel_song_name, list.font_type, GetSongTitle()); //Playing control buttons DefineHiddenButton(7, button_y, 38, 20, BUTTON_PLAYBACK_PREV); DefineHiddenButton(47, button_y, 38, 20, BUTTON_PLAYBACK_PLAY_PAUSE); @@ -292,9 +303,9 @@ void DrawTopPanel() img_draw stdcall(skin.image, 0, 0, WIN_W_SMALL, WIN_H_SMALL, skin.w-1, 0); DefineHiddenButton(0, 0, WIN_W_SMALL, WIN_H_SMALL, 99 + BT_NOFRAME); //Playing control buttons - DefineHiddenButton(8, button_y, 24, 16, BUTTON_PLAYBACK_PREV); - DefineHiddenButton(34, button_y, 24, 16, BUTTON_PLAYBACK_PLAY_PAUSE); - DefineHiddenButton(60, button_y, 24, 16, BUTTON_PLAYBACK_NEXT); + DefineHiddenButton(20, button_y, 24, 16, BUTTON_PLAYBACK_PREV); + DefineHiddenButton(46, button_y, 24, 16, BUTTON_PLAYBACK_PLAY_PAUSE); + DefineHiddenButton(72, button_y, 24, 16, BUTTON_PLAYBACK_NEXT); //Window control buttons DefineHiddenButton(Form.width - 20, 1, 19, 13, BUTTON_WINDOW_CLOSE); DefineHiddenButton(Form.width - 20, 16, 19, 13, BUTTON_WINDOW_REDUCE); @@ -316,7 +327,8 @@ void DrawScroller() void DrawPixieTitle(dword _title) { - kfont.WriteIntoWindow(8, 5, theme.color_top_panel_bg, theme.color_top_panel_folder_name, list.font_type, _title); + kfont.WriteIntoWindow(8, 5, theme.color_top_panel_bg, + theme.color_top_panel_folder_name, list.font_type, _title); } //===================================================// @@ -388,7 +400,10 @@ void EventStartPlayingMp3() if (!repeat) { for (i=2; it~2(NWd!AD@x)j*;BZuhs`=pnu**5FX_pOjx zTSFdXW=ce0u~^9q{BC`Q;SOFU)FpHb7m(hKhm_gza&u+=*1xGH&fw7(t=1~-rnELB zZtu%&JwT`9?s~7vhO+`uB;=QQp2aD1Q3vS?L5ho+yZZAZfxifRV;J z!guBR!@w1O4)A#)xazKij)&5=i&o1+)kSC-Xe(u^*ZkP z5IMAkGnY}Xuqwlo*bER>%BDTiMU=CD&(c)7m4W3Td%*uO;A&t%%;)vT!+Q!bY%oUH zqMSnZ6tfy0sh%Y^m3h8y>F;!@KUB*;qn4b~+SEj>Cy|DJ{0PuGbB7rwOF8kiCK+qF zT}bFh%o)k?ot>Q@Sl=`wBHQXECocfi?7rh7H>bYZ1rL}gBmm3A;)>IV&6!B$wFTAI zW4Egdxb5rDo;?$eMM**D7haasFYf^Hc3(V{ZpSbzBukjS zi(5=0$WOS&i;*ERio{m|PL7H^s76S+Dzi9HbPd_EoZiZg+u$&ng|DynE?@5BL@Gym zgH7T##jAb4CrH`$Ez1VWT{@q07w)cB_tG{+u@IBB?Q-+G;Z7q$B$IgCz z^3Y{InWke}W=oq@K|e7j!t=;sl!J1p6HpS~#fM+&(=9iHd_J|6zI4QYzG zS8Dw_w|uuF4uO4reS<byasxOv$znMLE}h zp_O7CEENrZGbl)1;0%>f(9G%)Smp_P zb7NinfcFw{vS=aGjoXkG&Rp)Eo}OMj=J1b9lv|;r|KSL$&{HHQmis^bi$Y{)o({Ob zW0&fnATI+>5%kt#Ri-Wm(wRL=K-S-bSZUp8&r)Y`^uVOE`Lj>!G zlx(k>Po%}w`X&?pzI0@BS{y!oNX)z=$4SK3o24h+#14~GNUuH&r}j^O`TSBrjvwqR z!?9oEX8Wk}9|Ix;falzGGrmLX_hUT5h2p@h{rmmJyBtq?yL;bGJq1(rUn~p+YTuHa zR^p2aaP^J@usd#C<-{mG$V=j+5{e-N^dsss4M%QDGxhV20{*)F=7#l@%Yl6z`)mmn%h+22DAJcsc&T(SF=uZhQT%P5~$Ksw9$n8d!wE!jX+^XMf&Z$%Qmq9?}HC~94ETI#K= z+&o#f88n^c*pVY>Suk*Nju2zy+<83f#yTOh#&FzN?O(=^{am@qdp~{n;IMBw*-*!B zhZf5h0)dO%6V;?Fg6(c}em4TXQy0+mA;q?mtxcSM75u;K=U~!+&-lBQl@-6;TS8x8 zvN%Q^%OEx50JcpLzz>|;HA(F>n(L&Nq3KSF+2l58JbI$_&Cjuh+^222D`By*e_gh- zJ17H*-`;BZk42!P0t>v=rrVKYq3i$y-%YedTHq#<_do}ysX4hafExDs7vY=7+ZPuW zf>yHZ`Ayj;xtK#s9dLdE3OEP&?^|tNm~}GuP0%Z(K$*9>Z2wSUa=5u3S)mmv3~C4n zsCt7oNt0Te+{5o#9@RwO-Zxk-h?ATxq;M=ck~7tn`F$659*Z0njvG$95V(B>ezjn} z$Sh6DB)Hac&Tuu7g=6`u912(QQR}*Nj0AhX7yJ1A8U+VU1zlt_IHa+I8(!nxFYQ6E z(R(g+$FESvRO6yRhzB;wYQ!<;^_L+qX#q%&z^aip@6&@@T9Gp622UQCME z&l(V#E7K7pe@H5D`Mgs3e6(a~U~EUc;tM&0wSlyt9->QS#UyS*McAC*R1pFUMa;;C zy5j}Th#sN|YRvB-*dI6@$GbMPR}mQcoQXQW+kD_eD?7}pL$|h&wk(d{swqQ4I&%_T zSrovcl)YM=#H)GAbZH&x3B>M_uUtALSg*rf2~uPnRIyCMzF=_QUFiP)dEea}|A+{R z?l&3Ak`$Bbe1QPyM#N5m2uSvRtu&lEGy)@uTFrxJRDQvRY zbuiBDn|;YV!6=y=78bVfttl$ig3KR&l=pBERYVM8u=O`5YRq~1z)nj81?A+`EBGu%$H5;A#-_qc^81{_YGBJ7jw8?nVKYpFD)%a1{DnM!ln}h z8^Z2FPbvfy{x%)IhY98P?#8eN#L0pU)=wz+n8&UJ%?;f2A6j#s8nPqXVEThuA364| zFOyNf##@lCmO;YgPJ4M`dV0EWLiF(P+3#E*nSbi6a=Z;nVjp)pmywkG@Ht}2v3G0o z-9GF$=eUayO&aAqu&MbeU7m^4%(y8lgm)I#oot5!V6rG#Dj`qb!!Lw*ZPFHqfWl+c z?=P4Iry$@g3e3t@BjqMqx zf`3=d8v3W~tWNDEY1*e46{Sj|ye3rAf<0)ffhuPU#qt(X`H@==}mk`|#K$?A)J0#7u*u_1t}f)3Zy?=`%8=b%y@(X`rL zLCk9P!Xd;-dr|NgklZm$Z3h~Kx;%8C`P!|}(9k$1tytT>Gs{XAR;1D(T`{574ie0y zs5m`doq*(B0(fho=pwHaSs zw=ZUtI|FYjD#}bk!^2Z|GJc+{u!}J13u(E`Kf&EU;L=e^ zV1cFk5^62$?O8+#kB-ViXG2q~4q&6ByF_#$JI5RELE(Bi~xLcys}slYEwCIL8~(b4wXxAE-<m#F7 zButEb;)1B85!9Vt{CUQdVHVu@vn+<5e;7eniGZW>fh(l1s(ewh9E~sfh{w|4=Tn|r ztJvOhkNFhzMDeoHO#T_kMh_HbxR`)6+m3KTMzrsbm0twys3uCjgVzz%4qk@z%PbgF zs5MUo9SnYN7OZo-f>YWC#iosis0sce+ZjK79evn)!}aIU5oPZSHzxc|{kLy=+`@Q@ zWi3vF&4yy=X_#`s2=wc`erI~d*@mjBdry_T9an8Imv;J2UUcYtG4%e80=8Lj@m$We z;C6PY03CL+7qd`XIYDS%K- z;~fMG{CWXcDI@5$!C)Q`X#qSlsTJ)~HKyq7e>af@Q{sz2%%zmC!&4IC-oyPM-{rs& hC0&z|+@#;+l7MONANQr73l7R4>vMKzE3CYe{s*}!{~G`R literal 3855 zcmY*cdpOg7`yY!5vviW?_{b^ISP?Qqk)i`J`!3CKP8*3)7?uz@rD&3nh{;()ax8LK zHOX;=3d2agvog#xbzQ&f_x$sDfBv|y`|x_*$ApXLt-#_3#Q^{S*!s*VI{-kaM(}@5 zOjPjYVSKCv&kip$TQdNlDpg{`RRjQ#>a;#(cKOED#hhNd38USe>gUAGsn_Gjj;5W9 zJ#a}+^EHEl2`@gF>N4@IW3?4FQA03%Fdakyc&6#FCB7hf)YB zi9D{Gm(15r*V_p2_t!~S;jQ|0wCm?VhDk2huiKH^;+Roqrzkhwk0z8A4-3(BJ+QU74E2AOy7N)RI>Bf-WSo%&4O+p?~m%p_S}wAO*k z&Kz}h^+A_O@x8Ros$a2>u{o_MnhX!mpycE@+&G^Qc7&^sG|q3rFDB?;!C>H-H8t?n z^ITlAn*;t8Gy*4J-#BD=aMBqOC;X#?F@(SeUAv`lI!u zDEzgdk%@`3rab3rD<%NcZ4sf}&(XlbSr}#OP z{ja`CE(b1&d-ri2P9vb1@F5GQd zc#R~fb)O_&rb+4;#)O2ugXl8I(B};7jPNwRLJsxwD|JW{N+(!YBFADCY9E%`KFrK~ zP|_8|5Jai9_omR>zwSWYirRw2d-Vgi-NB?W%)V)p5MKeZU;XRJh!H1Bc=fKOg*Z?p>;)1Kpe=jib}`I6_zIb**0N zpxqf>y>v$uDx*YBUcN*CmS37OtDxMc(OPPBxX5Zk-K7o7iqn~JcMh|uwjjQ8p;cDq zxn=rMz=52eAU9F?Wkm{wa`E4P|Gi{Iqg~PyK25(=d(KgjH&0Ix<( zR;jW2{POa01zoa&pH0jDt48lZ%^}u`$zb8TL&le%Cul96>0e$3gambPr$fxO_3YnKYsuIZFKHFuV~R>g|Vb#QjKjD{vU)qaaFTyX+f6M ztk{qMb@TOk9*;#-oykL?XWRJv$e-Z0>!kjWCI$TR08l<{4r6*M)jFj3JSuxPE=yDa zC(lQNn2CgemymklA78&d^=)j8qY;sj55w>y{%k`coi1jD!*R%c>(LUpsv^Mf_tv=l zxf0{hijzOTcp>CnJCXW4}J`ef^oElK%V+g#4Kam zMORD315J=&m%)K!V#AYBtvRoQ8y*<@3)fC#j` zFzLq6)iZZ^Ck_@t7$Cc!LMU9P&n{PcCC1fq`Vo(Rgpf1TkMyL1mA=#- z`<=zL1*Y|lE}hK@OasE}25Ujy-IgV}a1cmJM{I@!pYZyUHAOcq8IjhYb8_j2K4Z1- z%WZTWX{-~Pu^k_!4`lfRcpLo-c6W2iw>^oB=a65d+C&>Qf}fOgEtNdFTfp@@B*~U} z0>MQfAdB})F_X@WhPf+2iAq7qqYb8IN2tmCT@=@xvhMC~4+%CfSU1%#B!pH8k4@Sg z(yA~#Fq;=GXx3tIUTZN4=@Qps5b))4o&WgR@>ZRyARNxp_QC}jiK56Ye$yo~y-3dm z#3no6mW}ByjRaZW3tN&R%5JbueQzqVH~mY-$g6G@#_&(>0mB>#h(1ErFNME9OBs zET9p6+44(`*T+8*)DS2RW}ifD+h16L6x#2k&$iOI`bDQf6r*)k?^Eb~pv z!mVluWeyqS8MQssqzy^Y2u2Nr1q=VZoFB&H_>`@zO!xXxrt0>RW%tC8I8Y59iECI#%Hl3OIeCeg2%*n+b?B1X=$xb%8;_F(WS%(ud>ddc*$MV$ z<5+h)r@@y;d+g%a{IbgnXJYKTRA4#!ksgm=ly93|o+O8D{0=O;wdNzNLn?pNTvm=3 zK)W{c9y-fRa#;3RAXpCH=P;8rNp!tfh_6(e=$eKG(4$c(eKGsOdMEGkzN<^SuFV|{ zV=?C=51-q5ypNren~VDKrAbTtdv5?KThPyCs;Md30sULrvjqV$Cf)5e2wX#RbGcyc zNZ0y(D>yME!M0>Hp8p{Amfqydo@*nh#Z`wRl&NW{ogCg>1s=@_mYtn#-xc@lj?@Nb z>#WsUU1XAny{F-{kwcggYC8X0@{cbPO-V%39jyT0so!c8xrZd+2WZ># zR1$mod|7MrXZ)u{>j4BuowtvxI~fAKW`8x_m)@Lb@pWmuvBOTSWZ$rA$ax!^y_LjO z+2|SS9xW+Bd1ZV@{TrB$!C<cW@d8yHd$6zG(9%FvSin>ykkqo>Mthh^<3KQ>yuw1H zwSF)+eRKL%nge1`^+L4cODP9D#ret=4b3Xg#_whor76wWC|qVc!8jYN`Q}*w^94+R zm_1SAs@@4h!v+OnqFg`sq6ur6;ZB|J6_LWYVkEQD`rab$+v*Zj={#~)b1;b4|C0ZJ zeRSybmV>#r4(GzVH-qx{Kwmz{V^Yc`yeM(Bo=jrKbQ~z9K zich$_{Iyo2cNwXD0WGb#;R6=_d)96AJ8CmvP&GQBUau0*klRh47k&Wq6TNp?2_GxF z^dmmAzrVl73sAI}zfy>ht6Zw$1v-4xa`Cetv1P+Y_Vzorz6j7T2!nAhU0X^k{zbu@kfT6e| zFOMQ(vALcs#u@7E##$CaYaH8IBi)Mk@v%Oxy}rIa&t|ia8Wt@!^CqL4iG)=FlL^Y_ z9{wM~aS}Dnxmm}X7Ev;p5jcHGjRBIV7YRqJuP?UK7V9h-6>Yp;d9?FPmfl9bST18I z|9aESVy{btruQ1y^Qq&h#I~>Q@fSj7RN_C<<3vog=rDD)f&T=Bcw?IoZnzmpep;({ z>0SMyp?u-Io(0S9vhUQza$+&{``o+B-I>H+`cnxIpL#ac^Mo{^{73WHL?@!1}4Xsh`zvWvXw><)Qq8LD)SwV7%;OsEmT}M0>mW zbrC7bQ)f4ODmUNMQ@KeOREhXtGEFSzd8b|u-YpPC`^qTDr4-(TvLxmTciVKjS@kSj zOfG~_Km4)Dn5zcJH7B*{J=RCIq!`}#IreP=@xH-!oA4uEpu$B-Cyo#=Iu){g3|Rfz z>b*+R*+1xN+z0x!DztsSD5=v~Kn|Hr+TIJQL)}s``{lK30)`Eo*8qayCykTK*dD4Q z>i}1MCCbl?Uo#c2YXl>SLyjQjEmf