Jump to content
BulForum.com

kak da napisha takava programa


Shiro

Recommended Posts

A we iskam da si napravq programa, koqto da mi pomni po kolko pyti sym puskal vsqka pesen ot winampa. Ako ima takava - kajete q. No tyi kato mislq, che nqma smqtam az da si napisha (jelatelno e ideite da sa na C/C++). Za dva varianta se seshtam v momenta, ama i dvata ne znam kak da gi napisha:

1. Da hvashtam winampa kogato access-va syotvetniq fail (kak da stane tva?)

2. Da hvashtam nqkvi raboti, koito winampa pravi, kogato otvarq mp3-ka (kvi sa tiq raboti i po-tochno kak da gi hvana)

Za cql kod ne vi molq, ama aide ako nqkoi moje da dade nqkvi ideiki i da posochi polezni funkcii

Link to comment
Share on other sites

Да почнеш да правиш дървени истории от вида, да следиш промени в файловата структура или отварянето на файлове според мен не е решението във случая,

просто отиди на www.winamp.com, там е обяснено как се правят plug-ins за Уинамп, мисля, че в твоя случай един General Purpose plugin шти свърши работа.

Link to comment
Share on other sites

Mersi tedy, jiv i zdrav batka (interesno zashto ne se setih za plug-in maina, basi tolkova sa ma vpregnali s taq ogranichena informatika za nqkvi zadachki, che samo za failove mislq ...)

Link to comment
Share on other sites

Ето едно решение на проблема:

1) Нужни компоненти:

1.1) Начин да стартираш/пуснеш дадена песен в плей режим

--- Command line syntax:

drive:\\path\to\winamp.exe drive:\\path\to\some\file.supportedformat

пример:

C:\Program Files\Winamp>winamp 666.mp3

стартира 666.mp3, ако е в дир. на уинампчето.

След като имаме компонент 1.1, остава

1.2) Плей лист, който да:

-- може да прави разни работи...

 

Идеята е, че може да се реализира отделна формичка, да я наречем WinAmpListExt, ако погледнеш малко спецификациите на m3u формата( не са сложни като гледам с notedpad-a ), можеш да се напише и парсър, който да зарежда началния лист с "парчета" :P от вече съществуващи листове на winamp-a. След този етап на W.A.L.E., правиш примерно като цъкнеш 2 пъти на някое парче от WALE list-a да се изпълнява 1.1 за избраното парче. Дотук ясно? Добре, щом е ясно, значи ти остава само да направиш дизайн и имплементация на база данни, в която WALE ще държи запис за коя песен, колко пъти е изпълнявано 1.1).

Това са основите.

 

Недостатъци:

за WALE трябва да си пишеш сам search и др. глезотийки.

ПРедимства:

Ако се сетиш глезотийка, сам ще си я напишеш.

 

Поздрави!

Link to comment
Share on other sites

Цъкайки на файл от Експлорър (отварянето му) дефакто предизвиква извикването на default акшън-а за файловия тип. Можеш да напишеш програмка и да я асоциираш с мп3-ките или там каквото искаш и тя да прави каквото трябва и да пуска уинампоа.

Или да си поиграеш с messages на Ууиндоус (WM_* messages) и да ги прехващаш и филтрираш този който ти трябва.

Link to comment
Share on other sites

хи хи всичко това изглежда доста смешно, понеже когато взех да се чудя как да се напише програмата се сетих. че това си го има в Winamp-a. Хахаха тъпо а, язък че се заформи полезно топик-че.

Значи, Shiro, отиваш в Winamp-a, натискаш Alt+L и в Media Library си има на абсолютно всяка песен от 'local media', поленце 'play count'... ;)

Link to comment
Share on other sites

хи хи всичко това изглежда доста смешно, понеже когато взех да се чудя как да се напише програмата се сетих. че това си го има в Winamp-a. Хахаха тъпо а, язък че се заформи полезно топик-че.

Значи, Shiro, отиваш в Winamp-a, натискаш Alt+L и в Media Library си има на абсолютно всяка песен от 'local media', поленце 'play count'...  ;)

I bi li kazal kade e Alt+L na winamp 2,77 ????? Zashtoto az kato razgledah obstoino menu-to nemojah danameria tova

Link to comment
Share on other sites

Winamp Library беше включена като General Purpose plugin едва в последните версии. Затова се предполага, че v2.77 е стара в това отношение ;)

Само ми е интересно къде е това поленце PLay count, че нещо не го намерих..

Link to comment
Share on other sites

Така значи за тези които ощр не са го намерили, пускам следната извадка от Version History на Winamp, тя е 10-тина версии преди текущата:

Winamp 5.0beta3 11/07/03:
* modern skin updates :
 - new skin drop
 - fixed winamp3 skins windowshade not being used :
   - prevented use of autoclose="1" in < 1.0 skins (wasn't doing anything in 0.8 but breaks windowshades if used in 1.0)
   - added autoavailable="0" to drawer's wndholder params (should _not_ be used in floating component windows unless you know what you are doing)
 - fixed maddoubleclicks on switch to vis/video spawning undocked wnd
 - fixed vertical componentbucket sizes stuff, added functions to use as custom bucket
 - fixed freetype wrapped text draw
 - removed wa2 skinned cursors in freeform mode
 - removed some wa2 drawing in freeform mode for speed and clarity
 - fixed window position being forgotten when fonts dpi is not 96 (thx dougieha!)
 - added leftpadding & rightpadding params for text objects
 - added auto-100% opacity option, monitors mouse hovering a layout and brings it temporarilly back to fully opaque
 - fixed multimonitor tooltips
 - added multimonitor compliant offscreen detection, brings back to main screen if window is lost, ignored if docked to main window
 - added metadata access for scripts (only to currently playing item) 
 - made color themes auto update to new groups in default theme
 - fixed unwanted window activations
 - fixed region optimizations
 - made grid object build its region (finally)
 - added container.getCurLayout(), container.close()
 - added noparent param for layouts (excludes from the minimize/restore window group)
 - added forcealpha param for layouts to prevent screen burps when changing often transparency (keeps layered flag if alpha=255)
 - added layout.getDesktopalpha(), layout.istransparencysafe()
 - added system.isminimized(), system.minimize(), system.restore();
 - added system.getplaylistlength(), system.getplaylistindex();
 - fixed layout.setalpha()
 - fixed changing display param on text objects after init
 - made random button toggle random instead of switching to a random preset, changed avs & milkdrop accordingly
 - added submenu to views in all 3 playlists popup menus
 - fixed keyboard shortcuts not being redirected to winamp in some circumstances (ie, titlebar click in library)
 - fixed keyboard cancelling capture when dragging (ie, ctrl+alt+dragawindow)
 - newer skin drop! with new config menu and crossfader
 - fixed isDesktopAlphaSafe() crashing in w98 (grrr) and isTransparencySafe not taking everything into account, fixes notifier in win98
 - fixed onplay being called instead of onresume in script
 - added notification of pause / resume
 - fixed double click on songtitle popping a non-responding dialog box
 - fixed double click in songtitle not cancelling text grab
 - added fullscreen flag for vis to send to winamp so that script can query if something (video or vis) is fullscreen, modified avs & milkdrop accordingly
 - linked auto100% opacity when layouts opacity is linked
 - added link all windows opacity (and auto100%) & scale, added custom opacity dialog
 - made auto100% hold time configurable
 - made another mode where scale lock is just ignored, and everything is locked
 - fixed notifier being in the menu (added nomenu param to containers)
 - fixed forced-auto100%-opacity on window request (ie, video/milkdrop)
 - fixed docking and moving the notifier leading to crash
 - fixed opening scale menu in notifier and clicking ok when notifier is gone crashb
 - added distance to window for auto100%
 - added configurability of fadein, hold, fadeout time for auto100%
 - disabled video/vis drawer when not in 100% opacity for microsoftish reasons
 - added Layout.isLayoutAnimationSafe() for scripts to do the same
 - made font renderer svc load early, fixes a crash when using <truetypefont /> in gen_ff's system xml
 - added detection of hover on winamp's dialogs & menus for auto100
 - fixed (00:00) in title when playing streams
* added user-definable global hotkeys (gen_hotkeys)  
* added font override combo for pledit
* added "recent items" view to media library (independent of main library data -- tracks files, streams, etc)
* added column customization in library (right click on columns header)

 

-------------------END Bla Bla Bla --------------------------

 

Gledai TUKA...!!!

 

* added comment, play count, last played, last updated, and ratings columns

 

Do TUKA...!!!

 

-----------------------i pak Bla Bla Bla -------------------------------

* added ratings setting context menu in media view
* made the library detect alt+3 tag changes from within winamp and keep DB up to date
* added query editor, whoohoo
* added option to use pledit font in trees and views, then justin fixed it;)
* updated to new sonic SDK
* fixed mini info viewer bugs 
* made winamp use filename guesswork even when library isn't open for script access and title 
 formatting (of course, only if no metadata is in the file)
* made library info viewer have meaningful info on artist/album clicks
* made library never add .cda files
* created general API so people can use the sendto menu in ml plugins and in other plugins
* added ML DB API, and ML plugin adding API for other kinds of plugins
* added sendto menu to playlist editor context menu
* made nsv/mp3 tag editting not increment play count
* added data track checks in CD ripping
* added spacebar shows current playlist item in playlist editor
* made ml's recent items optional, and moved config for it to prefs (added option for how 
 many days to keep items in list, too)
* made ml's internet tv/radio items optional.
* made library DB file updating more robust, and added a ton of code to recover corrupted DB.

 

...От това по-ясно - здраве му кажи... :D

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...