Pocket Radio Player

Submit portable freeware that you find here. It helps if you include information like description, extraction instruction, Unicode support, whether it writes to the registry, and so on.
Message
Author
User avatar
Grisu
Posts: 63
Joined: Sat Aug 18, 2012 11:25 am
Contact:

Re: Pocket Radio Player #290612

#16 Post 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.

User avatar
joby_toss
Posts: 2970
Joined: Sat Feb 09, 2008 9:57 am
Location: Romania
Contact:

Re: Pocket Radio Player #290612

#17 Post 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?

User avatar
Grisu
Posts: 63
Joined: Sat Aug 18, 2012 11:25 am
Contact:

Re: Pocket Radio Player #290612

#18 Post 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....

User avatar
Grisu
Posts: 63
Joined: Sat Aug 18, 2012 11:25 am
Contact:

Re: Pocket Radio Player #290612

#19 Post 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.

User avatar
Midas
Posts: 6710
Joined: Mon Dec 07, 2009 7:09 am
Location: Sol3

Re: Pocket Radio Player

#20 Post by Midas »

Pocket Radio Player #290714 (Beach Bar) is released (changelog at http://pocketradio.awardspace.info/prp_changelog.txt).
Last edited by Midas on Sun Oct 19, 2014 2:55 pm, edited 1 time in total.

TP109
Posts: 571
Joined: Sat Apr 08, 2006 7:12 pm
Location: Midwestern US

Re: Pocket Radio Player

#21 Post 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/

User avatar
Midas
Posts: 6710
Joined: Mon Dec 07, 2009 7:09 am
Location: Sol3

Re: Pocket Radio Player

#22 Post by Midas »

Pocket Radio Player #080215 released (changelog at http://pocketradio.awardspace.info/prp_changelog.txt).

bzl333
Posts: 167
Joined: Wed Jan 12, 2011 3:11 pm

Re: Pocket Radio Player

#23 Post by bzl333 »

hey, this project is getting better :)

nice website now and updates regularly.

User avatar
Grisu
Posts: 63
Joined: Sat Aug 18, 2012 11:25 am
Contact:

Re: Pocket Radio Player

#24 Post 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

User avatar
joby_toss
Posts: 2970
Joined: Sat Feb 09, 2008 9:57 am
Location: Romania
Contact:

Re: Pocket Radio Player

#25 Post 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

User avatar
Midas
Posts: 6710
Joined: Mon Dec 07, 2009 7:09 am
Location: Sol3

Re: Pocket Radio Player

#26 Post by Midas »

Voted. 8)

User avatar
smaragdus
Posts: 2120
Joined: Sat Jun 22, 2013 3:24 am
Location: Aeaea

Re: Pocket Radio Player

#27 Post by smaragdus »

@joby_toss
Thanks for adding Pocket Radio Player to the database, it fully deserves its place there, excellent program. I voted too.

User avatar
Grisu
Posts: 63
Joined: Sat Aug 18, 2012 11:25 am
Contact:

Re: Pocket Radio Player

#28 Post by Grisu »

Thanks guys!

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

User avatar
SYSTEM
Posts: 2041
Joined: Sat Jul 31, 2010 1:19 am
Location: Helsinki, Finland

Re: Pocket Radio Player

#29 Post 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. :)
My YouTube channel | Release date of my 13th playlist: August 24, 2020

User avatar
smaragdus
Posts: 2120
Joined: Sat Jun 22, 2013 3:24 am
Location: Aeaea

Re: Pocket Radio Player

#30 Post by smaragdus »

@ Grisu
Thank you for your excellent work on Pocket Radio Player, I appreciate your efforts to maintain the stations database very much.

Post Reply