Amarok (1.4.8) устроен примерно следующим образом. Если мы имеем дело с локальными файлами, то все тэги получаются через Taglib (в функции MetaBundle::readTags из metabundle.cpp). Однако, taglib (1.5 и раньше) не умеет за тагами по сети лазить. По-этому smb, nfs и т.п. обрабатываются по другому. 1. Во-первых в томже metabundle.cpp есть: MetaBundle::init( const KFileMetaInfo& info ) который может принимать тэги в некой KDEшной структуру. Подозреваю, что это связано с KIO. Впрочем, неважно для SMB файлов эта функция не запускается. 2. Реально для smb файлов тэги ловятся функцией slotEngineMetaData (из enginecontroller.cpp). Вызывается данная функция по приходу сигнала "metaData". Насколько я понял, данный сигнал посылают всякие enginы, которые проигрывают музыку для амарок. Типа engine/yauap, engine/xine и т.п. Вот видать они читают тэги (криво, поскольку не с линкованы с taglib или еще чем с RusXMMS патчем). 3. Может еще чего есть ;) Вообщем, резюме. Патчить надо либо эти движки, либо, что мне (на первый взгляд) кажется проще, надо подцепится к slotEngineMetaData. Трабла там только в том, что приходит туда тэги уже в UTF-8, некоректно перекодированном. Поэтому, сначала надо конвертуть UTF-8 обратно в Latin1, а уже потом натравливать librcc. Впрочем, перекодировку UTF->Latin тоже можно сделать через librcc.