Page 111 of 117

Re: pMusic 5.2.4

Posted: Fri 28 Oct 2016, 15:19
by sheldonisaac
zigbert (in part) wrote:Grab music from, or just listen to thousands of radio-stations
When I try to play WQXR or WRTI, I see "connecting .."
But it doesn't play.
WFMT, as I recall, does play.

I've reinstalled repeatedly.
And done the Radio Stations complete build.

EDIT
OK, I got WQXR to play, and a few others.

Searched online for WRTI streaming, and found
http://38.100.101.74/WRTI CLASSICAL.mp3


Thank you,
Sheldon

Posted: Sun 30 Oct 2016, 07:28
by zigbert
There are plans to improve the radio module. Atm, the radio db supports only one url pr radio channel. Since many url's in the db is dead, it would be great to allow multiple addresses to each channel, and automatically scan the next address if the given one is dead. The pMusic radio db is built from the info at radiosure.com, and it includes limitless numbers of url's. So, the challenge is not to find the url's, but to define a clever way to include this into pMusic.

radio database

Posted: Sun 30 Oct 2016, 13:15
by sheldonisaac
zigbert wrote:There are plans to improve the radio module. Atm, the radio db supports only one url pr radio channel. Since many url's in the db is dead, it would be great to allow multiple addresses to each channel, and automatically scan the next address if the given one is dead. The pMusic radio db is built from the info at radiosure.com, and it includes limitless numbers of url's. So, the challenge is not to find the url's, but to define a clever way to include this into pMusic.
Thank for your reply, Sigmund.

I see that there's nothing I can do here to fix the database.

I added WRTI to favorites, and can choose radio stations from there.

Thanks again,
Sheldon

Posted: Tue 01 Nov 2016, 11:25
by live
Thanks for pMusic 5.2.4

Regarding podcast

Feature requests:
On the left pane it would be nice to select which column one wants to display (I'm not interest by default to view path, format, kps, etc.)

Bug
Under TahrPup64
If I add podcast channel http://radiofrance-podcast.net/podcast09/rss_10351.xml

I browse it and select for instance "Anne Pingeot, la discrète révélée (5/5) : Mort et poésie"
pMusic plays sizzled/crackled unhearable sound, while direct play is perfect.

Posted: Wed 02 Nov 2016, 21:18
by zigbert
live wrote:Feature requests:
On the left pane it would be nice to select which column one wants to display (I'm not interest by default to view path, format, kps, etc.)
To be considered.
live wrote:Bug
Under TahrPup64
If I add podcast channel http://radiofrance-podcast.net/podcast09/rss_10351.xml

I browse it and select for instance "Anne Pingeot, la discrète révélée (5/5) : Mort et poésie"
pMusic plays sizzled/crackled unhearable sound, while direct play is perfect.
I will check this out

Posted: Tue 08 Nov 2016, 08:58
by zigbert
live wrote:Bug
Under TahrPup64
If I add podcast channel http://radiofrance-podcast.net/podcast09/rss_10351.xml

I browse it and select for instance "Anne Pingeot, la discrète révélée (5/5) : Mort et poésie"
pMusic plays sizzled/crackled unhearable sound, while direct play is perfect.
I am not able to reproduce this. I get a nice audio quality in 128kb/sec. Do you get something else?

Posted: Mon 14 Nov 2016, 15:42
by zigbert
Have done a test to compare the resource hunger of different players.
See this blogpost

Posted: Mon 14 Nov 2016, 19:05
by greengeek
Hi Zigbert I just had a look at your comparison and on the basis of your comments i gave Audacious a try (using some pets from an old Pizzasgood thread) on my Slacko derivative.

Interesting player but I saw an unusual pattern of cpu usage within htop. The attached pic shows three instances of Audacious which I cannot explain as only one gui was running. The total is up over 20% cpu usage which is quite different to your figures. Could your comparison figures have included only the cpu percentage of a single Audacious instance and are there always multiple processes running or is it likely I did something wrong?
cheers!

EDIT : I have also added a screenshot of pMusic playing my Music directory for comparison (older version of pMusic that I really like). Nice big fat gui but still lightweight on cpu.

Posted: Tue 15 Nov 2016, 07:57
by zigbert
greengeek wrote:Could your comparison figures have included only the cpu percentage of a single Audacious instance and are there always multiple processes running or is it likely I did something wrong?
I use the cpu-average bar to measure, so I think my test shows the correct value. I see you are using the winamp-clone gui that might gives another result. The version I tested ran the gtk-gui by default, so I tested that one.

Posted: Tue 15 Nov 2016, 08:34
by zigbert
greengeek wrote:I have also added a screenshot of pMusic playing my Music directory for comparison (older version of pMusic that I really like). Nice big fat gui but still lightweight on cpu.
If using an older version than 5.0.0, it will use slightly more cpu-usage than the most recent versions of pMusic.
http://www.puppylinux.org/wikka/pmusicH ... rce-hunger

Posted: Tue 15 Nov 2016, 17:04
by greengeek
zigbert wrote:I see you are using the winamp-clone gui that might gives another result. The version I tested ran the gtk-gui by default, so I tested that one.
Oh, ok, thanks - I actually thought my gui was the basic gtk one. Didn't realise it was the winamp one. I will go looking for a different version.
cheers.

Posted: Sun 27 Nov 2016, 18:33
by zigbert
Version 5.2.5
See http://www.puppylinux.org/wikka/pmusicInstall

Changelog - 5.2.5
- Bugfix: Delete multiple files
- Bugfix: Search jamendo gives msg about missing index
- Bugfix: Right-click menu sourcelist: (Re)set source in pmu
- Bugfix: Expand several pmu's in sourcelist gives the same id-nr.

Posted: Mon 28 Nov 2016, 17:41
by zigbert
Version 5.3.0 - development release
See http://www.puppylinux.org/wikka/pmusicInstall
  • Tabbed playqueues
  • New export window
  • visualization

Posted: Sun 04 Dec 2016, 19:23
by jlst
Testing pmusic 5.2.5

I like the fact that it's a tiny frontend for ffmpeg.

It's really fast compared to old versions, which were too heavy on cpu...

I think that searching for music files on first run should be optional, not all people have a permanent install. It's just a suggestion.

Good job.

Posted: Mon 05 Dec 2016, 15:42
by zigbert
jlst
Thanks for testing!

There are for sure pros and cons when it comes to scanning at first run. I have tried to make it as discreet as possible. pMusic is built around the DB, so a scan is required to take advantage of the features in pMusic. But, of course not required to play audio - which is the main target.

One solution could be to offer a simple frontend without scanning. Focusing on a basic audioplayer without too many options and features. The downside would be the slow file-search.

REQUEST - add tuneIn radio streams

Posted: Mon 05 Dec 2016, 19:17
by tenochslb
Is it possible to add TuneIn radio streams to pradio?

What is TuneIn?:
TuneIn is a privately held company based in San Francisco, California founded by Bill Moore as RadioTime in Dallas, Texas in 2002. TuneIn has over 100,000 broadcast radio stations and four million on-demand programs and podcasts from around the world
https://en.wikipedia.org/wiki/TuneIn
There is a plugin available in VLC to be able to reproduce the TuneIn streams:
https://addons.videolan.org/content/sho ... iles-panel

The main code appears to be in the following file:

tunein.lua:

Code: Select all

--[[
 $Id$

 Copyright © 2014 VideoLAN and AUTHORS

 Authors: Diego Fernando Nieto <diegofn at me dot com>

 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation; either version 2 of the License, or
 (at your option) any later version.

 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.

 You should have received a copy of the GNU General Public License
 along with this program; if not, write to the Free Software
 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
--]]
require "simplexml"

function descriptor()
    return { title="TuneIn Radio" }
end

--
-- Main Function
--
function main()

	-- Add the main categories to browse TuneIn
	
	-- Check is the username was defined
	-- WISH: Dialog to change this params because vlc.config object doesn't work
	local __username__ = "user"
	local __password__ = "password"
	
	tunein_radio = NewTuneInRadio (__username__, __password__)

	--
	-- Create a new TuneinRadio object
	--
	tunein_radio.load_genre_cache( )

	--
	-- Use the add_radio_tracks to load categories in the playlist
	-- track_type is category, region, id
	--
	if __username__ ~= nil then
		tunein_radio.add_radio_tracks ( "category", "presets", "Favorites" )
	end
	
	tunein_radio.add_radio_tracks ( "category", "local", "Local Radio")
	tunein_radio.add_radio_tracks ( "category", "trending", "Trending")
	tunein_radio.add_radio_tracks ( "category", "music", "Music")
	tunein_radio.add_radio_tracks ( "id", "c57922", "News")
	tunein_radio.add_radio_tracks ( "category", "talk", "Talk")
	tunein_radio.add_radio_tracks ( "category", "sports", "Sports")
	tunein_radio.add_radio_tracks ( "region", "r0", "By Location")
	tunein_radio.add_radio_tracks ( "category", "lang", "By Language")
	tunein_radio.add_radio_tracks ( "category", "podcast", "Podcasts")
end

--
-- Class TuneInRadio
--
function NewTuneInRadio (username, password)
	--
	-- TuneIn Radio private members
	--
	local self = {	__username__ = username,
					__password__ = password,
					__genres_cache__ = {},
					__partner_id__ = "k2YHnXyS",
					__protocol__ = "http://",
					__BASE_URL__ = "opml.radiotime.com",
					__formats__ = "aac,html,mp3,wma,wmpro,wmvideo,wmvoice"
	}
    
	--
	-- Load the genre array in a cache
	--
	local load_genre_cache = function ()
			
		-- Local Variables
		local params = ""
		local method = "/Describe.ashx"
		params = "?c=genres" .. "&partnerId=" .. self.__partner_id__

		-- Create the URL
		local url = self.__protocol__ .. self.__BASE_URL__ .. method .. params

		-- Add the first node
		local tree = simplexml.parse_url(url)

		for _, body in ipairs( tree.children ) do
			simplexml.add_name_maps( body )

			-- This has found an genre
			if body.children_map["status"] == nil then
				if body.children_map["outline"] ~= nil then
					-- Browse all outline elements searching genres
					self.__genres_cache__ = (body.children_map["outline"])
				end
			end
		end
	end

	--
	-- Return the Genre name based in its genre_id
	--
	local get_genre_name = function ( genre_id )
		for _, genres in ipairs (self.__genres_cache__) do
			if ( genres.attributes["guide_id"] == genre_id ) then
				return  genres.attributes["text"]
			end
		end
	end
    
	--
	-- Add Radio Tracks Functions
	--
	local add_radio_tracks = function ( track_type, category, category_name, username, password )
		
		-- Local Variables
		local params = ""
		local method = "/Browse.ashx"
	
		-- Create the params string using track_type
		if track_type == "category" then
			params = "?c=" .. category
		elseif track_type == "region" then
			params = "?id=" .. category
		elseif track_type == "id" then
			params = "?id=" .. category
		end
		params = params .. "&formats=" .. self.__formats__ .. "&partnerId=" .. self.__partner_id__ .. "&username=" .. self.__username__ .. "&password=" .. self.__password__
	
		-- Create the URL
		local url = self.__protocol__ .. self.__BASE_URL__ .. method .. params
	
		-- Add the first node
		local node = vlc.sd.add_node( {	title = category_name,
									 	arturl = "https://raw.githubusercontent.com/diegofn/TuneIn-Radio-VLC/master/resources/" .. category .. ".png"
									 } )
		local tree = simplexml.parse_url(url)
			
		for _, body in ipairs( tree.children ) do
			simplexml.add_name_maps( body )
			
			-- This has found an station
			if body.children_map["status"] == nil then
				if body.children_map["outline"] ~= nil then
					
					-- Browse all outline elements searching stations
					for _, station in ipairs( body.children_map["outline"] ) do
						if station ~= nil then
							
							-- Add Station
							-- Check if the station is a Radio Station
							if station.attributes["type"] == "audio" then
								-- Its a station
								node:add_subitem( {path = station.attributes["URL"],
												title = station.attributes["subtext"],
												artist = station.attributes["text"],
												genre = get_genre_name ( station.attributes["genre_id"] ),
												arturl = vlc.strings.resolve_xml_special_chars ( station.attributes["image"] )
								} )
							
							elseif station.attributes["type"] == "link" then
								-- Its a Subnode (Link)
								node:add_subitem( {path = station.attributes["URL"],
												title = station.attributes["text"],
												artist = station.attributes["text"],
												album = station.attributes["text"],
								} )
							
							else
								-- Its a Subnode only
								-- WISH. Can display the entire tree
							end
						end
					end
				end
			end
		end
	end

	return {
		load_genre_cache = load_genre_cache,
		get_genre_name = get_genre_name,
		add_radio_tracks = add_radio_tracks
	}
end


Can something like this be included in pradio?

Posted: Wed 07 Dec 2016, 21:23
by zigbert
tenochslb
I will check this out, but right now there is no time...

Posted: Sat 10 Dec 2016, 23:33
by zigbert
Version 5.2.6
http://www.puppylinux.org/wikka/pmusicInstall

Changelog
- Bugfix: xerrs.log is getting filled (thanks to sheldonisaac)

Posted: Wed 04 Jan 2017, 16:58
by zigbert
Version 5.2.7
http://www.puppylinux.org/wikka/pmusicInstall

Changelog
- Bugfix: Export: Disclaimer prevents export (Thanks to MochiMoppel)
- Bugfix: Masstagger: Help dialog prevents tagging (Thanks to MochiMoppel)
- Bugfix: Help/Disclaimer dialogs prevents saving config (Thanks to MochiMoppel)
- Bugfix: Masstagger: Ensure all files in list get tagged

Posted: Wed 04 Jan 2017, 17:01
by zigbert
Version 5.3.2 - Development release
http://www.puppylinux.org/wikka/pmusicInstall

Changelog - (so far) for the next major update - pMusic 5.4.0

Code: Select all

- Radio
	- Allow alternative urls for each station in the index if found at radiosure.com
	- Use alternative url if no connection is provided
- Playqueue
	- Multiple playqueues
		- Show/hide in PlayQueue menu
		- Right-click menu to rename/delete
	- Sort / Shuffle items in list
- Export
	- Export from multiple sources (not only playqueue)
	- See and edit export-list before executing
	- Option to add albumart to target directory (thanks to 01micko)
	- Help dialog
	- Statusbar showing nr of files to export
	- Handgrip to scale window
	- Open empty export tool from the File menu
	- Right-click menu (playqueue and sourcelist): Send to export
	- Unify look with Masstagger dialog
- Visualization
	- Basic visualization engine
	- Available presets found in the View menu
	- Fullscreen/window mode
	- Preset file: /usr/local/pmusic/txt_visualization
	- Option to (de)activate visualization in preferences (cpu-usage)
- Masstagger
	- Remove file in list by mouse middle-click
	- Unify look with Export dialog
	- Set $STORAGE_DIR/albumart as default location for alternative albumart image files
	- Bugfix: update statusbar filecount when adding via right-click menu
- Play engine
	- Play tracks in alternative sources (not playqueue) without interfering with queue
	- Improve shuffle play
- Sourcelist
	- Choose visible columns in sourcelist (thanks to live)
- Gui:
	- Some rearrangements in the Music Sources menu
	- Bugfix: tooltip-markup shows even if tooltips is turned off in preferences
	- Themes
		- Nad5
			- icon_import.svg, icon_clean.svg
			- class for tree-headers including buttons - alt_list_header
			- Class for multiple playqueues
			- Minor adjustments
		- GTK
			- icon_import.svg, icon_clean.svg
			- Class for multiple playqueues
- Trackinfo
	- Album list: Search for track
	- Bugfix: Choosing Genre (id3) from menu-button includes id-nr.
- Support include-mechanishm in asoundrc for bluetooth support (thanks to fr33land and rerwin)
- File chooser (box_chooser)
	- Support widget-modes - open/save/... (thanks to MochiMoppel)
	- Specify default directory for file/directory-selection
- Move from func to func_C 
	- sec2time
- Top-Hits plugin
	- Gui improvements
	- Improve detection
	- Use file with highest rating (in case of several hits)
- Backend plugin
	- Option to move output to text editor
- Help: Link to the wiki in all info dialogs
- About: Link to wiki - disclaimer
- Move attribute info (-h/--help) to file txt_attributes.
- Bugfix: General error-msg missing NLS support for the word 'Error' in the frame
- Bugfix: Live stream (no length description) should not add timestamp to favorites