Home    Products    Downloads    Purchase    Support    Company    Search  
  About    News    Contact    Newsletter   Community 
Conduits Community Forums
  Active TopicsActive Topics  Display List of Forum MembersMemberlist  Search The ForumSearch  HelpHelp
  RegisterRegister  LoginLogin
Conduits > Pocket Player
 Conduits Community > Conduits > Pocket Player
Subject Topic: New Skin+Vis: for cars & streaming Post ReplyPost New Topic
Author
Message << Prev Topic | Next Topic >>
thx1200
Enthusiast
Enthusiast


Joined: 01 December 2007
Posts: 133
Posted: 12 July 2008 at 7:35pm | IP Logged Quote thx1200

EDIT (Dec 13, 2009):
Fixed download links. It appears the forums ate them, so I had to reconstruct them. :-)

EDIT (Aug 19, 2009):
Hey I'm still out here. The VGA version of Dark Melody is finally here. :-) In addition, NPV has some new features, such as customizing the color in the config, no more scroll bars in the playlist (4.1 is finger friendly), streamed song memorization, and more! Enjoy! This is probably the last version of this particular skin/plugin. I'm currently in the very early stages of developing a new UI for PocketPlayer. Too early to divulge details, but it will be built on a lot of the plugin technology I've written so far, but all tied in together in a unified way. Stay tuned!

EDIT (Oct 12, 2008):
I updated the pictures/post below to include the latest screenshots and features. I figured out how to make pretty buttons. :-) I also made the seek shuttle wider for easier finger access (less playlist area, but you get five full lines when font is "large" which is enough for me). Additionally, NPV itself has several new features and bug fixes. I want some feedback, so please leave some! Enjoy...

--------------------------------------------------
Hello everybody! I've been working on customizing PP for use in my car for quite some time and I wanted to show off what I got so far and hopefully get feedback and bug testing out of the PP community! :-)

Goals:

1. Dark finger-friendly skin for SAFE use while driving. (Dark because at night a bright PPC can be quite distracting.)
2. Large easy-to-read artist/title layout that DOES NOT SCROLL (scrolling is hard to read while driving and glancing).
3. Skip fwd/back buttons for podcast/audiobook ease-of-navigation.
4. Stream title parsing for online radio, so that artist/title can be easily read in the layout described in point 2.

Solution:

1. Dark Melody skin (DM)
2. Now Playing Visualization plugin (NPV)

Screen shots:






About Dark Melody:

DM was designed to be used with the NPV vis plugin, so it has no artist/title "now playing" information on its own. It has large finger-friendly buttons at the bottom, a medium sized playlist section, and a large section at the top for visualizations (presumably NPV).

Buttons include play/pause/stop, nexttrak/fwd, prevtrak/back, skip ahead 5minutes, skip back 1minute, loop, and random.

Note: tapping the visualization area does not activate or deactivate the visualization. This is intentional as I want the visualization on all the time. :-) Go into the menu and enable the visualization there.

About Now Playing Visualization:

This is where most of the magic happens! NPV shows artist/title information in a way similar to satellite radio receivers, such as the Sirius Stiletto. The top portion shows the artist, the middle portion the track name, and the bottom portion misc info, like genre, album, station name, streaming bitrate, etc. Additionally, behind the text you can "chain" another plugin or use the built-in spectrum analyzer and o-scope, for some eye candy. :-)

Now the real magic is for streaming radio stations. What I always hated before is that the artist and track info would be in this LONG string, like "Some cool artist - Some cool song (some cool radio station - we rock!" and scrolling through all that you could not easily see what was playing using the conventional track title in most skins. So what NPV does is use Regular Expressions to break down the long string into something more managable. The default RegEx pattern breaks the title into two parts: Artist - Song, separated at the hyphen. But you can customize it for weird stations. One I listen to uses [Artist]=[Song]. The RegEx patterns are stored in a file called npv_regex.txt, but you can customize the file path.

Instructions on how to format the file, how to use RegEx for NPV, and also links to a good RegEx testing tool are all in that file. (This is now configurable in the config app.)

Colors for NPV are pulled from the vscolor.txt file in the skin, so that NPV can be customized for other skins. Since NPV is a screen-hog, I'm using color entries for the small visualization (you most likely wouldn't use it in any other skins designed for NPV). Here's the color layout:
Spec 14 = Spectrum Analyzer color for NPV
Spec 15 = Line 1 text for NPV
Spec 16 = Line 2 text for NPV
Spec 17 = Line 3 text for NPV
Osc 18 = Osc color for NPV
Osc 19 = Volume bar border for NPV
Osc 20 = Volume bar background for NPV
Osc 21 = Filled volume bar for NPV
Osc 22 = "Mute" message text color

Settings:

Originally, you had to tweak the registry manually, but the new NPVConfig.exe (which can also be launched from Pocket Player's Visualization Config button) allows you to tweak every setting in NPV. I'm leaving the old registry list below, but a few more have been added, so I suggest using the config app.

VolumeDisplayTicks - Length of time (in ticks) to display the volume bar after a volume change
StreamRefreshTicks - How many ticks to wait before refreshing the stream title (saves CPU)
StartValidDataWaitTicks - Wait this many ticks when starting the plugin, before showing stream data (data doesn't always become available to the plugin until you wait a few ticks, so this prevents showing the URL, which is what NPV shows when there is no data available.)
Line3ChangeTicks - Ticks to wait before rotating to the next misc data for line 3.
RefreshOnNextTickOnParseFailure - If the regex class throws an exception (for example, if bad data is passed to it from the station), the plugin will attempt to parse the stream data on the NEXT tick if this is enabled (instead of waiting StreamRefreshTicks)
ShowVolumeBarOnVolumeChange - Enables the volume bar display when volume changes.
ShowMuteStatus - Shows "mute" in the upper right corner when mute is enabled.
ShowSpectrumAnalyzer - Enables the background spectrum analyzer
ShowOscilloscope - Enables the background oscilloscope
ParseStreamTitleUsingRegEx - Enables RegEx parsing of stream titles
UseDefaultRegExPatternAlwaysOverride - Override the npv_regex.txt file and use ONLY the default pattern stored in the registry.
UseDefaultRegExPatternForUndefinedStations - If the npv_regex.txt file is corrupt or empty or doesn't contain it's own default RegEx pattern, use the one in the registry.
ShowErrorOnBadRegExFile - Pops up a dialog when parsing the npv_regex.txt file fails for some reason.
Font1Size - Size (actually height in pixels) of the line 1 font.
Font2Size - Size (height in pixels) of line 2 font.
Font3Size - Size (height in pixels) of line 3 font.
Font1Weight - Weight (boldness) of line 1.
Font2Weight - Weight (boldness) of line 2.
Font3Weight - Weight (boldness) of line 3.
OscLineWidth - Width (in pixels) of o-scope.
AnalyzerDecaySpeed - Decay speed (in pixels/tick) of spectrum analyzer.
DefaultRegExPattern - The default RegEx pattern if none is supplied in npv_regex.txt
RegExPatternFileName - The path and filename of npv_regex.txt (use any name you want)
Font1Name - Font name for line 1. NOTE: Most devices ONLY have "Tahoma" installed. Do not change this unless you KNOW you have other fonts installed. Even if browsers or other programs use other fonts, you may NOT have other fonts installed in your system. It won't crash your system if you type it wrong, it just won't display! :-)
Font2Name - Font name for line 2.
Font3Name - Font name for line 3.

Note: The speed of a "tick" is determined partly by CPU speed and also the visualization speed and interface redraw speed in the Pocket Player settings. You should adjust these values accordingly if it seems these values aren't working out on your device. In my tests, the interface speed was set to "normal" and visualization speed was set to "fast."

Visualization Chaining:

One problem with using the visualization to show track/artist information is that you would lose your eye candy. Well, with the latest version of NPV, this is no longer the case! You simply need to point to the DLL which contains the vis you want to see. Then, select the index (PP allows more than one vis in each DLL). If the index is invalid, PP may crash. No problem, just open NPVConfig.exe and set it to another value. The index starts at 0 and increments to however many vis's are in the DLL. If the vis is too bright to read the information on top, you can select to reduce the vis brightness by 50%. This bit-shifts the color values to the right by one (a relatively fast operation). However, since it is a pixel-by-pixel operation, cumulatively, it can be a bit slow. Also, you can outline the text. If ClearType is enabled on your device, this can also be CPU-intensive. Just a warning.

VGA Support:

Now available!

Landscape Support:

Not yet... Sorry! :-(

Installing:

1. Download the zip file.
2. Copy all files to the pocket player folder on your device.
3. Set the skin to DarkMelody
4. Set the visualization to Now Player Visualization
5. Configure the vis to your liking
5. Back at the main screen, make sure the visualization is enabled in Menu->More...->Visualization (checked)

Download:
Version 3 (NEW Aug 19, 2009): http://www.avianwaves.com/Tech/Tools/PocketPlayer/DM_NPV_V3. zip

Version 2 (Oct 12, 2008): http://www.avianwaves.com/Tech/Tools/PocketPlayer/DM_NPV_V2. zip

Version 1: http://www.avianwaves.com/Tech/Tools/PocketPlayer/DM-Skin_PN V-Vis.zip
Back to Top View thx1200's Profile Search for other posts by thx1200
 
thx1200
Enthusiast
Enthusiast


Joined: 01 December 2007
Posts: 133
Posted: 14 August 2008 at 10:42pm | IP Logged Quote thx1200

Has anybody given my plugin/skin a try yet? Any thoughts/comments?
Back to Top View thx1200's Profile Search for other posts by thx1200
 
wired69
Expert
Expert


Joined: 14 August 2008
Posts: 19
Posted: 15 August 2008 at 8:38am | IP Logged Quote wired69

Thanks for this. I gave it a quick go and it is a pretty good skin, especially for drivers! I really like the advanced parsing for streaming radio, good work.

However, I have decided not to use it for the following reasons (most of these are probably down to limitations of PocketPlayer and not your skin):

1) For some reason, none of the visualisations in PocketPlayer run very well on my phone (HTC Touch Diamond which has a 480x640 screen). After a soft reset with no background tasks running, even small visualisations aren't very smooth. I have tried various different settings for vis speed and decoder priority but nothing helps. Unfortunately, your vis seems to run worse than others and as there is no way to get the track information displayed without the vis, it is not ideal me.

2) I am partial to the Album Art vis (I raised an enhancement request for it yesterday!) and with this skin there is no way to easily switch to an Album Art view.

I think you should submit your work to Conduits to incorporate your stream parser into PocketPlayer so it will work with any skin, if you don't mind sharing it of course!

I may try making my own skin at some point so thanks for the inspiration!

Back to Top View wired69's Profile Search for other posts by wired69
 
thx1200
Enthusiast
Enthusiast


Joined: 01 December 2007
Posts: 133
Posted: 15 August 2008 at 10:25am | IP Logged Quote thx1200

Thanks for the feedback. I plan to get a Diamond Pro, so I will definitely make a 480x640 version, which should help since it won't have to scale up the smaller skin to fit. On my Mogul, it runs great for the most part, only occassionally the o-scope/analyzer pauses (presumably due to CPU pressure). As for album art et al., I plan to add a visualization "chaining" feature where you can overlay the track information over any other PP visualization, which allow you to see the album art underneath the text. As for sharing code, I am completely open to it! Most of the features I created in the vis, I already suggested be added to PP in a more integrated way (so as not to rely on the vis plugin to show the information). But I gather from my conversations with Conduits that there aren't a whole lot of people who both drive and listen to streaming radio on their phones yet, so stream parsing is not a priority. What I did was nothing special -- it's just an open source RegEx parser being fed the stream data, so integrating it into PP would (I am guessing) be really easy. It's just a matter of there being a demand for it. Thanks for the feedback. I'll definitely escalate looking into vis-chaining, so you can get your album art underneath the text. And it's only a matter of time before I finish a version of the skin for 480x640. :-)
Back to Top View thx1200's Profile Search for other posts by thx1200
 
thx1200
Enthusiast
Enthusiast


Joined: 01 December 2007
Posts: 133
Posted: 09 September 2008 at 10:20pm | IP Logged Quote thx1200

I just wanted to post what I've been working on in the next version of this plugin.

Here's a screenshot...


New features:
- Chained visualizations - Display any other visualization behind NPV. Now you can have your favorite eye candy and NPV! (as seen above)

- Text outline - If you are using chained visualizations or a color scheme where the font color is close to the graphics behind it, you can have an outline of the background color behind the text. (as seen above)

- GUI Configuration - Options for NPV can be set using a configuration dialog instead of modifying the registry directly. The GUI requires the .Net Compact Framework 2.0 since it's much, much easier to program "forms" in .Net than in C++. :-)

- Performance throttling - If NPV is slowing your device, you can tell it to skip rendering every X frames to reduce the CPU load (effectively reduces the FPS demand of the plugin). Chained vis will also be throttled.

- Various fixes and a few more settings (such as choosing the font for "single line" text (text that isn't parsed into two separate lines).

I will post more when it is ready!

I hope some other skin authors take up my plug... :-)
Back to Top View thx1200's Profile Search for other posts by thx1200
 
wired69
Expert
Expert


Joined: 14 August 2008
Posts: 19
Posted: 10 September 2008 at 5:50am | IP Logged Quote wired69

Wow! Great work, I'll have to give this a try. I take it the link in the first post has been updated with this new version?

Cheers
Back to Top View wired69's Profile Search for other posts by wired69
 
thx1200
Enthusiast
Enthusiast


Joined: 01 December 2007
Posts: 133
Posted: 10 September 2008 at 2:25pm | IP Logged Quote thx1200

wired69 wrote:
Wow! Great work, I'll have to give this a try. I take it the link in the first post has been updated with this new version?

Cheers


Not just yet... But I expect to have V2 up for download later this week... Thanks for the interest!
Back to Top View thx1200's Profile Search for other posts by thx1200
 
dswartze
Beginner
Beginner


Joined: 16 October 2007
Location: United States
Posts: 8
Posted: 11 September 2008 at 10:15am | IP Logged Quote dswartze

I just downloaded and installed it. I'll try it out in the car over the next couple of days - I listen to a lot of podcasts in the car.

Thanks for your work!

__________________
Darren
Back to Top View dswartze's Profile Search for other posts by dswartze
 
thx1200
Enthusiast
Enthusiast


Joined: 01 December 2007
Posts: 133
Posted: 13 September 2008 at 9:22pm | IP Logged Quote thx1200

Okay! I just finished up NPV 1.1. The zip file link is below. This version does not include DM, so if you need it, use the zip file at the top. When I get everything finished and have a working QVGA and VGA version, I'll create a zip file with both.

The new version of NPV includes everything discussed above. The configuration applet can be run by executing the NPVConfig.exe directly, or by double clicking "configuration" from within PocketPlayer's visualization settings. NPVConfig requires the 2.0 Compact Framework. If you don't want to install the framework, you can edit the settings directly in the registry.

http://www.avianwaves.com/tech/tools/pocketplayer/npv_1.1.zi p
Back to Top View thx1200's Profile Search for other posts by thx1200
 
thx1200
Enthusiast
Enthusiast


Joined: 01 December 2007
Posts: 133
Posted: 13 September 2008 at 9:24pm | IP Logged Quote thx1200

Forgot to mention: Just unzip everything into the PocketPlayer folder.
Back to Top View thx1200's Profile Search for other posts by thx1200
 

Page of 3 Next >>
  Post ReplyPost New Topic
Printable version Printable version

Forum Jump
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot delete your posts in this forum
You cannot edit your posts in this forum
You cannot create polls in this forum
You cannot vote in polls in this forum

Powered by Web Wiz Forums version 7.9
Copyright ©2001-2004 Web Wiz Guide
Skin by Mad ASP
© Copyright 2010 Conduits Technologies, Inc. All Rights Reserved.
Big thoughts in small spots.

Conduits develops Pocket PC, Handheld PC and Windows Mobile software
for devices such as the HP iPAQ, Dell Axim, Palm Treo 700w and Pocket PC Phone Edition.
Questions or comments about our website? Let us know.