Добавление папки с музыкой в SongList
|
|
Deff | Дата: Среда, 07 Марта 2007, 21:15 | Сообщение # 1 |
Любопытный
Группа: Проверенные
Сообщений: 30
Репутация: 0
Награды: 0
Статус: Offline
| Перепробовал все плееры, которые только смог, но так и не нашел очень, на мой взгляд, важной вещи. Во всех этих плеерахесть кнопка, при нажатии на которую составляется плейлист из папки которую укажет пользователь. А мне нужно сделать чтобы при нажатии просто ДОБАВЛЯЛИСЬ файлы в плейлист(т.е. не затирая предыдущий плейлист). Можно ли это как-то реализовать??Я пробовал уже по разному, но так и не додумался :(..все как то не так работает... ....
Искусственный интеллект - ничто по сравнению с естественной глупостью.
Сообщение отредактировал Deff - Среда, 07 Марта 2007, 21:18 |
|
| |
YURIY | Дата: Среда, 07 Марта 2007, 22:40 | Сообщение # 2 |
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
| Убрать команду Code | ListBoxAddItem("ИМЯ_СПИСКА","RESET") | которая и затирает список. Ботаем хелп, как говорят многие
Вечная память Андрею Сергееву!
|
|
| |
Deff | Дата: Четверг, 08 Марта 2007, 12:28 | Сообщение # 3 |
Любопытный
Группа: Проверенные
Сообщений: 30
Репутация: 0
Награды: 0
Статус: Offline
| Я тк пробовал!!!Все равно затирает!!! Вот мой скрипт: Quote | BrowseForFolder("Укажите папку, содержащую аудиофайлы.","") mp3dir$=CBK_OpenDir If (mp3dir$ <> '') Then SearchForFiles("mp3dir$","") ListBoxAddItem("Master Page::SongList","<List>") ListBoxSortItems("Master Page::SongList","NAME") SongListReset() ListBoxGetItems("Master Page::SongList","<List>") End | (плеер как видно находится на мастер page) Добавлено (08 Марта 2007, 11:29) --------------------------------------------- все разобрался. надо еще убрать SongListReset() спс за помощь Добавлено (08 Марта 2007, 11:35) --------------------------------------------- Блин, все равно работает неправильно!!!Добавляет то он добавляет (кстати я еще убрал из скрипта сортировку по имени), но вот при двойном щелчке воспроизводит не тот файл который нужен. наример в плейличте было 2 файла. добавил папку из примерно 15 файлов. нажимаю на 5 а он воспроиводит седьмой файл!!как сделать чтобы он правильно все делал????? Добавлено (08 Марта 2007, 12:26) --------------------------------------------- Все разобрался!!!!! Вот польностьб рабочий скрипт, если кому надо: Quote | BrowseForFolder("Укажите папку, содержащую аудиофайлы.","") mp3dir$=CBK_OpenDir If (mp3dir$ <> '') Then SearchForFiles("mp3dir$","") ListBoxAddItem("Master Page::SongList","<List>") SongListReset() ListBoxGetItems("Master Page::SongList","<List>") End | Правда есть один недочет- после того как добавлили папку в плейлист перед всеми названиями пояляются пробелы! нпример было: 1. Песня 1 2. Песня 2 а стало: 1. Песня 1 2. Песня 2 и т.д. как видно теперь 2 пробела после номера в списке!как бы это исправить?? Добавлено (08 Марта 2007, 12:28) --------------------------------------------- а все понял!так и должно быть! так как становтся больше 9 песен в плейлисте и соответственно уже 2 цифры идет на номер песни, поэтому происходит такое выравнивание! спасибо Yuriy за помощь
Искусственный интеллект - ничто по сравнению с естественной глупостью.
Сообщение отредактировал Deff - Четверг, 08 Марта 2007, 12:29 |
|
| |
toizy | Дата: Четверг, 08 Марта 2007, 13:07 | Сообщение # 4 |
Группа: Удаленные
| RTFM, как говорят другие
|
|
| |
Deff | Дата: Понедельник, 14 Января 2008, 01:36 | Сообщение # 5 |
Любопытный
Группа: Проверенные
Сообщений: 30
Репутация: 0
Награды: 0
Статус: Offline
| Народ, пришлось поднять тему вот по какой проблеме. После перехода на ммб 498.13 данный скрипт работает не совсем правильно. в плейлист добавляются те аудиофайлы из папки, которые НЕ(!!!) мп3!!!то есть вма, огг и т.д.!!Можно ли как нибудь сделать чтобы все работало так же как и в 497??? ps. Если нельзя, то получается я все-таки нашел в чем минус того что ММБ теперь называется ОГГ а не МП3! Добавлено (14 Январь 2008, 01:36) --------------------------------------------- Да, и еще..... анализатор не работает с вма, огг и т.д.!Это только у меня так или у всех??
Искусственный интеллект - ничто по сравнению с естественной глупостью.
|
|
| |
as-master | Дата: Понедельник, 14 Января 2008, 11:14 | Сообщение # 6 |
Разводящий
Группа: Модераторы
Сообщений: 2337
Репутация: 101
Награды: 5
Статус: Offline
| Quote (Deff) в плейлист добавляются те аудиофайлы из папки, которые НЕ(!!!) мп3!!! Не знаю как у тебя, но у меня добавляются прекрасно мр3. Использовал такой вот стандартный как мне кажется сценарий: Code BrowseForFolder("","") seldir$=CBK_OpenDir If (seldir$<>'') Then SearchForFiles("seldir$","mp3") ListBoxAddItem("SongList","RESET") ListBoxAddItem("SongList","<List>") seldir$='' End Quote (Deff) я все-таки нашел в чем минус того что ММБ теперь называется ОГГ Должен тебя разочаровать - НИЧЕГО ТЫ НЕ НАШЕЛ Quote (Deff) Да, и еще..... анализатор не работает с вма, огг и т.д С wma не проверял, а вот с ogg - точно работает. В моем Гитарном тюнере используются именно файлы ogg (и еще wav). И с обоими типами файлов визуализация работает, можешь посмотреть
Да пребудет с вами ММВ!
|
|
| |
toizy | Дата: Понедельник, 14 Января 2008, 11:30 | Сообщение # 7 |
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
| Quote (Deff) пришлось поднять тему вот по какой проблеме Зря. А то скоро юбилей Quote (Deff) Да, и еще..... анализатор не работает с вма, огг и т.д.!Это только у меня так или у всех?? Код пиши сюда.
Жизнь оказалась не такой уж и забавной, как поначалу...
|
|
| |
Deff | Дата: Понедельник, 14 Января 2008, 15:06 | Сообщение # 8 |
Любопытный
Группа: Проверенные
Сообщений: 30
Репутация: 0
Награды: 0
Статус: Offline
| Quote (as-master) Использовал такой вот стандартный как мне кажется сценарий: Code BrowseForFolder("","")seldir$=CBK_OpenDirIf (seldir$<>'') Then SearchForFiles("seldir$","mp3") ListBoxAddItem("SongList","RESET") ListBoxAddItem("SongList","<List>") seldir$=''End Спасибо. Я понял в чем дело. Все дело в том, что в версии 497 в параметре searchforfiles необязательно было в скобках указывать mp3. Программа понимала это как само собой разумеющееся. Но теперь в 498 программа автоматиччески не ищет мп3 файлы а всю остальную музыку!Все-таки согласитесь, что-то в этом есть! (в том плане что некоторые изменения все-таки произошли в новой версии ммб относительно мп3 формата пусть и очень несущественные) Quote (as-master) С wma не проверял, а вот с ogg - точно работает. В моем Гитарном тюнереиспользуются именно файлы ogg (и еще wav). И с обоими типами файловвизуализация работает, можешь посмотреть Согласен, с огг работает анализатор) Но с вма все-таки нет! Ну ладно фиг с этим вма)Его уже очень мало осталось у большинства пользователей) Quote (toizy) Quote (Deff) Да, и еще..... анализатор не работает с вма, огг и т.д.!Это только у меня так или у всех?? Код пиши сюда. Какой еще может быть код? Просто добавляется объект анализатор в проект и при воспроизведении музыки он должен "прыгать" Добавлено (14 Январь 2008, 14:53) ---------------------------------------------
Quote (toizy) Зря. А то скоро юбилей Да, ты прав, нужно было дождаться)) Добавлено (14 Январь 2008, 15:06) --------------------------------------------- Вот еще одна пролемка. Вот мой код добавления папки в SongList: Code BrowseForFolder("Укажите папку, содержащую аудиофайлы.","") mp3dir$=CBK_OpenDir If (mp3dir$ <> '') Then SearchForFiles("mp3dir$","") ListBoxAddItem("Master Page::SongList","<List>") SongListReset() ListBoxGetItems("Master Page::SongList","<List>") End При попытки добавления в SongList папки содержащей в названии # , музыка, находящаяся в ней, добавиться, но вот играть она не станет!! К примеру папка "Музыка" добавиться и воспроизведеться без проблем а вот папка "#Музыка" или "Муз#ыка" уже не будет воспроизводиться. Если сделать, чтобы плейлист автоматически сохранялся в файл, то видно что данный знак # он не сохраняет откуда получается что таких файлов не находит программа=> они и не играют...((( В чем может быть проблема??Пробовал использовать скрипт приведенный as-master. В нем такие папки играют. А во моем не хотят!Почему?? (Скрипт as-master использовать не могу, т.к. мне нужно добавление папки а не открытие ее)
Искусственный интеллект - ничто по сравнению с естественной глупостью.
|
|
| |
toizy | Дата: Понедельник, 14 Января 2008, 15:45 | Сообщение # 9 |
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
| Вот это Quote (Deff) SongListReset() убери. И поставь перед if остальное, как до домашнего компьютера с ММВ доберусь. Добавлено (14 Январь 2008, 15:45) --------------------------------------------- И вот это нафига Quote (Deff) ListBoxGetItems("Master Page::SongList","<List>") Убери Quote (Deff) Пробовал использовать скрипт приведенный as-master Ну так его и используй. Ну да, используй его вместо своего. А чтобы сделать Quote (Deff) добавление папки а не открытие ее то просто убери ListBoxAddItem("SongList","RESET")
Жизнь оказалась не такой уж и забавной, как поначалу...
|
|
| |
Deff | Дата: Понедельник, 14 Января 2008, 15:54 | Сообщение # 10 |
Любопытный
Группа: Проверенные
Сообщений: 30
Репутация: 0
Награды: 0
Статус: Offline
| Вот держи пример. В нем есть мой вариант добавления и вариант as-master с удаленной строкой ListBoxAddItem("SongList","RESET"). Попробуй добавь папку потом еще папку с помощью кнопки as-master. Увидишь необычную вещь)Та папка которая последняя добавилась в конец списка добавиться а запускаться будет.... не знаю как написать ты запусти мой проект и увидишь. А потом закрой проект и еще раз открой но только нажимая мою кнопку и увидишь что все будет номр работать. Но только главное чтобы там не было папки с #.
Искусственный интеллект - ничто по сравнению с естественной глупостью.
|
|
| |
toizy | Дата: Понедельник, 14 Января 2008, 15:58 | Сообщение # 11 |
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
| Quote (Deff) Попробуй добавь папку потом еще папку ОК, но не раньше восьми часов
Жизнь оказалась не такой уж и забавной, как поначалу...
|
|
| |
Deff | Дата: Понедельник, 14 Января 2008, 16:13 | Сообщение # 12 |
Любопытный
Группа: Проверенные
Сообщений: 30
Репутация: 0
Награды: 0
Статус: Offline
| Отлично)Но лучше вот эту версию запускай. Она более удобная для тестов думаю.
Искусственный интеллект - ничто по сравнению с естественной глупостью.
|
|
| |
toizy | Дата: Понедельник, 14 Января 2008, 17:35 | Сообщение # 13 |
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
| Ок. Смотри Code ListBoxGetSelectedItems("SongList","Items$,ItemsNum$,#,NumItems") For i=1 To NumItems t$ = GetArrayItem(Items$,#,i) numitem$ = GetArrayItem(ItemsNum$,#,i) numitem = VAL(numitem$) SongListPlay("VAL(numitem$)") **RunScript("get titul") Next i Лучше так: Code ListBoxGetSelectedItems("SongList","Items$,ItemsNum$,#,NumItems") Item$ = GetArrayItem(Items$,#,1) AudioOpen("Item$") AudioPlay()
Жизнь оказалась не такой уж и забавной, как поначалу...
|
|
| |
Deff | Дата: Понедельник, 14 Января 2008, 17:41 | Сообщение # 14 |
Любопытный
Группа: Проверенные
Сообщений: 30
Репутация: 0
Награды: 0
Статус: Offline
| После этого вариант as-master работает точно так же как до этого работал мой вариант)То есть папка с # не играется((((( В моем варианте такие папки тоже не играют....
Искусственный интеллект - ничто по сравнению с естественной глупостью.
|
|
| |
toizy | Дата: Понедельник, 14 Января 2008, 17:52 | Сообщение # 15 |
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
| щас проверю Добавлено (14 Январь 2008, 17:52) --------------------------------------------- я немного туплю. Понял, что ты имел в виду. Тебе нужно здесь: Code GetArrayItem(Items$,#,1) поменять # на какой-л другой символ
Жизнь оказалась не такой уж и забавной, как поначалу...
|
|
| |
Alex3A | Дата: Понедельник, 14 Января 2008, 19:57 | Сообщение # 16 |
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
| Эсть такое понятие - делимитер, знак используемый для разграничение чего либо, его можно переопределять в некоторых функциях, и если ты поменяешь, к примеру, # на | то уж проследи, что бы он использовался по назначению. А вообще, уникальный пример, я бы не вжизь не додумался использовать символ # в именах. Просто привычка, только мелкими буквами и латынь, иначе можно напороться на каком нибудь серваке, и попробуй определить что ему не нравиться (винда к регистру не чувствительна, в отличие от линуксов-юниксов). Вообще то в многих языках есть так называемые зарезервированные слова, использовать которые не рекомендуют, но бывают и непонятные исключения (как то раз столкнулся, база данных не принимала имя столбца написанного по русски, какое это было слово, уже не помню ).
|
|
| |
Deff | Дата: Вторник, 15 Января 2008, 01:45 | Сообщение # 17 |
Любопытный
Группа: Проверенные
Сообщений: 30
Репутация: 0
Награды: 0
Статус: Offline
| Спасибо всем огромное)
Искусственный интеллект - ничто по сравнению с естественной глупостью.
|
|
| |
as-master | Дата: Суббота, 19 Января 2008, 20:54 | Сообщение # 18 |
Разводящий
Группа: Модераторы
Сообщений: 2337
Репутация: 101
Награды: 5
Статус: Offline
| Quote (Deff) Все дело в том, что в версии 497 в параметре searchforfiles необязательно было в скобках указывать mp3. Программа понимала это как само собой разумеющееся. Но теперь в 498 программа автоматиччески не ищет мп3 файлы а всю остальную музыку! Или я чего-то не понял, но в моем примере мр3 как раз указывалось: BrowseForFolder("","") seldir$=CBK_OpenDir If (seldir$<>'') Then SearchForFiles("seldir$","mp3") ListBoxAddItem("SongList","RESET") ListBoxAddItem("SongList","<List>") seldir$='' End И всё у меня в лист загружается и играет тоже.
Да пребудет с вами ММВ!
|
|
| |
toizy | Дата: Воскресенье, 20 Января 2008, 10:43 | Сообщение # 19 |
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
| Quote (as-master) И всё у меня в лист загружается и играет тоже. Не, ему добавление в плейлист нужно...
Жизнь оказалась не такой уж и забавной, как поначалу...
|
|
| |
as-master | Дата: Воскресенье, 20 Января 2008, 12:48 | Сообщение # 20 |
Разводящий
Группа: Модераторы
Сообщений: 2337
Репутация: 101
Награды: 5
Статус: Offline
| Quote (toizy) Не, ему добавление в плейлист нужно... Ты не понял моего вопроса. Но это уже не важно, так как я сам понял слова Deff "с точностью до наоборот". В моем-то скрипте мр3 как раз указывается, а не работает это, если НЕ указывать в качестве второго параметра к команде SearchForFiles этот самый мр3.
Да пребудет с вами ММВ!
|
|
| |
Deff | Дата: Воскресенье, 20 Января 2008, 14:06 | Сообщение # 21 |
Любопытный
Группа: Проверенные
Сообщений: 30
Репутация: 0
Награды: 0
Статус: Offline
| что-то я не понимаю что тут такое начинают обсуждать) я вот как раз и написал что раньше я не указывал mp3 как второй параметр и все равно программа находила и добавляла его в плейлист в старых версиях mmb. В версии 498 этот парметр является обязательным. Это я уже понял из примера скриптa as-master )
Искусственный интеллект - ничто по сравнению с естественной глупостью.
|
|
| |
as-master | Дата: Воскресенье, 20 Января 2008, 15:04 | Сообщение # 22 |
Разводящий
Группа: Модераторы
Сообщений: 2337
Репутация: 101
Награды: 5
Статус: Offline
| Quote (Deff) что-то я не понимаю что тут такое начинают обсуждать) Блин, я ведь уже написал, что: Quote (as-master) я понял слова Deff "с точностью до наоборот" То есть прочитав их, я сначала подумал, что в 498 не открываются мр3, если параметр УКАЗАН!!! Как думаю так? Ведь у меня указан, и всё открывается Так что этот вопрос снят. Параметр НУЖЕН!!! Без него действительно не работает - я сам проверил. Добавлено (20 Январь 2008, 15:04) --------------------------------------------- Забавно, но на самом деле в версии 497 (и наверное в более низких) команда SearchForFiles, записанная без второго параметра, искала все файлы ogg и mp3 (wav игнорировала, остальные форматы проверить не могу). А версия 498 без параметра НЕ ИЩЕТ НИЧЕГО. И это правильно, по сути. Хотя в справке, указано, что для поиска ВСЕХ расширений можно писать команду нижеперечисленными тремя способами: SearchForFiles("C:\","") SearchForFiles("C:\","*") SearchForFiles("C:\","*.*") То есть по сути способ БЕЗ указания параметра был предусмотрен для поиска ВСЕХ файлов. Однако это не так: и как для версии 497, в которой без параметра искались только некоторые типы аудиофайлов, так и для версии 497, в которой без параметра ВООБЩЕ НИЧЕГО не ищется.
Да пребудет с вами ММВ!
|
|
| |
Deff | Дата: Воскресенье, 20 Января 2008, 15:32 | Сообщение # 23 |
Любопытный
Группа: Проверенные
Сообщений: 30
Репутация: 0
Награды: 0
Статус: Offline
| Маленькая поправочка: в 498 без добавления второго параметра файлы WMA очень даже ищутся остальные да...не ищутся
Искусственный интеллект - ничто по сравнению с естественной глупостью.
|
|
| |
as-master | Дата: Воскресенье, 20 Января 2008, 21:46 | Сообщение # 24 |
Разводящий
Группа: Модераторы
Сообщений: 2337
Репутация: 101
Награды: 5
Статус: Offline
| Quote (Deff) в 498 без добавления второго параметра файлы WMA очень даже ищутся Ну это уж совсем дурдом... Тогда хотя бы wav и ogg должны бы искаться. Тем более, что 498 - теперь Multimedia Builder OGG - это официально
Да пребудет с вами ММВ!
|
|
| |