This forum has been archived. All content is frozen. Please use KDE Discuss instead.

The "organize tracks" window does not save Presets

Tags: None
(comma "," separated)
gfurst
Registered Member
Posts
54
Karma
0
OS
I've been struggling with this for a good while. Didn't see close to no material over the webs.

The issue:
Organizing tracks with Amarok, theoretically is easy and versatile. Using advanced tab you choose various tokens, even design optionals in a single line.
I've written two major advanced presets for tracks, one for regular albums and one for collection of musics with various artists.
This would work very well, but, the "organize tracks" won't save the preset.

Well actually the presets sometimes are randomly saved, But I can't never get two working the same time.
I've been very troubled by this issue so and the lack of documentation of it. so I dug deep to find out more.

This option is store in the amarokrc file:
Code: Select all
~/.kde/share/config/amarokrc
[OrganizeCollectionDialog]
Custom Scheme=%albumartist%/%album%/%artist% %track% - %title%
Format Presets=various#DELIM#%albumartist%/%album%/%artist% %track% - %title%#DELIM#selected,normal#DELIM#%albumartist%/%album%/%artist% %track% - %title%,Default#DELIM#%artist%/%album%/%track%_-_%title%
Mode=Basic


This is an exert of the --debug output while running amarok and doing the new preset thing:
Code: Select all
amarok:   infering scheme:  "Various Artists/{%album%{ - %discnumber%}/}{%artist% - }%title%"
amarok:   BEGIN: QList<Token*> TokenDropTarget::tokensAtRow(int)
amarok:     Row: 1 items: 9
amarok:   END__: QList<Token*> TokenDropTarget::tokensAtRow(int) [Took: 0s]
amarok:   BEGIN: void OrganizeCollectionDialog::slotUpdatePreview()
amarok:   END__: void OrganizeCollectionDialog::slotUpdatePreview() [Took: 0.001s]
amarok:   BEGIN: void TokenDropTarget::deleteEmptyRows()
amarok:   END__: void TokenDropTarget::deleteEmptyRows() [Took: 0s]
amarok:   BEGIN: void OrganizeCollectionDialog::slotUpdatePreview()
amarok:   END__: void OrganizeCollectionDialog::slotUpdatePreview() [Took: 0.002s]
amarok:   BEGIN: void TokenDropTarget::deleteEmptyRows()
amarok:   END__: void TokenDropTarget::deleteEmptyRows() [Took: 0s]
amarok:   BEGIN: void OrganizeCollectionDialog::slotUpdatePreview()
amarok:   END__: void OrganizeCollectionDialog::slotUpdatePreview() [Took: 0.001s]
amarok:   BEGIN: void TokenDropTarget::deleteEmptyRows()
amarok:   END__: void TokenDropTarget::deleteEmptyRows() [Took: 0s]
amarok:   BEGIN: void OrganizeCollectionDialog::slotUpdatePreview()
amarok:   END__: void OrganizeCollectionDialog::slotUpdatePreview() [Took: 0.005s]
amarok:   BEGIN: void TokenDropTarget::deleteEmptyRows()
amarok:   END__: void TokenDropTarget::deleteEmptyRows() [Took: 0s]
amarok:   BEGIN: void OrganizeCollectionDialog::slotUpdatePreview()
amarok:   END__: void OrganizeCollectionDialog::slotUpdatePreview() [Took: 0.001s]
amarok:   BEGIN: void TokenDropTarget::deleteEmptyRows()
amarok:   END__: void TokenDropTarget::deleteEmptyRows() [Took: 0s]
amarok:   BEGIN: void OrganizeCollectionDialog::slotUpdatePreview()
amarok:   END__: void OrganizeCollectionDialog::slotUpdatePreview() [Took: 0.001s]
amarok:   BEGIN: void TokenDropTarget::deleteEmptyRows()
amarok:   END__: void TokenDropTarget::deleteEmptyRows() [Took: 0s]
amarok:   BEGIN: void OrganizeCollectionDialog::slotUpdatePreview()
amarok:   END__: void OrganizeCollectionDialog::slotUpdatePreview() [Took: 0.001s]
amarok:   BEGIN: void TokenDropTarget::deleteEmptyRows()
amarok:   END__: void TokenDropTarget::deleteEmptyRows() [Took: 0s]
amarok:   BEGIN: void OrganizeCollectionDialog::slotUpdatePreview()
amarok:   END__: void OrganizeCollectionDialog::slotUpdatePreview() [Took: 0.001s]
amarok:   BEGIN: void TokenDropTarget::deleteEmptyRows()
amarok:   END__: void TokenDropTarget::deleteEmptyRows() [Took: 0s]
amarok:   BEGIN: void OrganizeCollectionDialog::slotUpdatePreview()
amarok:   END__: void OrganizeCollectionDialog::slotUpdatePreview() [Took: 0.001s]
amarok:   BEGIN: void TokenDropTarget::deleteEmptyRows()
amarok:   END__: void TokenDropTarget::deleteEmptyRows() [Took: 0s]
amarok:   ' 'V' ' can't be represented as TokenLayoutWidget Token
amarok:   ' 'a' ' can't be represented as TokenLayoutWidget Token
amarok:   ' 'r' ' can't be represented as TokenLayoutWidget Token
amarok:   ' 'i' ' can't be represented as TokenLayoutWidget Token
amarok:   ' 'o' ' can't be represented as TokenLayoutWidget Token
amarok:   ' 'u' ' can't be represented as TokenLayoutWidget Token
amarok:   ' 's' ' can't be represented as TokenLayoutWidget Token
amarok:   BEGIN: void OrganizeCollectionDialog::slotUpdatePreview()
amarok:   END__: void OrganizeCollectionDialog::slotUpdatePreview() [Took: 0.001s]
amarok:   ' 'A' ' can't be represented as TokenLayoutWidget Token
amarok:   ' 'r' ' can't be represented as TokenLayoutWidget Token
amarok:   ' 't' ' can't be represented as TokenLayoutWidget Token
amarok:   ' 'i' ' can't be represented as TokenLayoutWidget Token
amarok:   ' 's' ' can't be represented as TokenLayoutWidget Token
amarok:   ' 't' ' can't be represented as TokenLayoutWidget Token
amarok:   ' 's' ' can't be represented as TokenLayoutWidget Token
amarok:   BEGIN: void OrganizeCollectionDialog::slotUpdatePreview()
amarok:   END__: void OrganizeCollectionDialog::slotUpdatePreview() [Took: 0.001s]
amarok:   ' '{' ' can't be represented as TokenLayoutWidget Token
amarok:   BEGIN: void OrganizeCollectionDialog::slotUpdatePreview()
amarok:   END__: void OrganizeCollectionDialog::slotUpdatePreview() [Took: 0.001s]
amarok:   ' '{' ' can't be represented as TokenLayoutWidget Token
amarok:   BEGIN: void OrganizeCollectionDialog::slotUpdatePreview()
amarok:   END__: void OrganizeCollectionDialog::slotUpdatePreview() [Took: 0.001s]
amarok:   BEGIN: void OrganizeCollectionDialog::slotUpdatePreview()
amarok:   END__: void OrganizeCollectionDialog::slotUpdatePreview() [Took: 0.001s]
amarok:   BEGIN: void OrganizeCollectionDialog::slotUpdatePreview()
amarok:   END__: void OrganizeCollectionDialog::slotUpdatePreview() [Took: 0.001s]
amarok:   BEGIN: void OrganizeCollectionDialog::slotUpdatePreview()
amarok:   END__: void OrganizeCollectionDialog::slotUpdatePreview() [Took: 0.001s]
amarok:   ' '}' ' can't be represented as TokenLayoutWidget Token
amarok:   BEGIN: void OrganizeCollectionDialog::slotUpdatePreview()
amarok:   END__: void OrganizeCollectionDialog::slotUpdatePreview() [Took: 0.001s]
amarok:   ' '}' ' can't be represented as TokenLayoutWidget Token
amarok:   ' '{' ' can't be represented as TokenLayoutWidget Token
amarok:   BEGIN: void OrganizeCollectionDialog::slotUpdatePreview()
amarok:   END__: void OrganizeCollectionDialog::slotUpdatePreview() [Took: 0.001s]
amarok:   BEGIN: void OrganizeCollectionDialog::slotUpdatePreview()
amarok:   END__: void OrganizeCollectionDialog::slotUpdatePreview() [Took: 0.001s]
amarok:   BEGIN: void OrganizeCollectionDialog::slotUpdatePreview()
amarok:   END__: void OrganizeCollectionDialog::slotUpdatePreview() [Took: 0.001s]
amarok:   BEGIN: void OrganizeCollectionDialog::slotUpdatePreview()
amarok:   END__: void OrganizeCollectionDialog::slotUpdatePreview() [Took: 0.001s]
amarok:   ' '}' ' can't be represented as TokenLayoutWidget Token
amarok:   BEGIN: void OrganizeCollectionDialog::slotUpdatePreview()
amarok:   END__: void OrganizeCollectionDialog::slotUpdatePreview() [Took: 0.002s]
amarok: END__: void FilenameLayoutWidget::inferScheme(const QString&) [Took: 0.047s]
amarok: BEGIN: void OrganizeCollectionDialog::slotUpdatePreview()
amarok: END__: void OrganizeCollectionDialog::slotUpdatePreview() [Took: 0.001s]
X Error: BadWindow (invalid Window parameter) 3
  Major opcode: 20 (X_GetProperty)
  Resource id:  0x6c00306
amarok: BEGIN: void Collections::SqlCollectionLocation::slotDialogAccepted()
amarok:   BEGIN: virtual void Collections::CollectionLocation::getKIOCopyableUrls(const TrackList&)
amarok:     [CollectionLocation] adding url  KUrl("file:///home/guiu/Music/pretrans/Amy Kuney/Unknown Album/Where I Cant Follow (Butch Clancy Remix).mp3")
amarok:     BEGIN: void Collections::CollectionLocation::slotStartCopy(const QMap<KSharedPtr<Meta::Track>, KUrl>&, const Transcoding::Configuration&)
amarok:       BEGIN: virtual void Collections::SqlCollectionLocation::copyUrlsToCollection(const QMap<KSharedPtr<Meta::Track>, KUrl>&, const Transcoding::Configuration&)
amarok:         [SqlCollectionLocation] TransferJob::TransferJob
amarok:         BEGIN: virtual void Collections::TransferJob::start()
amarok:         END__: virtual void Collections::TransferJob::start() [Took: 0s]
amarok:       END__: virtual void Collections::SqlCollectionLocation::copyUrlsToCollection(const QMap<KSharedPtr<Meta::Track>, KUrl>&, const Transcoding::Configuration&) [Took: 0s]
amarok:     END__: void Collections::CollectionLocation::slotStartCopy(const QMap<KSharedPtr<Meta::Track>, KUrl>&, const Transcoding::Configuration&) [Took: 0s]
amarok:   END__: virtual void Collections::CollectionLocation::getKIOCopyableUrls(const TrackList&) [Took: 0s]
amarok: END__: void Collections::SqlCollectionLocation::slotDialogAccepted() [Took: 3.5s]
amarok: BEGIN: void Collections::TransferJob::doWork()
amarok:   BEGIN: bool Collections::SqlCollectionLocation::startNextJob(Transcoding::Configuration)
amarok:     [SqlCollectionLocation] copying from  KUrl("file:///home/guiu/Music/pretrans/Amy Kuney/Unknown Album/Where I Cant Follow (Butch Clancy Remix).mp3")  to  KUrl("file:///home/guiu/Music/Library/Various Artists/Dubs/Butch Clany - Where I Cant Follow.mp3")
amarok:   END__: bool Collections::SqlCollectionLocation::startNextJob(Transcoding::Configuration) [Took: 0s]
amarok: END__: void Collections::TransferJob::doWork() [Took: 0s]
X Error: BadWindow (invalid Window parameter) 3
  Major opcode: 20 (X_GetProperty)
  Resource id:  0x6c0031a
amarok: [AbstractDirectoryWatcher] addDirToList for "/home/guiu/Music/Library/Various Artists/Dubs"
amarok: BEGIN: void Collections::SqlCollectionLocation::slotJobFinished(KJob*)
amarok: END__: void Collections::SqlCollectionLocation::slotJobFinished(KJob*) [Took: 0s]
amarok: BEGIN: void Collections::TransferJob::slotJobFinished(KJob*)
amarok:   [SqlCollectionLocation] processed 1  totalAmount 1
amarok:   BEGIN: bool Collections::SqlCollectionLocation::startNextJob(Transcoding::Configuration)
amarok:   END__: bool Collections::SqlCollectionLocation::startNextJob(Transcoding::Configuration) [Took: 0s]
amarok:   [SqlCollectionLocation] sources empty
amarok:   BEGIN: void Collections::SqlCollectionLocation::slotTransferJobFinished(KJob*)
amarok:     [SqlCollectionLocation] SqlCollectionLocation::insert from: KUrl("file:///home/guiu/Music/pretrans/Amy Kuney/Unknown Album/Where I Cant Follow (Butch Clancy Remix).mp3") to "/home/guiu/Music/Library/Various Artists/Dubs/Butch Clany - Where I Cant Follow.mp3"
amarok:     [SqlCollectionLocation] File on disk, insert to dbase "Where I Cant Follow" uid: "file:///home/guiu/Music/pretrans/Amy%20Kuney/Unknown%20Album/Where%20I%20Cant%20Follow%20(Butch%20Clancy%20Remix).mp3"
amarok:     [SqlRegistry] SqlRegistry::getDirectory(): new directory "/home/guiu/Music/Library/Various Artists/Dubs"
amarok:     [SqlRegistryP] obtained max_allowed_packet is  "1048576"
amarok:     [MySqlStorage] Initialized thread, count== 3
amarok:     [SqlCollectionLocation] m_originalUrls QHash((true, KUrl("file:///home/guiu/Music/pretrans/Amy Kuney/Unknown Album/Where I Cant Follow (Butch Clancy Remix).mp3") ) ) 


This is the part where I try to Organize other tracks and the just saved preset goes missing:
Code: Select all
amarok:   BEGIN: void FilenameLayoutWidget::populateFormatList()
amarok:     --- got preset for "OrganizeCollectionDialog" ("Default#DELIM#%artist%/%album%/%track%_-_%title%#DELIM#selected")
amarok:     BEGIN: void FilenameLayoutWidget::inferScheme(const QString&)
amarok:       infering scheme:  "%artist%/%album%/%track%_-_%title%"
amarok:       BEGIN: QList<Token*> TokenDropTarget::tokensAtRow(int)
amarok:         Row: 0 items: 0
amarok:       END__: QList<Token*> TokenDropTarget::tokensAtRow(int) [Took: 0s]
amarok:     END__: void FilenameLayoutWidget::inferScheme(const QString&) [Took: 0.002s]
amarok:   END__: void FilenameLayoutWidget::populateFormatList() [Took: 0.003s]


From my testing session I understood that Amarok will write the newly saved format to the config file but will overwrite when opening it again in the same session.
But just now I found if quit and write the presets manually, they will stick, and Amarok will read them normally.
So the real issue is Amarok won't save custom presets properly.

Just in case I need this again, and if anyone want the suggestion:
Code: Select all
guiu@guiu-iMac:~/.kde/share/config$ cat amarokrc | grep Format
Format Presets=Normal#DELIM#%albumartist%/%album%{ %discnumber%}/{%track% - }%title%,Various#DELIM#Various Artists/%album%/%artist% - {%track% - }%title%#DELIM#selected
User avatar
Mamarok
Manager
Posts
6071
Karma
16
OS
What exact Amarok version and KDE version do you use?


Running Kubuntu 22.10 with Plasma 5.26.3, Frameworks 5.100.0, Qt 5.15.6, kernel 5.19.0-23 on Ryzen 5 4600H, AMD Renoir, X11
FWIW: it's always useful to state the exact Plasma version (+ distribution) when asking questions, makes it easier to help ...
gfurst
Registered Member
Posts
54
Karma
0
OS
Mamarok wrote:What exact Amarok version and KDE version do you use?

Hey Mamarok, sorry forgetting such basic stuff...
Code: Select all
Amarok Diagnostics

Amarok Version: 2.8.0
KDE Version: 4.11.3
Qt Version: 4.8.6
Phonon Version: 4.7.1
Phonon Backend: VLC (0.7.1)
PulseAudio: Yes

Amarok Scripts:
    CopySelectedTracks 0.2 (stopped)
Amarok Script Console 1.0 (stopped)
Lyricwiki .2 (stopped)
Free Music Charts 1.6.0 (stopped)
Librivox.org 1.0 (stopped)
Cool Streams 1.0 (stopped)

Amarok Plugins:
    AudioCd Collection (disabled)
DAAP Collection (disabled)
MTP Collection (disabled)
MySQLServer Collection (enabled)
MySQLe Collection (enabled)
Nepomuk Collection (disabled)
UPnP Collection (disabled)
Universal Mass Storage Collection (enabled)
iPod, iPad & iPhone Collection (disabled)
Ampache (disabled)
Jamendo (disabled)
Last.fm (disabled)
MP3 Music Store (disabled)
MP3tunes (disabled)
Magnatune Store (disabled)
Podcast Directory (disabled)


I'm not familiar on how reporting bugs works, could you help me look if this me reported already, and if not, how to report it?
User avatar
Mamarok
Manager
Posts
6071
Karma
16
OS
It is already reported where it belongs ( bug reports for Amarok should not be made in the fourm, the forum description explicitly says so): https://bugs.kde.org/show_bug.cgi?id=226144


Running Kubuntu 22.10 with Plasma 5.26.3, Frameworks 5.100.0, Qt 5.15.6, kernel 5.19.0-23 on Ryzen 5 4600H, AMD Renoir, X11
FWIW: it's always useful to state the exact Plasma version (+ distribution) when asking questions, makes it easier to help ...


Bookmarks



Who is online

Registered users: bancha, Bing [Bot], daret, Evergrowing, Google [Bot], lockheed, sandyvee, Sogou [Bot]