8 Replies - 4602 Views - Last Post: 01 August 2012 - 07:18 PM

#1 Amrykid  Icon User is offline

  • 4+1=Moo
  • member icon

Reputation: 148
  • View blog
  • Posts: 1,589
  • Joined: 16-December 08

Project Hanasu - Japanese Radio/TV Player Concept

Post icon  Posted 23 June 2012 - 04:40 PM

Hello all. I am back again, with yet another project. This time, its something I call 'Hanasu' which is Japanese for 'speak'. Unlike my other projects, where I would post about it here almost immediately after I start building it, Hanasu has been in development for a couple of months and I can officially say I'm almost finished.

The UI
Posted Image

Like my previous project, Cryo, Hanasu makes use of the MahApps.Metro library for its UI. Other things like the Notifications window was originally built my X@MPP for an older project, and then modified in Cryo. I brought it back and tweaked it even more. These notifications fire off when a song is identified (more about this later), when a new song is played, a song is shared on Facebook, or when the stream sends down some sort of message.

Also, Phalanxia created the original icon and I accidentally modified it until it is the icon that I use for Hanasu.

Code
Media Playing
For the media playing engine, I make use of the ActiveX wrapper around Windows Media Player. I would have opt for VLC but its wrappers weren't suitable for my needs.

During the course of development, I started to have to 'help' WMP play certain streams. Some streams are direct urls over http which initiate a mms stream. Others are asx, mp3 or even wma. However, eventually, I came upon .pls files which are known to be tied with WinAmp and ShoutCAST. No problem, I built a simple pre-processor around that and would pass the parsed urls to the media player. If there's multiple servers in the playlist file, Hanasu will allow you to choose one of them. Soon enough, I had another pre-processor for M3U. It's quite easy to add more.
Posted Image

Song Identification
Other issues I encountered was dealing with the gibberish text that is sent through the internet stream. Some of it maybe be the current song playing. Other times, it may be a radio/tv message (shown below).
Posted Image

In order to deal with this, I use a complicated series of conditions and if they all equal true, its the 'assumed' song title. Otherwise, its shown as a radio message. Later, about 10 seconds into playback of the song, Hanasu will contact a lyric's database and check to see if the song exist. If it does, its a 'verified' song. Hanasu will display a notification and add two buttons to the main UI. One of them is a 'song info' button. When click, it displays the current lyrics for the song, and if possible, the artist/album and even album art. Lastly, it displays a link that forwards the user to a website where they can buy the album.
Posted Image

Sharing
The other button is a 'heart' button. This will post the song to your facebook where other users can download Hanasu and even visit the album's website.

Services
Sharing, Song Identification and the Pre-processors all work around the concept I use called services. Which is probably a step in the direction of MVVM build has a 'long way to go'. I could use MEF but for this project, I didn't use it. Anyway, for any non-media-player function, I added a service. In earlier builds, I had an irc service which would disp-lay liked songs in the channel of your choice. I also have a service for a pseudo-weak-events which allow services and the main player to interact to non-user events. I even make use of events to dynamically generate the save files. That means I do not have to hard-code settings for services through the Settings service. Instead, the individual service grabs the XDocument and appends its own setting to the document before passing it to be saved.

Video Playback
A few weeks ago, I expanded Hanasu to support video playback. This meant I had to stretch the player in the Now Playing tab. I also had to add some video streams to the catalog (which is hosted on the repo). Then, I had to included a UI that displays buffering progress.

Posted Image

Misc

For debug builds only, I have included a Log tab. However, at the time of posting, its kind of broken.

However, in all builds, I have included a button that shows any attributes related to the connected server. This is for people who are curious about the server version, etc.
Posted Image


Downloads
There is much more to this project and I spent a lot of time dreaming this up. It has been through a long 'private bug testing' and I am finally comfortable to release it to everyone to try it out. As usual, if you run into any bugs, feel free to report them here.



Is This A Good Question/Topic? 2
  • +

Replies To: Project Hanasu - Japanese Radio/TV Player Concept

#2 Amrykid  Icon User is offline

  • 4+1=Moo
  • member icon

Reputation: 148
  • View blog
  • Posts: 1,589
  • Joined: 16-December 08

Re: Project Hanasu - Japanese Radio/TV Player Concept

Posted 30 June 2012 - 09:47 AM

Just liked to post an update on Hanasu.

Changes
  • First Time run wizard: Posted ImagePosted Image Posted Image
  • Liked Songs tab: Posted Image
  • Splash Screen (this was added late last week): Posted Image
  • Misc tab in the settings window: Posted Image
  • Lyrics have better html decoding.
  • Made album searching a little more accurate by 'searching for music instead of everything'. Also, Hanasu will remove anything 'featuring' text as long as its on the end of the song. This is not perfect and will be worked on.


Stay tuned for more updates.
Was This Post Helpful? 0
  • +
  • -

#3 Amrykid  Icon User is offline

  • 4+1=Moo
  • member icon

Reputation: 148
  • View blog
  • Posts: 1,589
  • Joined: 16-December 08

Re: Project Hanasu - Japanese Radio/TV Player Concept

Posted 04 July 2012 - 09:48 AM

Me again with another update. And to the Americans, Happy Independence Day!

Changes
  • The first thing you will notice is the color. I have added support for selecting color themes that are built into the GUI library I am using. Posted Image
    Posted Image
  • The next thing I added was a search ability. This works on both stations list and the liked songs list. Posted Image
    Posted Image
  • Another graphical change I made was reorganizing the Now Playing section. The media controls are bigger because of this. Now all of the buttons appear under the current playing song.
    Posted Image
  • Finally, in the above picture, you may have noticed the + button. That allows you to add a song to the liked section without it being verified. Clicking it will open a dialog like this:
    Posted Image
    The album cover section updates dynamically: Posted Image


That's it for today!
Was This Post Helpful? 0
  • +
  • -

#4 Amrykid  Icon User is offline

  • 4+1=Moo
  • member icon

Reputation: 148
  • View blog
  • Posts: 1,589
  • Joined: 16-December 08

Re: Project Hanasu - Japanese Radio/TV Player Concept

Posted 05 July 2012 - 01:16 PM

It's official. Hanasu has reached 1.0. Unless there are no major issues found, this is considered finished.

https://github.com/d...su_1-0_beta.zip
Was This Post Helpful? 0
  • +
  • -

#5 Amrykid  Icon User is offline

  • 4+1=Moo
  • member icon

Reputation: 148
  • View blog
  • Posts: 1,589
  • Joined: 16-December 08

Re: Project Hanasu - Japanese Radio/TV Player Concept

Posted 17 July 2012 - 06:26 AM

Back when an update again. Over the last week or so, a couple of bugs have been found. I have fixed them and will be releasing a new build soon. Anyway, heres some screenshots of the new features I have added.

Posted Image
Posted Image

And lastly, my favorite feature: a time saver, The Song Autofill.
Posted Image
Was This Post Helpful? 0
  • +
  • -

#6 Amrykid  Icon User is offline

  • 4+1=Moo
  • member icon

Reputation: 148
  • View blog
  • Posts: 1,589
  • Joined: 16-December 08

Re: Project Hanasu - Japanese Radio/TV Player Concept

Posted 21 July 2012 - 03:20 PM

Here to release the final version of Hanasu. Enjoy!

Download Here

As usual, you can find the source here.
Was This Post Helpful? 0
  • +
  • -

#7 modi123_1  Icon User is offline

  • Suitor #2
  • member icon



Reputation: 9570
  • View blog
  • Posts: 36,240
  • Joined: 12-June 08

Re: Project Hanasu - Japanese Radio/TV Player Concept

Posted 21 July 2012 - 06:41 PM

Where's the non anime version at? :D
Was This Post Helpful? 1
  • +
  • -

#8 Amrykid  Icon User is offline

  • 4+1=Moo
  • member icon

Reputation: 148
  • View blog
  • Posts: 1,589
  • Joined: 16-December 08

Re: Project Hanasu - Japanese Radio/TV Player Concept

Posted 22 July 2012 - 07:06 AM

People keep asking me that. It's coming soon to a computer near you! :cowboy:
Was This Post Helpful? 0
  • +
  • -

#9 Amrykid  Icon User is offline

  • 4+1=Moo
  • member icon

Reputation: 148
  • View blog
  • Posts: 1,589
  • Joined: 16-December 08

Re: Project Hanasu - Japanese Radio/TV Player Concept

Posted 01 August 2012 - 07:18 PM

Hey everyone. Here with the last build before I move on to Hanasu 2.0.

The main feature I've added was custom stations, pre-made themes, along with other small gui updates.

Download it here.

Source can be found on the repo as usual.

This post has been edited by Amrykid: 01 August 2012 - 07:19 PM

Was This Post Helpful? 0
  • +
  • -

Page 1 of 1