pMusic 5.4.0


Version 5.4.0 is released

Highlights
  • Improve radio detection by allowing several urls for each radio stations in the index file. This is backward compatible with the old format.
  • A new dead simple podcast frontend is included by default. The heavily improved podcast managing introduced in pMusic 5.2 deserves its own gui. The good old PPG (Puppy Podcast Grabber) is now old enough to retire.
  • Search inside lyrics.
  • Play tracks other places than in the playqueue. pMusic is still a playqueue-oriented player. This is a function meant to check out tracks before adding them to the queue rather than an alternative play-source.
  • Multiple playqueues for even more flexible usage. This feature is optional, and turned on in the 'Playqueue' menu.
  • New export window - An attempt to clean up the complex export functionality, and to standardize the pMusic dialogs.
  • At last, the basic Visualization engine is included. Atm, the visualization filters are simple, but this might change in the future as ffmpeg-3 allows much more fun. pMusic 5.4 is still depending on ffmpeg 1.2.

  • For the complete list of news, check out the changelog

    Posted on 1 Apr 2017, 04:37 by zigbert - Categories: development
    No comments - Edit - Delete


    Puppy Newsletter


    A group of 'dogs' with smokey01 in the front-seat is now putting together a monthly newsletter covering stuff from the kennel.

    There has been some discussion in the forum some time now, and the first edition is released as scheduled - the first in every month. Hopefully this project will end up as one of the major resources for us. Much is happening in the Puppy world, but until now we have missed a encompassing channel. If you are interesting in a collaborating project, please join these good guys. Else, enjoy reading.

    Happy new year.

    Posted on 2 Jan 2017, 13:37 by zigbert - Categories: Puppy
    1 Comment - Edit - Delete


    Gtkdialog - Dynamic tabs


    I have earlier explained how I've extended gtkdialog to get 'new' widgets.
  • Knob
  • Right-click menu

  • This post will explain my setup to get dynamic tabs like you see in eg firefox and geany. As usual it includes a mix of gtkdialog code, svg and gtk theming.


    The challenge:
  • Gtkdialog does not allow to include code while running, so all code (tabs) has to be loaded at startup.
  • Using the <notebook> widget would work somehow if it could hide/show tabs. - it can't.
  • Using <togglebuttons> or <radiobuttons> are other option, but the input signal to these are 'true/false', not the name of the button, so this would be static - not our wish.
  • The example also uses rotated labels, which the mentioned widgets above can't do. Only the <text> widget can do that.
  • Another approach could be to use a svg image as the tab, but my experience is that svg requires height/width values, and that is hard to calculate since fonts differs a lot. The tabs name are editable and should support NLS, so width will change. We have to deal with this. We could include a specific font and font-size used for our app/tabs, but it would give some bloat and does not follow the global gtk-theme nor the global font-size.


  • The solution:
    My solution is built around the <eventbox> widget that holds the actions, while the <text> widget holds the label. A svg image marks the active tab, and a tiny gtk-theme helps us to highlight the tab when hovering. See it in use in pMusic 5.3.1 (or newer).




    The gtkdialog-code for one tab looks like this:
    <vbox spacing="0" visible="true" space-expand="false" space-fill="false">
    
    <hbox height-request="1" space-expand="true" space-fill="true">
    <hseparator height-request="1" width-request="12" space-expand="false" space-fill="false"></hseparator>
    <text space-expand="true" space-fill="true"><label>""</label></text>
    </hbox>
    <eventbox name="tab" space-expand="true" space-fill="true">
    <hbox>
    <vbox>
    <pixmap>
    <variable>PIX_TAB_1</variable>
    <width>20</width>
    <input file>/tmp/tab_1_icon.svg</input>
    </pixmap>
    </vbox>
    <text name="playqueue_tab" xalign="0" angle="270" wrap="false" space-expand="true" space-fill="true">
    <variable>TXT_TAB_1</variable>
    <input>cat /tmp/tab_1_NAME | sed -e "s%^%\n %" -e "s%$% %"</input>
    </text>
    </hbox>
    <action signal="enter-notify-event">disable:TXT_TAB_1</action>
    <action signal="leave-notify-event">enable:TXT_TAB_1</action>
    <action signal="button-press-event">if [[ $PTR_BTN -eq 3 ]]; then menu_tabs 1; else gxmessage "My actions"; fi</action>
    <action signal="button-release-event">activate:REFRESH_LIST</action>
    <action condition="command_is_true([[ $PTR_BTN -eq 3 ]] && echo true)" signal="button-release-event">activate:REFRESH_TABS</action>'
    </eventbox>
    <variable>VBOX_TAB_1</variable>
    </vbox>


    Hovering a tab activates signal="enter-notify-event" and disables the <text> widget in the tab. It might feels wrong to disable a widget we want to highlight, but this is one of the two methods I know to get a hovering effect on <text> widgets. (The other is to underline the text.) When the text get disabled, it receives the fg[INSENSITEVE] signal from the gtk-theme. If we override the theming, disabled widgets can look crisp. The class in the gtk-theme corresponds to <text name="tab" in the gtkdialog-code above.
    style "Tab"
    
    {
    fg[INSENSITIVE] = "#00CA10"
    }
    widget "*tab" style "Tab"


    Clicking on a tab executes its actions. Mouse left click shows the svg marker for this tab. All other tabs get a blank svg instead of the marker. A right click calls the function menu_tabs to show the menu. Here you can delete a tab, which is nothing else but hiding it. But since gtkdialog can't embed new code, we have to carefully keep this hidden tab for a next time. Therefor, I rebuild the tabs so the hidden ones always are at the end of the line - ready for next 'Add'.


    Posted on 11 Dec 2016, 19:48 by zigbert - Categories: Development
    No comments - Edit - Delete


    FatDog64 710 is released.


    FatDog is a close relative to Puppy Linux. It was actually forked (see down the page) from Puppy Linux 4.0 in 2008.

    The developers are long time Puppy users and tinkerers; kirk, jamesbond and more recently SFR. Of course there are many other notable contributors in the spirit of Open Source. Their initial intention was to fatten puppy but this quickly led to 64 bit development (2009) which was the first in Puppy's history.

    Initially, FatDog was built with the T2 build system and used a modified PET packaging system and package manager however the 700 series was a complete rethink with the entire distro compiled from source leveraging scripts from Linux From Scratch (LFS) and Beyond Linux From Scratch (BLFS). Package management now uses slaptget/gslapt which are compatible with tgz, tbz, tlz and txz packages. (Similar to a popular old school distro still in existence ).

    For more information and download links visit the FatDog 710 thread at the Puppy Linux Discussion Forum or visit The Desk of James (release announcement).

    Enjoy!



    Posted on 4 Dec 2016, 20:15 by 01micko - Categories: Release
    No comments - Edit - Delete


    Audioplayer's resource hunger


    Testing resource hunger of audioplayers
    This test contains the basic audio players; DeadBeeF and Audacious. It contains the mediaplayer VLC, the very comprehensive Exaile and the database driven music managers; pMusic and Clementine. Of course, this is not a fair compete since features differs a lot from player to player. In the end, it might be less important how much system resources the player uses. The functionality is in most cases what makes our choice. But still, it's good to know when running a low-powered system, and when choosing the default player.

    From my personal view, I am interesting to see how pMusic is working compared to other players. pMusic has got a lot of criticism of its hunger on cpu resources. I want to disprove this reputation.


    The test
    My test-machine is an AsusEEE netbook 1001px (cpu:2x1.66Ghz atom).
    This is a low-powered netbook that makes it easier to measure the differences in cpu-usage. Running on a modern pc, none of these players will make your system hot.

    The OS is XenialPup 7.0.4.
    VLC and DeadBeeF is installed by default. On this system I was able to run both Clementine and Exaile which is the most comparable to pMusic. Tried to install Amarok with no success. If you run another player of XenialPup 7.0.4, it would be great if you gave me a link to the pet/sfs. I am interested to extend my test with more players.

    The task is to play a mp3 file.
    I have used the default setting for each player, and started the app at least twice to ensure no first-run operation misleads the test-result.

    The compared players are:
    Audacious 3.6.2, Clemetine 1.2.3, DeaDBeeF 0.7.2, Exaile 3.2.2, pMusic 5.2.4, VLC 2.2.2


    Cpu-usage playing mp3 with gui shown
    Exaile		 7.5 %
    
    VLC 8.3 %
    DeaDBeeF 8.8 %
    Audacious 10.0 %
    pMusic 12.1 %
    Clementine 18.2 %

    Surprisingly. I guessed DeadBeef would be the winner because of its reputation of being lightweight. Exaile is a much more comprehensive option than DeadBeeF and Audicious, and still, it has less appetite for cpu-cycles.


    Memory-usage playing mp3 with gui shown
    Audacious	 5 Mb
    
    DeaDBeeF 20 Mb
    Exaile 23 Mb
    VLC 25 Mb
    pMusic 29 Mb
    Clementine 33 Mb

    Audicious is impressive. I had to verify it one more time. Let's mention that this is the Gtk gui - not the Winamp clone. Else, smaller range than expected. The guis differs from the simple (VLC) to the complex (Clementine), and I had expected the memory usage to differ more.


    Size required for installation:
    pMusic		 1 Mb
    
    Audacious 8 Mb
    DeaDBeeF 10 Mb
    VLC 53 Mb
    Clementine 66 Mb
    Exaile 66 Mb

    pMusic is built for Puppy, and take advantage of already existing dependencies. That makes it of course the smallest, but it is also the only player that is not compiled, and that is probably another reason for the result.

    Clementine is overall the heavy choice. I hoped to compare with Amarok which I assume it is the biggest brother (153 Mb install), but I were not able to get it work in Xenial. Hopefully, someone make a pack some day, and I will update these results.


    Posted on 15 Nov 2016, 02:58 by zigbert - Categories: Puppy
    No comments - Edit - Delete


    Slacko 700 Beta


    Slacko 700 is now in beta testing!

    It has been a bit over a month since slacko 700 alpha was first released and in that time we have squashed many bugs and have brought in may improvements.

    To get a copy just visit the puppy forum and grab either the Slacko 6.9.6.4 or Slacko64 6.9.6.4 iso image and burn it to a CD/DVD or copy it to a flash drive.

    Below is a preview of the default theme.



    Have fun testing and report any issues to the link above to the Puppy forum.

    Posted on 9 Oct 2016, 12:56 by 01micko - Categories: Development
    No comments - Edit - Delete


    Pages: [1] [2] [3] [4] [5] [6] ...