|
|
| |
| |
Èñêàòü íà ñàéòå, â èíòåðíåòå |
| |
|
| |
|
| |
|
|
| |
Ñåðãåé Ìîñêàëåíêî
Êàê ÿ ïèñàë mp3tagConverter.
http://camopu.rhorse.ru/prg/mp3tagcorrector.html
Ëþáîìó, êòî ñëóøàåò ìóçûêó íà Ìàêå, çíàêîìû "áåëèáåðäà", êîòîðàÿ ïîëó÷àåòñÿ ïðè íåêîòîðûõ "íåïðàâèëüíûõ" êîäèðîâêàõ òàãîâ â mp3-ôàéëàõ.

ß ñòîëêíóëñÿ ñ ýòîé ïðîáëåìîé òðè ãîäà íàçàä, êîãäà òîëüêî ïîñòóïèë íà ðàáîòó â íàøó êîìïàíèþ. Áûëî ìíîæåñòâî ðàçëè÷íûõ íåóäîáñòâ è íåïðèâû÷íîñòåé, ñâÿçàííûõ ñî ñìåíîé ñèñòåìû è ïëàòôîðìû, ïîýòîìó ÿ íå óäåëÿë ñëèøêîì ìíîãî âíèìàíèÿ áóêîâêàì-"êðèâëÿêàì" â ïëåé-ëèñòàõ. Îäíàêî, ñïóñòÿ ïðèìåðíî ïîëãîäà ìíå ýòî íàäîåëî, ÿ íå íàøåë íè îäíîãî êîððåêòîðà, à âñòðîåííûå â iTunes âîîáùå íå ðàáîòàëè.
ß ðåøèë íàïèñàòü ñâîé êîððåêòîð-êîíâåðòîð. Äëÿ íà÷àëà ÿ ðàçîáðàëñÿ ñî ñòàðûìè mp3-òàãàìè, à òàêæå ñ òàãàìè iTunes, êîòîðûå ïðîñòî îòíîñÿòñÿ ê ñëåäóþùåìó ïîêîëåíèþ òàãîâ è ïîçâîëÿþò âêëþ÷àòü â ñâîå òåëî íå òîëüêî òåêñòîâóþ èíôîðìàöèþ ïðî èñïîëíèòåëÿ, íàçâàíèå ïåñåí, àëüáîìà è òàê äàëåå, à è ãðàôè÷åñêèå ýëåìåíòû - òàêèå, êàê îáëîæêà àëüáîìà è äàæå íåáîëüøèå âèäåîðîëèêè. Ìåíÿ ýòè âîçìîæíîñòè íå èíòåðåñîâàëè, ÿ ïðîñòî îòìåòèë ïðî ñåáÿ, ÷òî ýòî âîçìîæíî.
ß íàïèñàë êîìàíä-ëàéíîâóþ òóëçó(òàê ó íàñ íàçûâàþò óòèëèòû). Îíà áûëà ïðîñòîé êàê ïàëêà - ïðîñòî áðàëà ôàéë è êîððåêòèðîâàëà ñîîòâåòñòâóþùèå ïîëÿ. Óòèëèòîé ïîëüçîâàëèñü ðåáÿòà â íàøåé Êîìïàíèè è îñîáûõ íåóäîáñòâ íå èñïûòûâàëè, äîâîëüñòâóÿñü bash-ôàéëîì ïðèìåðíî ñëåäóþùåãî ñîäåðæàíèÿ:
#!/bin/sh
find . -type f -name "*.mp3" -exec ./mp3tagConverter \{\} \;
 ïðîöåññå ìíîãî÷èñëåííûõ ïåðååçäîâ ñ êîìïüþòåðà íà êîìïüþòåð èñõîäíèêè áëàãîïîëó÷íî çàòåðÿëèñü, à ïèñàòü çàíîâî ìíå íå õîòåëîñü. Ïîýòîìó, ÿ ðåøèë, ïóñòü îñòàåòñÿ ñòàðûé êîìàí-ëàéíîâûé êîíâåðòîð. Íåîáõîäèìî ëèøü äîïèñàòü ê íåìó ïðîñòåéøèé ãðàôè÷åñêèé èíòåðôåéñ. Ïðîãðàììà áûëà íàïèñàíà çà 2 ÷àñà. Ñåðäöåì åå ïîñëóæèëè äâà îñíîâíûõ ìåòîäà:
- (BOOL)application:(NSApplication *)sender openFile:(NSString *)filename
{
[self checkForFolderAndProcessFile:filename];
return YES;
}
- (void)application:(NSApplication *)sender openFiles:(NSArray *)filenames
{
int i, m = [filenames count];
for (i = 0; i < m; i++)
[self checkForFolderAndProcessFile:[filenames objectAtIndex:i]];
}
Íàïèñàííàÿ ðàíåå óòèëèòà ïîïðîñòó óêëàäûâàëàñü â ðåñóðñû, à çàòåì çàïóñêàëàñü ñ ñîîòâåòñòâóþùèì ïàðàìåòðîì. Âîò, ñîáñòâåííî, è âñå.
Ïîëüçóéòåñü íà çäîðîâüå.

ÑÑÛËÊÈ.
ÑÑÛËÊÈ.
1. Ðåçþìå àâòîðà ñòàòüè (äèíàìè÷åñêîå - ñîäåðæèìîå è ôîòî ìåíÿþòñÿ â çàâèñèìîñòè îò âðåìåíè çàãðóçêè).
http://camopu.rhorse.ru/resume.html
2. Ñòàòüÿ. "Ñòðàòåãè÷åñêèå ïëàíû Apple èëè 'Ìàøèíà Âðåìåíè' ñóùåñòâóåò".
http://camopu.rhorse.ru/apple.html
3. Ëèòåðàòóðíîå òâîð÷åñòâî àâòîðà (ñòèõè, ïðîçà).
http://www.stihi.ru/author.html?sergey_msv
http://www.proza.ru/author.html?sergey_msv
4. Ïðîãðàììû, ñòàòüè, ôîòîãðàôèè Àâòîðà.
http://camopu.rhorse.ru
5. Ñîäåðæàíèå òåñòîâ ïî C++ è Objective-C, ïðîéäåííîå Àâòîðîì â Êèåâå âî âðåìÿ ñîáåñåäîâàíèé (ïîñòîÿííî îáíîâëÿåòñÿ è äîïîëíÿåòñÿ).
http://camopu.rhorse.ru/articles/c-plus-plus_objective-c_tests_in_kiev.html
Âñå àâòîðñêèå ïðàâà ïðèíàäëåæàò Àâòîðó (c) Ñåðãåé Ìîñêàëåíêî.
Àâòîð ðàçðåøàåò ðàçìåùàòü äàííóþ ñòàòüþ â íåèçìåíåííîì âèäå íà Âàøèõ ñàéòàõ. Îáÿçàòåëüíî ñîîáùèòå àäðåñ - ñîîòâåòñòâóþùàÿ ññûëêà ïîÿâèòñÿ íà ñàéòàõ Àâòîðà.
Copyright (c) Serge Moskalenko.
| |
| |
|
|
|
|
|
Ñòàòüè
Ãðàôèêà
|
|
|
Êîíêóðñ 15000 $
Õîä Êîíêóðñà
|
| |
Ðåçþìå
|
| |
Ïðîãðàììû
Ñåðâèñû ñàéòà
|
| |
Ôîðóì
|
| |
Ñêàçàòü "ñïàñèáî", ïîääåðæàòü ñàéò:
|
| |
|
| |
| |
| |
00441302
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
| |
|
| Äèçàéí-ñòóäèÿ
"Ôåîôàí Ãðåê (ïðîñòîòà áåç ïåñòðîòû)" |
|
|
|