Page 2 of 10

Re: Pocket Radio Player #290612

Posted: Sun Jan 06, 2013 3:12 pm
by Grisu
@bzl333:
The Linux port was outdated for quite a while now. I've spent the last months to update it.
If you want to give it a shot, you can get it here: http://pocketradio.awardspace.info/downloads.html
I named it "Internal Test Build" because I'm still changing stuff, try to sort out and test some aspects.

I'm using a VirtualBox with Ubuntu 12.10. For the dependencies: You have to install the fmod library (libfmodex.so & libfmodex-4.44.03.so).
I also use the following script after a fresh installation. Not sure if you need everything in there. Hope it helps a bit.

Code: Select all

#!/bin/bash

###############################################################################
###############################################################################
##
## name: install.sh
## author; jim teeuwen [jimteeuwen[at]gmail.com]
## version 0.9
##
## This script ensures the presence of a number of required packages on the
## user's system. These packages are needed to make blitzmax run properly.
##
## The script supplies (un)installation schemes for various package managers
## as well as any differences between 32 and 64 bit systems that may require
## handling.
##
## Version history:
##   [0.9] Dec 8 2011 [degac,markcw]
##      - Added inst_apt-get.
##   [0.8] Nov 26 2009 [markcw]
##      - Added libxpm-dev package to aptitude list.
##   [0.7] Aug 16 2009 [markcw]
##      - Added inst_zypper.
##      - Added package list for inst_pacman.
##   [0.6] Aug 9 2009: [markcw]
##      - Added package lists for inst_emerge, inst_yum and inst_urpmi.
##      - Added a check for root login.
##   [0.5b] Aug 6 2009:
##      - Removed support for ia32-apt-get in the inst_aptitude function.
##        Apparently this is no longer required to make blitzmax work as well
##        it causing problems with standard package management on a 64-bit
##        system.
##   
###############################################################################
###############################################################################

###############################################################################
## Variables we will be needing later on:
PKGMGRS=("apt-get" "aptitude" "emerge" "yum" "urpmi" "pacman" "zypper");
PKGMGR=
IS_64_BIT=0
DO_INSTALL=1;

###############################################################################
## usage
usage() {
   echo "Usage: `basename $0` [OPTIONS]";
   echo "";
   echo "   -i    : Install all required packages. (This is the default mode)";
   echo "   -u    : Uninstall all required packages.";
   echo "   -h    : Display this help.";
   echo "";
}

###############################################################################
## Package Manager-specific (un)installation schemes.
inst_apt-get()
{
	if [ $IS_64_BIT -eq 1 ]; then
		PKG_LIST="gcc-multilib g++-multilib libxxf86vm-dev libglu1-mesa-dev x11proto-core-dev x11proto-gl-dev x11proto-kb-dev libasound2-dev libidn11-dev libxft-dev x11proto-xext-dev libxpm-dev";
	else
		PKG_LIST="gcc g++ libxxf86vm-dev libglu1-mesa-dev x11proto-core-dev x11proto-gl-dev x11proto-kb-dev libasound2-dev build-essential libidn11-dev libxft-dev x11proto-xext-dev libxpm-dev";
	fi

	if [ $DO_INSTALL -eq 1 ]; then
		echo "[i] Installing...";

		sudo apt-get install $PKG_LIST;
	else
		echo "[i] Uninstalling...";
		sudo apt-get --purge remove $PKG_LIST;

		echo "[i] Performing apt-get cleanup...";
		sudo apt-get autoremove;
		sudo apt-get autoclean;
	fi
	return $?;
}

inst_aptitude()
{
	if [ $IS_64_BIT -eq 1 ]; then
		PKG_LIST="gcc-multilib g++-multilib libxxf86vm-dev libglu1-mesa-dev x11proto-core-dev x11proto-gl-dev x11proto-kb-dev libasound2-dev libidn11-dev libxft-dev x11proto-xext-dev libxpm-dev";
	else
		PKG_LIST="gcc g++ libxxf86vm-dev libglu1-mesa-dev x11proto-core-dev x11proto-gl-dev x11proto-kb-dev libasound2-dev build-essential libidn11-dev libxft-dev x11proto-xext-dev libxpm-dev";
	fi

	if [ $DO_INSTALL -eq 1 ]; then
		echo "[i] Installing...";
#		if [ $IS_64_BIT -eq 1 ]; then
#			## install ia32-apt-get separately.
#			## The other packages require this one to be installed and ready.
#			## 'ia32-apt-get' serves as a 32 bit compatibility tool. It creates
#			## links to 64 bit versions of the selected packages.
#			sudo apt-get install ia32-apt-get;
#		fi

		## We can pass all of the packages to aptitude in 1 go,
		sudo apt-get install $PKG_LIST;
	else
		echo "[i] Uninstalling...";
		## We can pass all of the packages to aptitude in 1 go,
		sudo apt-get --purge remove $PKG_LIST;
		
#		if [ $IS_64_BIT -eq 1 ]; then
#			## uninstall ia32-apt-get separately.
#			sudo apt-get --purge remove ia32-apt-get;
#		fi
		
		## These 2 commands tell aptitude to clean up any unused packages
		## still lingering around the system. They make sure we do not leave
		## any orphaned packages behind. These orphans serve no purpose and
		## simply waste space.
		echo "[i] Performing aptitude cleanup...";
		sudo apt-get autoremove;
		sudo apt-get autoclean;
	fi
	return $?;
}

inst_emerge()
{
	PKG_LIST="libX11 mesa-progs libXft libXpm";

	if [ $DO_INSTALL -eq 1 ]; then
		echo "[i] Installing...";
		sudo emerge -a $PKG_LIST;
	else
		echo "[i] Uninstalling...";
		sudo emerge -a --unmerge $PKG_LIST;
	fi
	return $?;
}

inst_yum()
{
	PKG_LIST="gcc-c++ libX11-devel mesa-libGLU-devel libXft-devel libXpm-devel";

	if [ $DO_INSTALL -eq 1 ]; then
		echo "[i] Installing...";
		yum install $PKG_LIST;
	else
		echo "[i] Uninstalling...";
		yum remove $PKG_LIST;

		echo "[i] Performing yum cleanup...";
		yum clean all;
	fi
	return $?;
}

inst_urpmi()
{
	PKG_LIST="gcc-c++ libx11_6-devel libmesaglu1-devel libxft-devel libxpm-devel";
 
	if [ $DO_INSTALL -eq 1 ]; then
		echo "[i] Installing...";
		urpmi $PKG_LIST;
	else
		echo "[i] Uninstalling...";
		urpme $PKG_LIST;
	fi
	return $?;
}

inst_pacman()
{
	PKG_LIST="gcc";

	if [ $DO_INSTALL -eq 1 ]; then
		echo "[i] Installing...";
		pacman -S $PKG_LIST;
	else
		echo "[i] Uninstalling...";
		pacman -Rsn $PKG_LIST;
	fi
	return $?;
}

inst_zypper()
{
	PKG_LIST="gcc-c++ xorg-x11-libX11-devel Mesa-devel";

	if [ $DO_INSTALL -eq 1 ]; then
		echo "[i] Installing...";
		sudo zypper install $PKG_LIST;
	else
		echo "[i] Uninstalling...";
		sudo zypper remove $PKG_LIST;
	fi
	return $?;
}

trap_int()
{
	echo "[i] SIGINT detected. Exiting script.";
	echo "    Note that this may leave some operations incomplete.";
	echo "    Run the script again to complete any pending operations.";
	exit 0;
}

###############################################################################
###############################################################################
## Main program

## intercept ctrl-c (SIGINT).
trap trap_int INT;

clear;
echo "Blitzmax Installation Script version 0.9";
echo "Please report bugs or suggestions to: jimteeuwen[at]gmail.com";
echo "";


###############################################################################
## Check for commandline options:
while getopts iuh opt; do
	case "$opt" in
		i) DO_INSTALL=1;;
		u) DO_INSTALL=0;;
		h) usage; exit 0;;
		*?) usage; exit 1;;
	esac
done
unset opt;


###############################################################################
## Get architecture. 64 bit systems require some extra packages
## since blitz has no 64-bit support. We need our system to provide
## symbolic links to the 64 bit modules for us.
echo "[i] Checking architecture...";
IS_64_BIT=0;
if [ `uname -m` == "x86_64" ]; then
	IS_64_BIT=1;
	echo "    found: 64 bit";
else
	echo "    found: 32 bit";
fi


###############################################################################
## Determine the package manager we have available.
echo "[i] Identifying package manager...";
PKGMGR="";
for pm in ${PKGMGRS[@]}; do
	if [ ! -f "`which $pm`" ]; then
		continue;
	fi
	
	PKGMGR=$pm;
	echo "    found: $pm";
	break;
done
unset pm;

if [ -z "$PKGMGR" ]; then
	echo "[e] Unable to find a package manager.";
	echo "    Supported are: ${PKGMGRS[@]}";
fi

###############################################################################
## Check if root login is needed.
## Some distros use su and others use sudo.
## I am assuming distros using the same package manager use the same su/sudo syntax.
if [ `whoami` = "root" ]; then
	echo "[i] Logged in as root user.";
elif [ "$PKGMGR" = "yum" ]; then ## sudo if user in sudoers
	PKGMGR=""; ## note: using PKGMGR to force root login
elif [ "$PKGMGR" = "pacman" ]; then
	PKGMGR="";
elif [ "$PKGMGR" = "urpmi" ]; then ## no sudo
	PKGMGR="";
fi

if [ -z "$PKGMGR" ]; then ## no package manager found or need root login
	echo "[i] Login as root and then re-run this script.";
	su;
fi

###############################################################################
## perform package manager-specific setup.
## we simply append the manager name as defined in the array above to 'inst_'.
## This assumes the resulting function name exists. Note that this is case-
## sensitive. eg: 'aptitude' becomes a call to function 'inst_aptitude'.
echo "[i] Performing $PKGMGR setup...";
echo "[i] Building package list...";
inst_$PKGMGR;


###############################################################################
## All done. Return control to shell with exit code of last operation.
echo "[i] Done.";
exit $?;
For Mac and Windows:
I'm testing a mutithreaded station file updater at the moment. - If everything goes well. It will be available for all ports.
Btw: The station files from build #25.11.2012 have been updated.

Re: Pocket Radio Player #290612

Posted: Sat Jan 26, 2013 1:25 am
by joby_toss
Very snappy app! Minimalistic but highly effective. I like it.

I miss the possibility of quickly changing stations. I'd like to see a hotkey to bring the app window to front (back from tray), or the option to not go to tray when minimized so I can use Alt+Tab. And then the search/genre box to be focused so I can begin typing immediately and hit Enter to play the found station. Or maybe there already is a way to achieve this?

Re: Pocket Radio Player #290612

Posted: Sun Jan 27, 2013 2:00 pm
by Grisu
Thanks.

Currently PRP only offers some basic hotkeys under Windows systems as described here: http://pocketradio.awardspace.info/faq_hk.html
You can use Alt+Tab without having to minimze it. Simply place the app window where you need it / change the window size. You can also save the window position for later use.

I think I could add support for extra hotkeys (like the "media keys") in order to change stations (next/previous one from your station list) or to bring the app window up from the tray (which key should that be?). The issue with hotkeys in general is that in some cases when other apps run fullscreen e.g., they might get disabled. There're apps that install extra services, "hack" the windows priority list or manipulate inputs in order to block others programs. Don't like that kind of stuff.

Need to think about this....

Re: Pocket Radio Player #290612

Posted: Sun Mar 03, 2013 4:54 am
by Grisu
I uploaded a new test build that supports the media keys (i.e. Play/Pause, Stop, Next, Previous buttons as well as the volume wheel).
Might add the Windows button in order to bring the app to the front in a later version. All work in progess.

Re: Pocket Radio Player

Posted: Wed Aug 20, 2014 10:54 am
by Midas
Pocket Radio Player #290714 (Beach Bar) is released (changelog at http://pocketradio.awardspace.info/prp_changelog.txt).

Re: Pocket Radio Player

Posted: Sat Oct 18, 2014 9:14 am
by TP109
update:
Pocket Radio Player - Changelog:
http://pocketradio.awardspace.info/prp_changelog.txt
----------------------------------------------------------
#181014 (FMOD Hangover) - Win32
----------------------------------------------------------
! Win32: Uses Fmod 4.44.46 which fixes some FMOD_NONBLOCKING related hangs and crashes.
+ added / deleted / replaced radio stations (2200 total / ~4118 servers)

Homepage has some good info here:
http://www.pocketradioplayer.de.vu/

Re: Pocket Radio Player

Posted: Mon Feb 09, 2015 7:54 am
by Midas
Pocket Radio Player #080215 released (changelog at http://pocketradio.awardspace.info/prp_changelog.txt).

Re: Pocket Radio Player

Posted: Mon Feb 09, 2015 10:27 am
by bzl333
hey, this project is getting better :)

nice website now and updates regularly.

Re: Pocket Radio Player

Posted: Mon Jul 06, 2015 2:19 pm
by Grisu
I try to update the app on a monthly basis. Glad to see that people recognise the progress. :)

Current build is: #050715

Please make sure that you always use the latest version.

If you want to get a small status update on each release, please join the PRP Facebook group: https://www.facebook.com/PocketRadioPlayer

Re: Pocket Radio Player

Posted: Tue Jul 07, 2015 2:16 am
by joby_toss
I thought this was already in the database, but I can't find it.
In case I'm wrong... http://www.portablefreeware.com/index.php?id=2721

Re: Pocket Radio Player

Posted: Tue Jul 07, 2015 4:44 am
by Midas
Voted. 8)

Re: Pocket Radio Player

Posted: Tue Jul 07, 2015 3:57 pm
by smaragdus
@joby_toss
Thanks for adding Pocket Radio Player to the database, it fully deserves its place there, excellent program. I voted too.

Re: Pocket Radio Player

Posted: Sun Jul 26, 2015 1:30 pm
by Grisu
Thanks guys!

If you want, you can get #260715 (Gargamel) here: http://www.mediafire.com/download/lcar7 ... _win32.zip

Re: Pocket Radio Player

Posted: Mon Jul 27, 2015 2:51 am
by SYSTEM
Grisu wrote:If you want, you can get #260715 (Gargamel) here: http://www.mediafire.com/download/lcar7 ... _win32.zip
I updated our database entry accordingly. :)

Re: Pocket Radio Player

Posted: Tue Jul 28, 2015 9:10 am
by smaragdus
@ Grisu
Thank you for your excellent work on Pocket Radio Player, I appreciate your efforts to maintain the stations database very much.