[identity profile] les-t.livejournal.com posting in [community profile] useful_faq
Вопрос идиотки:
записываешь файлы на диск (флешку). Они записываются туда в определенном порядке. Затем можно изменить отображение этих самых файлов, во всяком случае, винда это точно позволяет, т.е. сортировать по имени или типу и т.д.
Но изменение отображения не меняет физическое местонахождение файлов, да?
Теперь вопрос: а как показать именно тот порядок, в котором эти файлы действительно находятся?

P.S. купила себе в машину FM-модулятор, а он с флешки файлы читает с том порядке, как они записаны. Пытаюсь создать случайный порядок песен руками :)

Date: 2008-08-22 08:19 am (UTC)
From: [identity profile] alex-djk1.livejournal.com
Ну что-то типо:
opendir( dir, "." );
@l = readdir( dir );
for( $i = 1; $#l > 0; $i++ ) {
if (($s = $l[ p = random( $#l ) ]) =~ /\.mp3$/) {
rename $s, $i."_".$s;
splice @l, $p, 1;
}}
Правда не проверял, будет ли выполнятся :) Набросал от руки :)

Date: 2008-08-22 08:42 am (UTC)
From: [identity profile] alex-djk1.livejournal.com
Ничем. Перл не компилируется. Он выполняется сразу на месте. Сохраняете в папку с мп3-файлами и запускаете файл (ну конечно после установки самого перла - примерно 6 метров). И он начинает работать. Ну или что вероятнее ругается на синтаксические и другие ощибки :)

Date: 2008-08-22 08:48 am (UTC)
From: [identity profile] alex-djk1.livejournal.com
Перл (http://www.activestate.com/Products/activeperl/index.mhtml)
Если будете качать - скажите, отдебужу скрипт. Перловые файлы по умолчанию имеют расширение pl.

Date: 2008-08-22 08:55 am (UTC)
From: [identity profile] gudguy.livejournal.com
блин=) давай я ешщё на пхп пару кодов напишу, настроим апач, поставим масю,офоромим девушки статический айпи, домен... и будет она слушать ту музыку, что ей запишет на флеху саморетяни из тырнетов=)) во уж точно шафл будет=)

Date: 2008-08-22 09:04 am (UTC)
From: [identity profile] alex-djk1.livejournal.com
Гавно вопрос. Можно и так.
Но перла+этот скрипт хватит выше крыши.
Либо, как вариант, берете ручками тысчу файлов в папке и начинаете случайно их переименовывать. Че такого-то, несложно и более-менее надежно.
А можно еще попросить к примеру микрософт написать супер-утилиту по переименовыванию файлов. Что-нить типо microsoft multimedia file renamer and shuffler.

Date: 2008-08-22 11:01 am (UTC)
From: [identity profile] gudguy.livejournal.com
MySql - база данных, бесплатная=)

Date: 2008-08-22 10:17 am (UTC)
From: [identity profile] alex-djk1.livejournal.com
Ну если нашли, как с той страницы слить перл, то все не так уж и плохо :) Счас оттестю тот скрипт.

Date: 2008-08-22 10:42 am (UTC)
From: [identity profile] alex-djk1.livejournal.com
Винда 32 бита? Если да - то вот прямая ссылка (http://downloads.activestate.com/ActivePerl/Windows/5.10/ActivePerl-5.10.0.1003-MSWin32-x86-285500.msi) на инсталлер. Больше ниче не надо (если у вас там не порущены библиотеки какие-нить системные). Счас его солью и проверю все.

Date: 2008-08-22 10:29 am (UTC)
From: [identity profile] alex-djk1.livejournal.com
Ставите перл. Ниче сложного нету.
Сохраняете скрипт в файл (типо pl). Потом создаете новую папку, натаскиваете (копируете!) туда кучу мп3 (ну что надо смешать), копируете туда этот скриптик, запускаете. Он ко всем файлам добавляет спереди случайный номер. Если еще раз запустите - то номер еще раз добавляется, а не заменяется. То есть запустив раз эдак 50-100 скрипт можно потерять все файлы или свести их к нечитабельности из-за длины имени, поэтому советую копировать их в отдельную папку (хоть на флешку).

#!/perl
opendir( dir, "." );
@l = readdir( dir );
for( $i = 1; $#l > 0; )
{
if (($s = $l[ $p = rand( $#l ) ]) =~ /\.mp3$/)
{ rename $s, sprintf( "%03d", ($i++) )."_".$s; }
splice @l, $p, 1;
}

Date: 2008-08-22 10:44 am (UTC)
From: [identity profile] alex-djk1.livejournal.com
Да фигня-война :) Прорвемся. Все равно сижу и ниче не делаю.

Date: 2008-08-22 10:52 am (UTC)
From: [identity profile] alex-djk1.livejournal.com
Ответил удаленным коментом.

Date: 2008-08-22 08:46 am (UTC)
From: [identity profile] alex-djk1.livejournal.com
К тому-же тут сплайс стоит не там. Он должон стоять после предпоследней скобки, а не перед.