You are not logged in.
I'm an amaroK developer, and want to start either maintaining the official amaroK package for Arch or/and start providing weekly CVS builds.
amaroK 1.2-beta4 isn't out yet, but it will be soon, so here's a sneak peak. Please tell me how the package sucks, how it can be improved etc. This is the first arch build I've offered for other people, so it is probably flakey:
http://methylblue.com/amarok/amarok-1.2 … pkg.tar.gz
Issues:
I built in the xine and gstreamer engines. There is no dependency check for xine-lib or gstreamer because, the engines are plugins, amaroK will still work without 1 of gst/xine installed, and because eventually I want these dependencies to be met by separate packages.
There is no aRts engine, currently.
It also is built with support for LibVisual CVS (0.2.0), but again this is a plugin and amaroK stability/etc. is not affected. Grab libvisual cvs if you want to see the amazing new stuff coming along in that project.
Finally I'm actually running kdelibs-CVS, so it's possible it may not even run for you guys. In which case I'll reinstall the Arch packages for KDE, and build against those. KDE is supposedly binary compatable in the 3.x series so supposedly it should be ok.
I look forward to your comments/criticism, etc.
_______
Here's the PKGBUILD, it runs straight off of a CVS checkout, as this would be the CVS snapshot build.
# $Id: PKGBUILD,v 1.13 2004/10/23 16:10:41 damir Exp $
# Maintainer: mxcl <max.howell@methylblue.com>
pkgname=amarok
pkgver=1.2beta4
pkgrel=1
pkgdesc="amaroK - an audio-player that depends on KDElibs"
url="http://amarok.kde.org/"
depends=('kdelibs>=3.2' 'taglib>=1.3.1')
build() {
cd $startdir/src/kdeextragear-1
cvs up -l
cvs up amarok
make -f Makefile.cvs
./configure --prefix=/opt/kde --without-arts --enable-final --enable-debug
unsermake || return 1
unsermake prefix=$startdir/pkg/opt/kde install
}
Offline
Nice. I'll give this package a shot later tonight for sure.
-- woodstock
Offline
cool! i'll give it a try.
many thanks for providing (arch-) packages and developing such a great music player.
i get this error when starting:
amarokapp: symbol lookup error: amarokapp: undefined symbol: _ZN11KSystemTray9setPixmapERK7QPixmap
Offline
mxcl,
thanx for mentioning this things here
i'm the pkg maintainer of the 2 pkgs of amarok in the repositories ... maybe we should cooperate
extra::multimedia::amarok:
http://www.archlinux.org/packages.php?id=3383
unstable::multimedia::amarok-devel:
http://www.archlinux.org/packages.php?id=5608
just tell me, when there is worth to update the amarok-devel pkg and i will do it ... i'll update it today for a start ;-)
greetings,
dp
ps
feel free to email me
The impossible missions are the only ones which succeed.
Offline
forgot:
libvisual is also in the repositories, but as 0.2.0 is not yet out, the pkg amarok has little chances to be built against it ... on the other hand amarok-devel has some small chances, if i add libvisual-devel to unstable, if i find some time today ;-)
The impossible missions are the only ones which succeed.
Offline
amarok-devel-1.1.cvs20050128-1 is on the way ... with this features:
==========================
=== amaroK - PLUGINS ========================================================
==========================
=
= The following plugins will be built:
= + aRts-engine
= + GStreamer-engine
= + xine-engine
= + XMMS Visualization Wrapper
= + Konqueror Sidebar
=
===============================================================================
The impossible missions are the only ones which succeed.
Offline
Yo dp, libvisual coordinate their releases with amaroK, 0.2.0 will be out before 1.2. With regard to co-ordinating the amaroK package, if you like. I want to provide sub-packages as forcing users to have kdemm, xine-lib, libvisual, gstreamer+gst-plugins, XMMS and sdl installed when they are all optional is against our intentions.
cstorm, I don't understand your symbol problem, that symbol has existed since KDE 3.0. You running anything exotic on the KDE front?
Offline
mxcl, welcome in the Arch community!
Well... as you probably know.. amaroK is great! etc. etc.
Some comments on this build:
0. it is working - at least what I've got from the unstable repository
1. shouldn't the PKGBUILD have some makedepends=(...)? (some other packages are build with some features enabled, that also work if the corresponding packages are not installed - I'm not sure if you got me right)
2. the OSD (re)paint is broken (remaining of the previous OSD occur)- when changing rapidly the song or +/- the volume
3. the GStreamer fading is.. yuck... (the official release (extra Repo) crashes for me if I run with GStreamer). This build only eats up my CPU when crossfading AND it doesn't output anything during crossfade (xine works perfectly)
4. now that you've reminded me, if you manage to get to maintain the official amarok package, I'd like to ask the same thing but for Psi (check this topic)
:: / my web presence
Offline
What a pity, amaroK can not show the id3 of CJK (Chinese japanese & Korean) character. I hade to recompile it with the following patch every time when the new version of amaroK be released. Will you please take a look at the following patch and take some changes in amaroK? Thank.
--- amarok-1.1.1/amarok/src/metabundle.cpp.orig 2004-10-09 20:52:09.000000000 +0800
+++ amarok-1.1.1/amarok/src/metabundle.cpp 2004-10-16 09:41:32.627671624 +0800
@@ -9,6 +9,8 @@
#include <qfile.h>
#include <kfilemetainfo.h>
+#include <kmimetype.h>
+#include <kstringhandler.h>
#include <taglib/audioproperties.h>
#include <taglib/fileref.h>
@@ -85,15 +87,28 @@
//Taglib::Tag ctor //TODO DEPRECATE
MetaBundle::MetaBundle( const KURL &url, TagLib::Tag *tag, TagLib::AudioProperties *ap )
- : m_url( url )
- , m_title( TStringToQString( tag->title() ).stripWhiteSpace() )
- , m_artist( TStringToQString( tag->artist() ).stripWhiteSpace() )
- , m_album( TStringToQString( tag->album() ).stripWhiteSpace() )
- , m_year( tag->year() ? QString::number( tag->year() ) : QString::null )
- , m_comment( TStringToQString( tag->comment() ).stripWhiteSpace() )
- , m_genre( TStringToQString( tag->genre() ).stripWhiteSpace() )
- , m_track( tag->track() ? QString::number( tag->track() ) : QString::null )
-{
+{
+ m_url = url;
+ KMimeType::Ptr result = KMimeType::findByURL(m_url, 0, true, true);
+
+ if ( result->name() != "audio/x-mp3") {
+ m_title = TStringToQString( tag->title() ).stripWhiteSpace();
+ m_artist = TStringToQString( tag->artist() ).stripWhiteSpace();
+ m_album = TStringToQString( tag->album() ).stripWhiteSpace();
+ m_comment = TStringToQString( tag->comment() ).stripWhiteSpace();
+ m_genre = TStringToQString( tag->genre() ).stripWhiteSpace();
+ m_year = tag->year() ? QString::number( tag->year() ) : QString::null;
+ m_track = tag->track() ? QString::number( tag->track() ) : QString::null;
+ }
+ else {
+ m_title = KStringHandler::from8Bit( TStringToQString(tag->title()).latin1()).stripWhiteSpace();
+ m_artist = KStringHandler::from8Bit( TStringToQString(tag->artist()).latin1()).stripWhiteSpace();
+ m_album = KStringHandler::from8Bit( TStringToQString(tag->album()).latin1()).stripWhiteSpace();
+ m_year = tag->year() ? QString::number( tag->year() ) : QString::null;
+ m_comment = KStringHandler::from8Bit( TStringToQString(tag->comment()).latin1()).stripWhiteSpace();
+ m_genre = TStringToQString( tag->genre() ).stripWhiteSpace();
+ m_track = tag->track() ? QString::number( tag->track() ) : QString::null;
+ }
init( ap );
}
@@ -149,12 +164,15 @@
{
TagLib::FileRef f( QFile::encodeName( m_url.path() ), readAudioProperties, TagLib::AudioProperties::Fast );
- if( !f.isNull() )
+ KMimeType::Ptr result = KMimeType::findByURL(m_url, 0, true, true);
+
+ if( !f.isNull() )
{
if( f.tag() )
{
TagLib::Tag *tag = f.tag();
-
+
+ if ( result->name() != "audio/x-mp3") {
m_title = TStringToQString( tag->title() ).stripWhiteSpace();
m_artist = TStringToQString( tag->artist() ).stripWhiteSpace();
m_album = TStringToQString( tag->album() ).stripWhiteSpace();
@@ -162,6 +180,16 @@
m_genre = TStringToQString( tag->genre() ).stripWhiteSpace();
m_year = tag->year() ? QString::number( tag->year() ) : QString::null;
m_track = tag->track() ? QString::number( tag->track() ) : QString::null;
+ }
+ else {
+ m_title = KStringHandler::from8Bit( TStringToQString(tag->title()).latin1()).stripWhiteSpace();
+ m_artist = KStringHandler::from8Bit( TStringToQString(tag->artist()).latin1()).stripWhiteSpace();
+ m_album = KStringHandler::from8Bit( TStringToQString(tag->album()).latin1()).stripWhiteSpace();
+ m_year = tag->year() ? QString::number( tag->year() ) : QString::null;
+ m_comment = KStringHandler::from8Bit( TStringToQString(tag->comment()).latin1()).stripWhiteSpace();
+ m_genre = TStringToQString( tag->genre() ).stripWhiteSpace();
+ m_track = tag->track() ? QString::number( tag->track() ) : QString::null;
+ }
}
init( f.audioProperties() ); //no need to test for the readAudioProperties bool
}
--- amarok-1.1.1/amarok/src/tagdialog.cpp.org 2004-10-09 20:52:10.000000000 +0800
+++ amarok-1.1.1/amarok/src/tagdialog.cpp 2004-10-23 11:49:02.000000000 +0800
@@ -29,6 +29,7 @@
#include <krun.h>
#include <kstandarddirs.h>
+#define QStringToMyTString(s) TagLib::String(s.local8Bit().data(), TagLib::String::Latin1)
TagDialog::TagDialog( const KURL& url, QWidget* parent )
: TagDialogBase( parent )
@@ -461,13 +462,13 @@
QApplication::setOverrideCursor( KCursor::waitCursor() );
TagLib::Tag * t = f.tag();
- t->setTitle( QStringToTString( mb.title() ) );
- t->setArtist( QStringToTString( mb.artist() ) );
- t->setAlbum( QStringToTString( mb.album() ) );
+ t->setTitle( QStringToMyTString( mb.title() ) );
+ t->setArtist( QStringToMyTString( mb.artist() ) );
+ t->setAlbum( QStringToMyTString( mb.album() ) );
t->setTrack( mb.track().toInt() );
t->setYear( mb.year().toInt() );
- t->setComment( QStringToTString( mb.comment() ) );
- t->setGenre( QStringToTString( mb.genre() ) );
+ t->setComment( QStringToMyTString( mb.comment() ) );
+ t->setGenre( QStringToMyTString( mb.genre() ) );
bool result = f.save();
if( result )
The repo for Chinese software、fonts and IM
[archcn]
Server = http://arch.ourlinux.net:81/archcn
Offline
tx-cary: doesn't the recode id3 tags option work? We were under the impression it was working seeing as we've had no bug report against it since we introduced it 8 months ago.
IceRAM: the OSD issues will be fixed soon, and could you report the gst-crossfade bug on bugs.kde.org? Our gst-engine guy doesn't know that bug I'm certain of it. And thanks for the compliments
Offline
Recoding id3 tag seems do not work at all.
I tried every encode in it, and rescan again and agian, and it doesn't work.
The full patch is here:
http://61.153.200.30/lucida/linux-patch … 1-cjk.diff
In fact, in the Chinese Linux forum, evry one who use amaroK has to take this patch.
The repo for Chinese software、fonts and IM
[archcn]
Server = http://arch.ourlinux.net:81/archcn
Offline
cstorm, I don't understand your symbol problem, that symbol has existed since KDE 3.0. You running anything exotic on the KDE front?
no. i'm using the kdelibs/kdebase 3.3.2 binary packages. nothing fancy.
Offline
Yo dp, libvisual coordinate their releases with amaroK, 0.2.0 will be out before 1.2. With regard to co-ordinating the amaroK package, if you like.
i didn't know that this releasing is coordinated ... great news!
I want to provide sub-packages as forcing users to have kdemm, xine-lib, libvisual, gstreamer+gst-plugins, XMMS and sdl installed when they are all optional is against our intentions.
i agree with you that amarok has too many dependences
what kind of sub-pkgs do you mean? the best way in my eyes would be:
amarok-core
amarok-engine-{gst, arts, xine, ...}
provides=('amarok-io-engine')
depends=('amarok-core' $the_engine_depends)
amarok-vis-{xmms, libvisual, ...}
depends=('amarok-core' 'amarok-io-engine' $the_vis_depends)
but i doubt that this is possible with the current building-system of amarok (without messing around) - am i right? am i wrong?
if you start modifying things, start with the PKGBUILD's in the repos extra and unstable
The impossible missions are the only ones which succeed.
Offline
Recoding id3 tag seems do not work at all.
I tried every encode in it, and rescan again and agian, and it doesn't work.The full patch is here:
http://61.153.200.30/lucida/linux-patch … 1-cjk.diffIn fact, in the Chinese Linux forum, evry one who use amaroK has to take this patch.
why didn't you posted a feature-request?
does this patch in any way make trouble with other functions of amarok? if it works fine with all charsets, we can include it in the pkg of amarok in extra
The impossible missions are the only ones which succeed.
Offline
why didn't you posted a feature-request?
does this patch in any way make trouble with other functions of amarok? if it works fine with all charsets, we can include it in the pkg of amarok in extra
Thank you for paied attention to it.
This patch is not written by me. But I will contact with the author as soon. I will ask him about these questions.
The repo for Chinese software、fonts and IM
[archcn]
Server = http://arch.ourlinux.net:81/archcn
Offline
dp, note that it should be amarok-devel 1.2CVS<date>.
Or, was this intentional not to create confusion when upgrading from 1.1CVS to 1.2CVS (after 1.2 is released)?
:: / my web presence
Offline
Maybe amarok-devel-1.1+cvs-`date %d%m%Y`?
Gnome - The weakest link!
Linux, *not* GNU/Linux!
Offline
dp, note that it should be amarok-devel 1.2CVS<date>.
Or, was this intentional not to create confusion when upgrading from 1.1CVS to 1.2CVS (after 1.2 is released)?
it is intentional - amarok 1.2 is not yet out
The impossible missions are the only ones which succeed.
Offline
For some reason I cannot initialize the xine engine with the devel package... it used to work with the previous one.
I also moved my Amarok profile, to no avail.
Microshaft delenda est
Offline
One question to mxcl:
-Is it possible to stream audio to icecast server with amarok with this cvs version or any other ver.?
It would be so cool if it was possible. Now that the icecast plugin for xmms is dead for over 2 years, There is no good streaming client out there and Amarok seems perfect for this purpose(crossfading etc..).
@dp: Your amarok-devel pkgbuild includes waaay to much dependencies imho(kde-mm?, kde-bindings? etc..). I mean, really we should keep these packages to the minimum as they are preety much useable without all this bloat.
Offline