Форум
Написать нам
  • Страница 1 из 1
  • 1
Модератор форума: as-master  
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. Один минус: уходит время трека, которое стоит в списке справа… Надо ещё подумать… А пока я его убрал из списка.

Удачи!

Прикрепления: 16836749.rar (1.2 Kb)



Вечная память Андрею Сергееву!
 
ilungaДата: Суббота, 21 Октября 2006, 20:25 | Сообщение # 5
Новый участник
Группа: Проверенные
Сообщений: 21
Репутация: 0
Награды: 0
Статус: Offline

Благодарен Вам за внимание и за подробные комменты, но работает ли?
Если же у Вас не так, то тогда я не знаю, где в системе искать причину sad

 
YURIYДата: Суббота, 21 Октября 2006, 20:56 | Сообщение # 6
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
ilunga, всё абсолютно правильно. На рисунке, где вы показываете "реальные теги" - это ваши теги ID3v2 - у них нет ограничений по информации. А MMB понимает ТОЛЬКО теги ID3v1, а у них ограничение по названию песни - 30 символов, что мы с вами и наблюдаем во второй части картинки! Если вы мне не верите - Винамп вам докажет smile

Ничего не остаётся делать, как вам в тегах ID3v1 написать другую информацию размером не более 30 символов. sad Это можно сделать и Винампе.



Вечная память Андрею Сергееву!
 
ilungaДата: Воскресенье, 29 Октября 2006, 12:34 | Сообщение # 7
Новый участник
Группа: Проверенные
Сообщений: 21
Репутация: 0
Награды: 0
Статус: Offline
Спасибо. Фишку понял. Но усечь названия российских православных хоров (ибо их надо было вставлять) я не в силах smile Там всё очень длинно. Видимо, краткость (как сестра таланта) не котируется в тамошней среде.
 
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 оставить - какая разница smile
Это переменная, в которой хранится число строк листа.

Тогда надо написать:

num=Count

А вообще, я торможу. Ничего и не надо писать! Сразу можно так:

ListBoxGetItems("SongList","Items$,ItemsNum$,#,Count")
ListBoxSelectItem("SongList","Count")


Да пребудет с вами ММВ!
 
  • Страница 1 из 1
  • 1
Поиск: