сделал практически так же)))
Queue.Clear;//очищаем плейлист
Dir['I:\пробная'].Rescan;
Dir['I:\пробная'].QueueDir(ipBottom);
Queue.Shuffle;//перемешиваются треки
Dir['I:\джинглы'].Rescan;
Dir['I:\джинглы'].QueueTop(smRandom, NoRules);//выбераем случайный трек из "путь" и ставим его вверх очереди
Добавлено спустя 3 минуты 3 секунды:
Другая терь проблема)))
Есть скрипт, он накладывает джинглы поверх песни:
var Song : TSongInfo;
var P : TPlayer;
PAL.Loop := True; // скрипт будет выполнятся постоянно
PAL.WaitForPlayCount(3); // ставим задержку на 3 песни
P := SoundFX; // говорим через чего играть
if P <> nil then // если нет проблем то..
begin
Song := CAT['Station IDs (All)'].ChooseSong(1,NoRules); // ..выбераем откудо и что играть
if Song <> nil then // если есть такая песня и всё в порядке то..
begin
P.QueueSong(Song); // ..Ставим ее в очередь на проигрывание
P.Play; // проигрываем
end;
end;
Один тока вопрос, а как сделать чтоб джингл немного приглушал песню когда он запускается а потом песня снова звучала на том же уровне что и была... ??? 
RADIO-SET - это интернет портал посвящённый музыке и всему, что связано с ней. Наш проект это рабочая площадка дающая возможность начинающим талантливым музыкантам, диджеям и творческим людям сделать первые шаги и реализовать себя в мире медиа!
От организации танцевальных вечеринок до выпуска собственной музыки. Авторские программы, новости о клубной жизни городов России.
Мы открыты для всех 24 часа.
support@radio-set.ru
Веб-сайт:
www.radio-set.ru