Subject: UADE 2.01 released

From: shd
Date: Wed Jan 4 00:57:53 2006

To: UADE-User-discussion
UADE 2.01 is released and obtainable from the usual place:

http://zakalwe.virtuaalipalvelin.net/uade/uade2/uade-2.01.tar.bz2

This version fixes support for Mac OS X and OpenLSD operating systems. Thanks to Juuso Raitala for the Mac OS X solution and [email-masked] for OpenLSD help.

In addition to that, PTK-Prowiz (protracker and clones) eagleplayer should have an improved subsong scanner that doesn't give false alarms and it also has one work-around removed which prevented modules from using tempo value 0xFF.

btw. If you have conflics between uade and other XMMS plugins, you can use the new script which is provided: uadexmmsadd

That script adds directory hierarchies to the XMMS playlist. Entries are prefixed with uade:// so that other XMMS plugins will not recognize those entries. Don't worry, the ugly uade:// prefix is not shown in the playlist (it's stripped away internally).

---

From: maru
Date: Sun Jan 22 16:05:13 2006

To: UADE-User-discussion
Hi,

First of all thanks for the new release.
Are there plans to have CoreAudio support in version 2.x as in version 1.02-03?
Libao output is working fine, but as soon as I do something on my PB 
(start a program) the sound stutters and grinds to a halt. 
I do not have this problem with CoreAudio.

Cheers,
Mike

---

From: shd
Date: Sun Jan 22 16:12:39 2006

To: UADE-User-discussion
[quote:e9ffc4e419="maru"]
[/quote:e9ffc4e419]

That's a problem with libao core audio support, I think. Why don't you try to ask them? Alternatively it could be a scheduling problem in macos. There were scheduling problems in Linux kernels 2.6.13-15. Possibly .16 too, but it will hopefully be fixed soon.

And no, we support only libao as the audio backend since it's pointless for us to reinvent wheel. libao should handle platform specific sound issues.

---

From: maru
Date: Sun Jan 22 16:44:16 2006

To: UADE-User-discussion
[quote:7ce17e7f31="shd"]

And no, we support only libao as the audio backend since it's pointless for us to reinvent wheel. libao should handle platform specific sound issues.[/quote:7ce17e7f31]

Ok, I'll take a look at libao then.
Thanks for the info.

---

From: maru
Date: Sun Jan 22 18:30:04 2006

To: UADE-User-discussion
[quote:b4c98a02cd="maru"]
Ok, I'll take a look at libao then.
Thanks for the info.[/quote:b4c98a02cd]

Ok, it turns out that libaos performance with coreaudio is known to be suboptimal

http://trac.xiph.org/ticket/727

Applying this patch albeit with a smaller BUFFER_COUNT 8 fixed my problem, it still get dropouts every now and then, but only if the load is really high. Increasing the BUFFER_COUNT too much yields lagged behaviour in interactive mode. I might play around a little bit with it to get the optimal value for my setup here. but for now it is enough to enjoy uade2.

Thanks again,
Mike

---

From: Annatar
Date: Tue Feb 14 14:09:16 2006

To: UADE-User-discussion
./configure --prefix=/opt/scfw
Adding  -march=i686 -D_REENTRANT -L/opt/csw/lib -I/opt/csw/include -R/opt/csw/lib -L/opt/csw/gcc3/lib -I/opt/csw/gcc3/include -R/opt/csw/gcc3/lib to ARCHFLAGS

UADE and frontends will be installed to : /opt/scfw/bin
Data directory will be                  : /opt/scfw/share/uade2
Documentation directory will be         : /opt/scfw/share/doc/uade-2.01
Man directory will be                   : /opt/scfw/share/man/man1
Installer that will be used             : /opt/csw/bin/ginstall
Make that will be used during the build : /usr/sfw/bin/gmake
uade123                                 : yes
uade123 sound output                    : AO
XMMS plugin                             : yes
XMMS plugin directory                   : /opt/csw/lib/xmms/Input

./configure: test: argument expected

uname -a
SunOS hostname 5.10 Generic_118844-28 i86pc i386 i86pc

So it looks like your ./configure is Linux only.  Would you please take a look at it and try to figure out what's wrong and why it's busting on Solaris?

If you need a Solaris box, I can give you one to play with.

---

From: shd
Date: Tue Feb 14 14:21:34 2006

To: UADE-User-discussion
[quote:4448a274ae="Annatar"]
./configure: test: argument expected

uname -a

If you need a Solaris box, I can give you one to play with.[/quote:4448a274ae]

I think you mean bash only.

I suspect the reason is the 'test -e file' statement:
    test -e /dev/urandom &amp;&amp; ...

I replaced taht with test -c. Fixed in the latest cvs version. Please test.

---

From: Annatar
Date: Wed Feb 15 09:37:45 2006

To: UADE-User-discussion
Where is the latest CVS version, and how do I check out the code?
(It would be simpler to just post a link to .tar.bz2.)

Anyways, I used what I had and changed 'test -e' to 'test -c'.  That worked, but then it complains about `sed`, that the command is garbled.

I replaced `sed` with `gsed` and that got me further, but then it complained that it can't find the &quot;.in&quot; file at several places.

Which OS are you using to develop this on???  It seems to freak out on System V Release 4 / POSIX systems, and seems to be heavily dependent on GNU tools.

---

From: shd
Date: Wed Feb 15 09:50:28 2006

To: UADE-User-discussion
[quote:c841b70e95="Annatar"]Where is the latest CVS version, and how do I check out the code?
[/quote:c841b70e95]

Look at uade download page for instructions.

[quote:c841b70e95]
[/quote:c841b70e95]

No. That would mean creating a release which is quite a few shell commands. The change is anyway put into the CVS so it's the best place for other developers to grab any changes.

[quote:c841b70e95]

I replaced `sed` with `gsed` and that got me further, but then it 
complained that it can't find the &quot;.in&quot; file at several places.
[/quote:c841b70e95]

I have to look into that.

[quote:c841b70e95]
Which OS are you using to develop this on???  It seems to freak out on System V Release 4 / POSIX systems, and seems to be heavily dependent on GNU tools.[/quote:c841b70e95]

It works on BSDs and GNU/Linux. Solaris has always been a harder target. I kind of dropped solaris support after uade 1.x, but I will try to co-operate and make 2.x compatible with solaris.

---

From: Guest
Date: Wed Feb 15 15:56:14 2006

To: UADE-User-discussion
[quote:b49da8e8d1="shd"]It works on BSDs and GNU/Linux. Solaris has always been a harder target. I kind of dropped solaris support after uade 1.x, but I will try to co-operate and make 2.x compatible with solaris.[/quote:b49da8e8d1]Ah, now everything's crystal clear.

Saying &quot;it works on Linux&quot; is like saying &quot;it works on Windows&quot; -- which pretty much means it's broken on everything else.

But I wonder about BSD.  If it works on BSD it should have relatively no problem working on Solaris as well.

I do agree with you that Solaris and SVR4 / POSIX systems are much harder targets. That's because they're very strict on abiding by standards.

However, it should only be initially harder to get the UADE gig going on Solaris, especially now that Solaris' source code is open to the public and free-as-in-beer.
Plus, that makes UADE pretty much a done-ported deal to other SVR4 systems, namely HP-UX and IRIX.

Anyways, I'll see how to get the CVS checked out, and I'll be standing ready to assist you if necessary.  That is, if you need to test directly on Solaris I can set you up inside of a Solaris zone and you can be root in your own sandbox to get it to work.

---

From: shd
Date: Wed Feb 15 16:34:57 2006

To: UADE-User-discussion
[quote:a8c2f42c8d="Anonymous"]
Saying &quot;it works on Linux&quot; is like saying &quot;it works on Windows&quot; -- which pretty much means it's broken on everything else.
[/quote:a8c2f42c8d]

That's prejudiced. If something works on Linux, it is probably very close to working on BSD and Solaris too. Only minor differences in supported APIs. The biggest reason for incompatibilities is the lack of users with some systems, like Solaris. Users of $OS should fix things for $OS and stop complaining about not adhering to standards or using APIs that do not exist for their $OS. There are actually many common things that are totally non-portable with respect to standards, audio for example. What is the standard for unix audio? Since there is not one, we can not write a portable standard adhering player. Tough. We supported quite a few platforms with uade 1.x, including solaris and irix. It was not worth it, though, because almost nobody wanted to use uade on them.

Writing portable programs among unixes is not very pleasant, because many of the systems older than Linux lack some useful APIs and their userspace tools are frozen. For example, why wouldn't solaris sh implement 'test -e'? During 6 years of doing UADE, I've ran into deficiencies of Solaris too many times. The bigger issue I have is that most other unixes seem to be holding back on C99 features. That has been a problem with uade2 on some systems, like OpenBSD.

[quote:a8c2f42c8d]
[/quote:a8c2f42c8d]

Solaris' open source code doesn't affect us in any way, because we've always relied on public headers and man pages. Porting for Solaris is actually pretty easy. It's the small things that are different, but nobody has yet complained to us, so we haven't done anything.

---

From: Guest
Date: Wed Feb 15 18:45:18 2006

To: UADE-User-discussion
[quote:a66be75280="shd"]That's prejudiced.[/quote:a66be75280]All I have to say in my defense is that I'm writing from experience. If a product was developed on any SVR4 system, it was painless to go Linux. The other way around was, well, not so painless.

The way I see it, people develop on Linux without testing on other platforms, thinking they have clean code. But testing means a lot when it comes to portability, right?
[quote:a66be75280]The biggest reason for incompatibilities is the lack of users with some systems, like Solaris.[/quote:a66be75280]Well, that's changing, and rapidly. With almost four million downloads and climbing, Solaris is starting to get some serious attention. If one takes a peek on opensolaris.org, there are more than 10,000 users registered and there are ~100 discussions happening every day.
[quote:a66be75280]Users of $OS should fix things for $OS and stop complaining about not adhering to standards or using APIs that do not exist for their $OS.[/quote:a66be75280]Aaah, but that's one of the main misconceptions and weaknesses of our venerable OpenSource world. OpenSource exists with the idea that everyone has access to the source code and is able to fix, or otherwise make stuff work when it doesn't.

As the OSS movement gained critical mass, something unexpected happened: users came.  And users are, well, users.  They're not developers, they don't know how to fix code.  Not everyone has superior skill like you to be able to make stuff just work. Users just want things to work; that's the very definition of a user, whereas developer is a superset.
[quote:a66be75280]There are actually many common things that are totally non-portable with respect to standards, audio for example. What is the standard for unix audio? Since there is not one, we can not write a portable standard adhering player.[/quote:a66be75280]Well, if I were to choose, I'd choose SDL because it seems to follow the DirectX concept, which is conceptually a good solution. SDL abstracts platform specifics and gives a decent performance.
[quote:a66be75280]We supported quite a few platforms with uade 1.x, including solaris and irix. It was not worth it, though, because almost nobody wanted to use uade on them.[/quote:a66be75280]That has already changed, and will continue to change in the future. There's a 'new player' in town, and it's just as free as Linux and has 25+ years of solid, professional engineering poured into it. People are starting to take notice.
[quote:a66be75280]Writing portable programs among unixes is not very pleasant, because many of the systems older than Linux lack some useful APIs and their userspace tools are frozen. For example, why wouldn't solaris sh implement 'test -e'?[/quote:a66be75280]Good question. It does, you just have to know how to use it properly. Unfortunately, this is where the GNU implementation misleads.

There is actually `test -e` on SVR4 and it does exactly what you intended it to do. The real question is, why did your code break then?

More research is needed.
[quote:a66be75280]During 6 years of doing UADE, I've ran into deficiencies of Solaris too many times. The bigger issue I have is that most other unixes seem to be holding back on C99 features.[/quote:a66be75280]Well, here's yout chance to participate. Just like for Linux, the code is available to everybody and the engineers will sponsor you.
Additionally, you might want to look into the OpenSolaris Community Advisory Board and take an active role. There are options.

It's because of talented people like you that Solaris has evolved at the speed never before seen in the history of computing. Too bad HP and SGI aren't following suit; it's a shame, really.
[quote:a66be75280]Solaris' open source code doesn't affect us in any way, because we've always relied on public headers and man pages.[/quote:a66be75280]That's very good news indeed; and it was intended that things be done that way. So long as you don't use any private interfaces and stick to public APIs, Solaris guarantees you forward and backward compatibility; although, to be fair, so do IRIX and HP-UX.
[quote:a66be75280]Porting for Solaris is actually pretty easy. It's the small things that are different, but nobody has yet complained to us, so we haven't done anything.[/quote:a66be75280]Well, I'm not complaining; I'd like to bring this great SW to the Solaris platform because I've used Solaris for years and I believe it has great future ahead of it.

My plan is to bring together the most talented members of the OSS community involved with multimedia and give them the means to easily port their work to Solaris.

To be more concrete, I also plan to contact Matti Hamalainen again to get the XMMS SID plugin ported to Solaris.

In return, I will give permanent compile farms and state-of-the art development tools back to anyone willing to use them; and I will make packages for any SW that's ported.

---

From: shd
Date: Thu Feb 16 09:27:10 2006

To: UADE-User-discussion
[quote:27b72ba395="Anonymous"]
To be more concrete, I also plan to contact Matti Hamalainen again to get the XMMS SID plugin ported to Solaris.
[/quote:27b72ba395]

I'm afraid he is going to quit developing xmms-sid :( I've tried talking him to continue.

---

From: mld/uade team
Date: Thu Feb 16 09:30:41 2006

To: UADE-User-discussion
arrgh... that's bad news! I'm a big fan of xmms-sid...

---

From: Annatar
Date: Thu Feb 16 18:03:00 2006

To: UADE-User-discussion
[quote:2efa86e97c="shd"]I'm afraid he is going to quit developing xmms-sid :( I've tried talking him to continue.[/quote:2efa86e97c]Oh nooo... what are we going to play SID music in XMMS with?  All the other stuff won't even run through ./configure, let alone compile on Solaris.

Why's he quitting?

---

From: alankila
Date: Thu Feb 16 19:56:39 2006

To: UADE-User-discussion
Err, xmms-sid isn't that great... Here's what we need from a SID player:

- playlist that is capable of handling the entire HVSC without trouble
- modern search capabilities in the playlist
- fast back/forward seeking in SID
- song+subsong+time bookmarks
- hardsid and resid support (and sidplay1, maybe?)
- resid optimise=0 support (quite important for emulation quality)

Optional very advanced features that I'd love to see:

- finetuning emulation / hardware chip for better suit the song (for instance, dynamic adjustments to resonance range and center frequency)
- visualization of the curves involved with above and dynamic adjustments to these parameters...

Anyone knows a player that fits the bill?

---

From: Guest
Date: Thu Feb 16 21:55:11 2006

To: UADE-User-discussion
Hello, ccr here. Shd convinced me to defend XMMS-SID here a bit. :P

[quote:f590551b3f="alankila"]Err, xmms-sid isn't that great... Here's what we need from a SID player:

[/quote:f590551b3f]

First four (4) mentioned items are mainly problems with XMMS's design and interface, nothing strictly to do with XMMS-SID itself and as such are  beyond my control. XMMS-SID v0.8.0betas support both libSIDPlay 1 and 2, latter with reSID. HardSID support for libSIDPlay2 is not there, because I do not have HardSID card to test with. ReSID optimization is configurable in XMMS-SID.

About the latter optional items - there will be a graphical curve in the configuration dialog for libSIDPlay2's filter emulation, at least in the final 0.8.0 release. I promise. :)

Yeah, I know XMMS-SID is not perfect and never will be, but please at least accuse it for right deficiencies. :D

- ccr/TNSP

---

From: alankila
Date: Fri Feb 17 12:56:24 2006

To: UADE-User-discussion
You could do hardsid support just through the hardsid-builder library. I imagine the interface is virtually identical to using the resid-builder. I can test it for you if you can make some patches.

---

From: ccr/TNSP
Date: Sat Feb 18 05:17:52 2006

To: UADE-User-discussion
[quote:0c0f7e3a15="alankila"]You could do hardsid support just through the hardsid-builder library. I imagine the interface is virtually identical to using the resid-builder. I can test it for you if you can make some patches.[/quote:0c0f7e3a15]

You are correct in that the API is virtually identical as abstracted by libSIDPlay2 (and actually the initialization code is there in XMMS-SID, just #ifdef'd out), but the issues are more in the side of handling the playback in XMMS's side.

Theoretically I could adapt the relevant code from commandline sidplay2 player, but there is always the possibility unforeseen problems, which often are hard to debug without access to the platform.

I might try to do that, but it's not high on my TODO-list and neither is XMMS-SID as a whole either, at the moment.

[quote:0c0f7e3a15="Annatar"]Why's he quitting?[/quote:0c0f7e3a15]

For various reasons, but mostly because I feel that after 0.8.0 is finished, there is nothing reasonable left to add. Sure, all kinds of crazy ideas have crossed my mind, but nothing so important that I'd absolutely want to implement it. I'm sure I'll continue maintaining XMMS-SID, fixing any possible bugs, but not adding new features.

And 6 years is a long time twiddling on a piece of fringe software, maybe I should figure out  something that would gain interest of bigger audiences. :grin:

- ccr/TNSP

---

From: XIONG
Date: Fri May 9 13:00:18 2008

To: UADE-User-discussion
That was a cool interview :: thanks for posting it