Коллекция в Amarok'е не понимает длинных файловых путей?

Софт под Linux, разные программы, но только связанные с Linux

Модератор: /dev/random

Аватара пользователя
Fireal
Сообщения: 26
ОС: Gentoo

Коллекция в Amarok'е не понимает длинных файловых путей?

Сообщение Fireal »

Есть, например, такой файл:
/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!

Возможно ли обойти ограничение, не правя исходников?
Спасибо сказали:
sciko
Сообщения: 1744
Статус: Ъ-участник
ОС: Debian/Ubuntu/etc

Re: Коллекция в Amarok'е не понимает длинных файловых путей?

Сообщение sciko »

fireal писал(а):
04.03.2010 12:49
Возможно ли обойти ограничение, не правя исходников?
Симлинк?
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5456
ОС: Gentoo

Re: Коллекция в Amarok'е не понимает длинных файловых путей?

Сообщение /dev/random »

[disclaimer] У меня амарок не стоит, просто гипотеза [disclaimer]

Попробуйте влезть в базу mysql и посмотреть на тип соответствующего поля в таблице. Если стоит что-то вроде varchar(256), измените тип на более крупный или безразмерный.
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5456
ОС: Gentoo

Re: Коллекция в Amarok'е не понимает длинных файловых путей?

Сообщение /dev/random »

iУведомление от модератора /dev/random
Удалил оффтоп. sciko предупреждение за оскорбления.
Спасибо сказали:
Аватара пользователя
Fireal
Сообщения: 26
ОС: Gentoo

Re: Коллекция в Amarok'е не понимает длинных файловых путей?

Сообщение Fireal »

sciko писал(а):
04.03.2010 12:52
fireal писал(а):
04.03.2010 12:49
Возможно ли обойти ограничение, не правя исходников?
Симлинк?
Симлинк в данном случае способен сократить всего 6 символов: "FLAC/".


/dev/random писал(а):
04.03.2010 12:53
[disclaimer] У меня амарок не стоит, просто гипотеза [disclaimer]

Попробуйте влезть в базу mysql и посмотреть на тип соответствующего поля в таблице. Если стоит что-то вроде varchar(256), измените тип на более крупный или безразмерный.
В базу влезть пока не получилось, но исследуя исходники Amarok'а, вот что нашёл:

Код: Выделить всё

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'е не понимает длинных файловых путей?

Сообщение Fireal »

Решено правкой исходников.

P.S. Кстати, ключевая цифра -- не 256, а 324.
Спасибо сказали: