Форум
Написать нам
  • Страница 1 из 1
  • 1
Модератор форума: as-master  
Форум MMB » Всё о программе Multimedia Builder » Сценарии в MMB » Добавление папки с музыкой в SongList (именно добавление файлов!!)
Добавление папки с музыкой в 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")

которая и затирает список. Ботаем хелп, как говорят многие biggrin



Вечная память Андрею Сергееву!
 
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)
---------------------------------------------
Все разобрался!!!!! happy
Вот польностьб рабочий скрипт, если кому надо:

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)
---------------------------------------------
а все понял!так и должно быть! wink так как становтся больше 9 песен в плейлисте и соответственно уже 2 цифры идет на номер песни, поэтому происходит такое выравнивание!

спасибо Yuriy за помощь biggrin


Искусственный интеллект - ничто по сравнению с естественной глупостью.

Сообщение отредактировал Deff - Четверг, 08 Марта 2007, 12:29
 
toizyДата: Четверг, 08 Марта 2007, 13:07 | Сообщение # 4
Группа: Удаленные





Quote (Yuriy)
Ботаем хелп

RTFM, как говорят другие smile

 
DeffДата: Понедельник, 14 Января 2008, 01:36 | Сообщение # 5
Любопытный
Группа: Проверенные
Сообщений: 30
Репутация: 0
Награды: 0
Статус: Offline
Народ, пришлось поднять тему вот по какой проблеме. После перехода на ммб 498.13 данный скрипт работает не совсем правильно. в плейлист добавляются те аудиофайлы из папки, которые НЕ(!!!) мп3!!!то есть вма, огг и т.д.!!Можно ли как нибудь сделать чтобы все работало так же как и в 497???

ps. Если нельзя, то получается я все-таки нашел в чем минус того что ММБ теперь называется ОГГ а не МП3! cry

Добавлено (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)
я все-таки нашел в чем минус того что ММБ теперь называется ОГГ

Должен тебя разочаровать - НИЧЕГО ТЫ НЕ НАШЕЛ smile

Quote (Deff)
Да, и еще..... анализатор не работает с вма, огг и т.д

С wma не проверял, а вот с ogg - точно работает. В моем Гитарном тюнере
используются именно файлы ogg (и еще wav). И с обоими типами файлов
визуализация работает, можешь посмотреть smile


Да пребудет с вами ММВ!
 
toizyДата: Понедельник, 14 Января 2008, 11:30 | Сообщение # 7
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
Quote (Deff)
пришлось поднять тему вот по какой проблеме

Зря. А то скоро юбилей smile

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 файлы а всю остальную музыку!Все-таки согласитесь, что-то в этом есть! wink (в том плане что некоторые изменения все-таки произошли в новой версии ммб относительно мп3 формата пусть и очень несущественные)

Quote (as-master)
С wma не проверял, а вот с ogg - точно работает. В моем Гитарном тюнереиспользуются именно файлы ogg (и еще wav). И с обоими типами файловвизуализация работает, можешь посмотреть

Согласен, с огг работает анализатор) Но с вма все-таки нет! Ну ладно фиг с этим вма)Его уже очень мало осталось у большинства пользователей)

Quote (toizy)
Quote (Deff) Да, и еще..... анализатор не работает с вма, огг и т.д.!Это только у меня так или у всех??

Код пиши сюда.


Какой еще может быть код? wink Просто добавляется объект анализатор в проект и при воспроизведении музыки он должен "прыгать" wink

Добавлено (14 Январь 2008, 14:53)
---------------------------------------------

Quote (toizy)
Зря. А то скоро юбилей

Да, ты прав, нужно было дождаться)) biggrin

Добавлено (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 папки содержащей в названии # , музыка, находящаяся в ней, добавиться, но вот играть она не станет!! sad
К примеру папка "Музыка" добавиться и воспроизведеться без проблем а вот папка "#Музыка" или "Муз#ыка" уже не будет воспроизводиться.

Если сделать, чтобы плейлист автоматически сохранялся в файл, то видно что данный знак # он не сохраняет откуда получается что таких файлов не находит программа=> они и не играют...(((

В чем может быть проблема??Пробовал использовать скрипт приведенный 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. Увидишь необычную вещь)Та папка которая последняя добавилась в конец списка добавиться а запускаться будет.... не знаю как написать ты запусти мой проект и увидишь. А потом закрой проект и еще раз открой но только нажимая мою кнопку и увидишь что все будет номр работать. Но только главное чтобы там не было папки с #.

Прикрепления: folderadd.mbd (4.4 Kb)


Искусственный интеллект - ничто по сравнению с естественной глупостью.
 
toizyДата: Понедельник, 14 Января 2008, 15:58 | Сообщение # 11
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
Quote (Deff)
Попробуй добавь папку потом еще папку

ОК, но не раньше восьми часов smile


Жизнь оказалась не такой уж и забавной, как поначалу...
 
DeffДата: Понедельник, 14 Января 2008, 16:13 | Сообщение # 12
Любопытный
Группа: Проверенные
Сообщений: 30
Репутация: 0
Награды: 0
Статус: Offline
Отлично)Но лучше вот эту версию запускай. Она более удобная для тестов думаю.
Прикрепления: folderadd.mbd (28.4 Kb)


Искусственный интеллект - ничто по сравнению с естественной глупостью.
 
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, если параметр УКАЗАН!!!
Как думаю так? Ведь у меня указан, и всё открывается smile

Так что этот вопрос снят. Параметр НУЖЕН!!! Без него действительно не работает -
я сам проверил.

Добавлено (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 очень даже ищутся smile
остальные да...не ищутся sad


Искусственный интеллект - ничто по сравнению с естественной глупостью.
 
as-masterДата: Воскресенье, 20 Января 2008, 21:46 | Сообщение # 24
Разводящий
Группа: Модераторы
Сообщений: 2337
Репутация: 101
Награды: 5
Статус: Offline
Quote (Deff)
в 498 без добавления второго параметра файлы WMA очень даже ищутся

Ну это уж совсем дурдом...
Тогда хотя бы wav и ogg должны бы искаться.
Тем более, что 498 - теперь Multimedia Builder OGG - это официально smile

Прикрепления: 8042192.png (38.8 Kb)


Да пребудет с вами ММВ!
 
Форум MMB » Всё о программе Multimedia Builder » Сценарии в MMB » Добавление папки с музыкой в SongList (именно добавление файлов!!)
  • Страница 1 из 1
  • 1
Поиск: