SongList в ListBox: CBK_ID3Artist и CBK_ID3Song
|
|
ilunga | Дата: Четверг, 28 Сентября 2006, 19:44 | Сообщение # 1 |
Новый участник
Группа: Проверенные
Сообщений: 21
Репутация: 0
Награды: 0
Статус: Offline
| Когда в ListBox отображается загруженный SongList, то в строке каждого трека выводятся Artist+Song, т.е. Исполнитель и Название трека. Можно ли сделать так, чтобы выводилось какое-либо одно значение из этих двух, не убивая при этом тэги самих MP3-файлов? И ещё: длинные названия при таком выводе обрезаются - и в первом, и во втором параметре. Можно ли это как-то отрегулировать? (просмотрел HELP программы по MP3, SongList и ListBox, но ничего не нашёл
|
|
| |
YURIY | Дата: Суббота, 30 Сентября 2006, 20:52 | Сообщение # 2 |
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
| Quote (ilunga) | Можно ли сделать так, чтобы выводилось какое-либо одно значение из этих двух, не убивая при этом тэги самих MP3-файлов? | Можно... Вопрос сложный. Думаю. Quote (ilunga) | И ещё: длинные названия при таком выводе обрезаются - и в первом, и во втором параметре. Можно ли это как-то отрегулировать? | Как это "обрезается"? Просто они не помещается и программа пишет точки в конце. Это же логично?!
Вечная память Андрею Сергееву!
|
|
| |
ilunga | Дата: Воскресенье, 01 Октября 2006, 02:51 | Сообщение # 3 |
Новый участник
Группа: Проверенные
Сообщений: 21
Репутация: 0
Награды: 0
Статус: Offline
| Quote (Yuriy) | Как это "обрезается"? | Обрезается так: сколько бы не отводилось места: либо на Artist, либо на Song (через отображение играющего файла), либо на них вместе взятых в ListBox, всё равно - названия обрезаются через сколько-то символов, даже если строка в 2 раза длинней.
|
|
| |
YURIY | Дата: Среда, 18 Октября 2006, 23:02 | Сообщение # 4 |
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
| Совсем забыл за вашу проблему… Прошу прощения. Исходя из моих соображений, получился такой вот проект (смотрите прикреплённый файл). Буду рад любым поправкам с вашей стороны! Здесь подробности работы проекта писать не буду – я это хорошо в виде комментариев оформил в сценарии кнопки. P. S. Один минус: уходит время трека, которое стоит в списке справа… Надо ещё подумать… А пока я его убрал из списка. Удачи!
Вечная память Андрею Сергееву!
|
|
| |
ilunga | Дата: Суббота, 21 Октября 2006, 20:25 | Сообщение # 5 |
Новый участник
Группа: Проверенные
Сообщений: 21
Репутация: 0
Награды: 0
Статус: Offline
| Благодарен Вам за внимание и за подробные комменты, но работает ли? Если же у Вас не так, то тогда я не знаю, где в системе искать причину
|
|
| |
YURIY | Дата: Суббота, 21 Октября 2006, 20:56 | Сообщение # 6 |
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
| ilunga, всё абсолютно правильно. На рисунке, где вы показываете "реальные теги" - это ваши теги ID3v2 - у них нет ограничений по информации. А MMB понимает ТОЛЬКО теги ID3v1, а у них ограничение по названию песни - 30 символов, что мы с вами и наблюдаем во второй части картинки! Если вы мне не верите - Винамп вам докажет Ничего не остаётся делать, как вам в тегах ID3v1 написать другую информацию размером не более 30 символов. Это можно сделать и Винампе.
Вечная память Андрею Сергееву!
|
|
| |
ilunga | Дата: Воскресенье, 29 Октября 2006, 12:34 | Сообщение # 7 |
Новый участник
Группа: Проверенные
Сообщений: 21
Репутация: 0
Награды: 0
Статус: Offline
| Спасибо. Фишку понял. Но усечь названия российских православных хоров (ибо их надо было вставлять) я не в силах Там всё очень длинно. Видимо, краткость (как сестра таланта) не котируется в тамошней среде.
|
|
| |
YURIY | Дата: Вторник, 31 Октября 2006, 22:57 | Сообщение # 8 |
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
| Ну хорошо. Тогда встречный вопрос: может у вас один и тот же список файлов? А что, если в начале внести свои строки в SongList и также запускать песни? Тогда полные имена мы сможем прописать! Или же добавлять в список не информацию из CBK_ID3Song, а имя файла, а в имени файла написать полное название композиции.
Вечная память Андрею Сергееву!
|
|
| |
ilunga | Дата: Пятница, 15 Декабря 2006, 01:23 | Сообщение # 9 |
Новый участник
Группа: Проверенные
Сообщений: 21
Репутация: 0
Награды: 0
Статус: Offline
| после долгих изысканий пришёл к странному наблюдению: если в плейлисте есть полные названия композиции и артиста, то командой OpenFile они выводятся в SongList - это здорово. Но при попытке вывести их командой SongListLoad - тут хоть тресни, НЕ ВЫВОДИТСЯ, а читаются ТЭГИ! Я догадываюсь, что всё дело в ЧТЕНИИ формата файла плейлиста. Но почему OpenFile вычитывает этот плейлист как надо, а SongListLoad - ни хрена!? (при прочих остальных равных строках) Как это победить? Как заставить SongListLoad вычитывать в плейлисте инфу о треках, а не просто загружать mp3? ----------------------------------- нашёл формулу, которая выводит через SongListLoad играюший плейлист с дополнительной инфой (оказалось просто, но ни в одном примере хелпа и проектов не нашлось): playlist$ = '<SrcDir>/playlist.m3u' SongListLoad("playlist$","") ListBoxAddItem("SongList","playlist$") Всего-то надо было в последней строке поменять параметр <List> на playlist$
Сообщение отредактировал ilunga - Пятница, 15 Декабря 2006, 03:02 |
|
| |
dronet | Дата: Пятница, 05 Октября 2007, 05:27 | Сообщение # 10 |
Любопытный
Группа: Проверенные
Сообщений: 38
Репутация: 0
Награды: 0
Статус: Offline
| Народ! Мне надо выделить в SongList последнюю строчку через скрипт а не шелчком мыши. Это возможно?
Andress
|
|
| |
as-master | Дата: Пятница, 05 Октября 2007, 09:06 | Сообщение # 11 |
Разводящий
Группа: Модераторы
Сообщений: 2337
Репутация: 101
Награды: 5
Статус: Offline
| Конечно! И очень просто: ListBoxSelectItem("SongList","num"), где num - номер строчки. Если не знаешь номер строчки, то его можно узнать. Тогда напиши так: ListBoxGetItems("SongList","Items$,ItemsNum$,#,NumItems") num=NumItems ListBoxSelectItem("SongList","num")
Да пребудет с вами ММВ!
|
|
| |
dronet | Дата: Пятница, 05 Октября 2007, 11:09 | Сообщение # 12 |
Любопытный
Группа: Проверенные
Сообщений: 38
Репутация: 0
Награды: 0
Статус: Offline
| Quote (as-master) ListBoxGetItems("SongList","Items$,ItemsNum$,#,NumItems") num=NumItems ListBoxSelectItem("SongList","num") Спасибо!! Я был близко но за место ,#,NumItems") У меня стояло ,#,Count") И за место num=NumItems я писал что угодно но только не это. А вообше за что отвечает это - ,Count")?
Andress
|
|
| |
as-master | Дата: Пятница, 05 Октября 2007, 13:57 | Сообщение # 13 |
Разводящий
Группа: Модераторы
Сообщений: 2337
Репутация: 101
Награды: 5
Статус: Offline
| Можешь и Count оставить - какая разница Это переменная, в которой хранится число строк листа. Тогда надо написать: num=Count А вообще, я торможу. Ничего и не надо писать! Сразу можно так: ListBoxGetItems("SongList","Items$,ItemsNum$,#,Count") ListBoxSelectItem("SongList","Count")
Да пребудет с вами ММВ!
|
|
| |