Hello,

>From to time I have played a little with trying to make Freeamp work in
Solaris, as I use Solaris quite much on the desktop. Today I finally had
some success. At least it runs without crashing, and I can stream files
+ play MP3s from disk. With /usr/dt/bin/sdtaudiocontrol, I can select
whether I want to use the internal speaker, the internal sound card, or
both. It seems stable too!

Test setup:

* Sun Blade 100 running Solaris 8 10/01 with GNOME 2 beta 1 from
www.sun.com/software.
* Gcc 3.1, glib 1.2.10, gtk 1.2.10, gdkpixbuf 0.11.0 and freetype 1.3.1
from sunfreeware.com.

Packages made:

* http://anders.fix.no/solaris/pkg/sol8/sparc32-64/zinf-2.2.0-sol8-sparc64-local.gz
* 
http://anders.fix.no/solaris/pkg/sol8/sparc32-64/musicbrainz-1.1.0-sol8-sparc64-local.gz

Patches used:

* Attached.

Screenshot of player in use:

* http://anders.fix.no/test/grab_solaris8+gnome2+zinf.png

If there is some interest in Solaris support in the CVS repository, I'll
consider trying to maintain it.

Thanks for making such a nice sound player - the best opensource one
IMHO!

Cheers,

-- 
Anders.
--- lib/http/src/Http.cpp.orig  Thu Jun 20 08:40:07 2002
+++ lib/http/src/Http.cpp       Thu Jul 25 00:19:13 2002
@@ -42,6 +42,10 @@
 #include <unistd.h>
 #endif
 
+#if defined(solaris)
+#define INADDR_NONE 0xffffffff
+#endif
+
 #if defined(unix) || defined(__BEOS__) || defined(_BSD_SOURCE)
 #define SOCKET int
 #endif
--- ui/musicbrowser/unix/src/fileselector.cpp.orig      Thu Jun 20 08:41:53 2002
+++ ui/musicbrowser/unix/src/fileselector.cpp   Thu Jul 25 01:23:32 2002
@@ -34,6 +34,12 @@
 #include "utility.h"
 #include "preferences.h"
 
+#if defined(solaris)
+#include <sys/types.h>
+#include <sys/param.h>  /* for MAXPATHLEN */
+#include <sys/stat.h>
+#endif
+
 char old_path[PATH_MAX]="/\0";
 
 FileSelector::FileSelector(FAContext *context,const char *windowtitle)
@@ -68,11 +74,19 @@
 {
     DIR *dir=NULL;
     struct dirent *current=NULL;
+#if defined(solaris)
+    struct stat *s;
+#endif
     if ((dir = opendir(subdirs))!=NULL){
         current = readdir(dir);
         current = readdir(dir);
         while((current=readdir(dir))!=NULL){
+#if defined(solaris)
+       stat(subdirs, s);
+        if (s->st_mode & S_IFDIR) {
+#else
             if(current->d_type==DT_DIR){
+#endif
                char temp_subdir[PATH_MAX];
                strncpy(temp_subdir, subdirs,PATH_MAX);
                strcat(temp_subdir,"/");
--- ui/zinf/unix/src/GTKFileSelector.cpp.orig   Thu Jun 20 08:42:46 2002
+++ ui/zinf/unix/src/GTKFileSelector.cpp        Thu Jul 25 01:37:15 2002
@@ -25,6 +25,12 @@
 #include <unistd.h>
 #include <dirent.h>
 
+#if defined(solaris)
+#include <sys/types.h>
+#include <sys/param.h>  /* for MAXPATHLEN */
+#include <sys/stat.h>
+#endif
+
 char old_path[PATH_MAX];
 
 GTKFileSelector::GTKFileSelector(FAContext *context,const char *windowtitle)
@@ -59,11 +65,19 @@
 {  
     DIR *dir=NULL;
     struct dirent *current=NULL;
+#if defined(solaris)
+    struct stat *s;
+#endif
     if ((dir = opendir(subdirs))!=NULL){
         current = readdir(dir);
         current = readdir(dir); 
         while((current=readdir(dir))!=NULL){ 
+#if defined(solaris)
+       stat(subdirs, s);
+       if (s->st_mode & S_IFDIR) {
+#else
             if(current->d_type==DT_DIR){  
+#endif
                 char temp_subdir[PATH_MAX];
                 strncpy(temp_subdir, subdirs,PATH_MAX);
                 strcat(temp_subdir,"/");

Reply via email to