Есть, например, такой файл:
/home/fireal/public/music/collection/FLAC/Various Artists/Various Artists--A State Of Trance 2009 (Mixed by Armin van Buuren) - Disc 1 - On The Beach--2009--lossless FLAC tracks/A State Of Trance 2009 (Mixed by Armin van Buuren) - Disc 1 - On The Beach--01--John O'Callaghan featuring Lo - Fi Sugar--Never Fade Away (Andy Duguid Mix) - On The Beach (Intro Edit).flac (366 - 37 = 329 символов)
В коллекции он отображается, но в плейлисте не воспроизводится при добавлении из коллекции. И теги, словно замороженные, не доступные для изменения. Если этот же файл добавить в список воспроизведения через обычный доступ к файлам, тогда проигрывается Amarok'ом. Некоторые, из этого же альбома, файлы успешно воспроизводятся через коллекцию, например вот этот:
/home/fireal/public/music/collection/FLAC/Various Artists/Various Artists--A State Of Trance 2009 (Mixed by Armin van Buuren) - Disc 1 - On The Beach--2009--lossless FLAC tracks/A State Of Trance 2009 (Mixed by Armin van Buuren) - Disc 1 - On The Beach--03--M6--Paradise Lost.flac (280 - 37 = 243 символа)
На лицо закономерность: ограничение длины пути к файлу = 256 символов, относительно каталога коллекции.
Странно... разработчики сэкономили на ресурсах базы данных? Я бы понял ещё это ограничение во благо здравия SQLite, но теперь ведь MySQL embedded!
Возможно ли обойти ограничение, не правя исходников?
Коллекция в Amarok'е не понимает длинных файловых путей?
Модератор: /dev/random
-
Fireal
- Сообщения: 26
- ОС: Gentoo
-
sciko
- Сообщения: 1744
- Статус: Ъ-участник
- ОС: Debian/Ubuntu/etc
-
/dev/random
- Администратор
- Сообщения: 5456
- ОС: Gentoo
Re: Коллекция в Amarok'е не понимает длинных файловых путей?
[disclaimer] У меня амарок не стоит, просто гипотеза [disclaimer]
Попробуйте влезть в базу mysql и посмотреть на тип соответствующего поля в таблице. Если стоит что-то вроде varchar(256), измените тип на более крупный или безразмерный.
Попробуйте влезть в базу mysql и посмотреть на тип соответствующего поля в таблице. Если стоит что-то вроде varchar(256), измените тип на более крупный или безразмерный.
-
/dev/random
- Администратор
- Сообщения: 5456
- ОС: Gentoo
Re: Коллекция в Amarok'е не понимает длинных файловых путей?
i Уведомление от модератора /dev/random Удалил оффтоп. sciko предупреждение за оскорбления.
-
Fireal
- Сообщения: 26
- ОС: Gentoo
Re: Коллекция в Amarok'е не понимает длинных файловых путей?
Симлинк в данном случае способен сократить всего 6 символов: "FLAC/".
В базу влезть пока не получилось, но исследуя исходники Amarok'а, вот что нашёл:/dev/random писал(а): ↑04.03.2010 12:53[disclaimer] У меня амарок не стоит, просто гипотеза [disclaimer]
Попробуйте влезть в базу mysql и посмотреть на тип соответствующего поля в таблице. Если стоит что-то вроде varchar(256), измените тип на более крупный или безразмерный.
Код: Выделить всё
black collection # cat SqlStorage.h
.....
class AMAROK_EXPORT SqlStorage
{
public:
SqlStorage() {}
virtual ~SqlStorage() {}
.....
/**
use this type for auto incrementing integer primary keys.
*/
virtual QString idType() const = 0;
virtual QString textColumnType( int length = 255 ) const = 0;
virtual QString exactTextColumnType( int length = 1000 ) const = 0;
//the below value may have to be decreased even more for different indexes; only time will tell
virtual QString exactIndexableTextColumnType( int length = 324 ) const = 0;
virtual QString longTextColumnType() const = 0;
virtual QString randomFunc() const = 0;
};
#endif
black collection #Ушёл курить инфу по созданию локального оверлея в Gentoo...
-
Fireal
- Сообщения: 26
- ОС: Gentoo
Re: Коллекция в Amarok'е не понимает длинных файловых путей?
Решено правкой исходников.
P.S. Кстати, ключевая цифра -- не 256, а 324.
P.S. Кстати, ключевая цифра -- не 256, а 324.