In November it was Google who changed his site a bit and the result was that Lyrics couldn't be downloaded. Then I ve found out that freecovers needed login to download pictures and the Hi-Res downloading module could not work. (It can' t even now (TS/C v0.91) work).
I know that this is a fight i m gonna loose someday so i m building a new plugin architecture specially for downloading information.
Yesterday I ve transformed the GoogleLyrics Information Provider to work in my new interface (as an internal plugin) but it will be easily updated with an external dll.
I ve also built a new Hi-Res Covers plugin using the cdcovers.to search engine. It is very easy and i m planning to release the source code of it as an example of how to build such a plugin.
I m expecting Amazon plugins, Wikipedia plugins, localized lyrics plugins to appear sometime.
WARNING:
1. Programming code follows.
2. The framework is under construction
Description:
The Interface that must be implemented is (currently):
class InfoProvider
{
public:
//An Info Provider May Support more that one service
virtual BOOL Init(CNetDownloader* pDownloader) = 0;
virtual BOOL CanHandle(ITEM_INFO_TYPE iit) = 0;
virtual BOOL RetrieveInfo(ITEM_INFO_TYPE iit, LPCTSTR JobInfo) = 0;
virtual BOOL GetInfo(ITEM_INFO_TYPE iit, std::tstring& info, std::tstring& source) = 0;
//Returns a const pointer. The user must copy this value immediate after
//receiving. Also this strings belongs to InfoProvider (Client should not try to delete it)
virtual LPCTSTR GetErrorString() = 0;
virtual LPCTSTR GetInfoProviderDetails(InfoProviderDetails ipd) = 0;
//Should be thread safe. Returns 0-100;
virtual UINT GetProgress() = 0;
};
CNetDownloader is a utility that TS/C Provides for easy & streamlined Web Downloading
January 23, 2007
January 16, 2007
TeenSpirit (Conium) v0.91.606 (beta)
one more update
- Even more Language Module Fixes (more than 1 lines for each key is now supported)
- Right Click on tree now works better (4th (and final) version of the Notification Framework)
- Edit Lyrics/Comments Fixed (not removing anymore)
- Automatic Update of Treeview while Adding/Updating fixed
Download it here [url]http://www.artificialspirit.com/beta/ts606.zip[/url]
Probably 2-3 days before the final release..
Today there was the time for a major inside change after even the latest Observer Pattern failed to provide something stable and simple.
I used a technic which i call "Director - Actor". A quick and dirty description of this is the following.
Director is my application object. Actors are his observers. Every object who has access to the application object can now send notifications through director to all the actors. Even objects running on different threads can send messages to the actors and the messages will be delivered in the main thread. It supports two different methods (Send And Post just like windows).
Post Messages are handled through a Hearbeat (My MainDialog calls the 'Heartbeat' function periodically using a timer every 500ms)
PostMessages are thread safe
All Messages from other threads finally become PostMessages
I m so happy that i am even considering to write an article in CodeProject for this.
- Even more Language Module Fixes (more than 1 lines for each key is now supported)
- Right Click on tree now works better (4th (and final) version of the Notification Framework)
- Edit Lyrics/Comments Fixed (not removing anymore)
- Automatic Update of Treeview while Adding/Updating fixed
Download it here [url]http://www.artificialspirit.com/beta/ts606.zip[/url]
Probably 2-3 days before the final release..
Today there was the time for a major inside change after even the latest Observer Pattern failed to provide something stable and simple.
I used a technic which i call "Director - Actor". A quick and dirty description of this is the following.
Director is my application object. Actors are his observers. Every object who has access to the application object can now send notifications through director to all the actors. Even objects running on different threads can send messages to the actors and the messages will be delivered in the main thread. It supports two different methods (Send And Post just like windows).
Post Messages are handled through a Hearbeat (My MainDialog calls the 'Heartbeat' function periodically using a timer every 500ms)
PostMessages are thread safe
All Messages from other threads finally become PostMessages
I m so happy that i am even considering to write an article in CodeProject for this.
January 15, 2007
TeenSpirit (Conium) v0.91.605 (beta)
Some fixes during this Sunday.
Update#1 (604)
- TagLib was not working in 603.
- Various fixes in notifications
- Swedish added thanks to XC-SE
Update #2 (605)
- AMG Automatic Downloading fixed
- Edit Tags (track Properties) fixed
- "Windows Classic Style" redraw bug fixed
Download it here http://www.artificialspirit.com/beta/ts605.zip
Update#1 (604)
- TagLib was not working in 603.
- Various fixes in notifications
- Swedish added thanks to XC-SE
Update #2 (605)
- AMG Automatic Downloading fixed
- Edit Tags (track Properties) fixed
- "Windows Classic Style" redraw bug fixed
Download it here http://www.artificialspirit.com/beta/ts605.zip
January 14, 2007
TeenSpirit (Conium) v0.91.603 (beta)
I will never going to do such drastic changes all together in this project!
There were so many changes without clear scheduling and without the needed time to make them happen in time.
From November Lyrics stopped working (see the associated post) and i couldn't have a proper version to release..
Anyway now i ve got this one out as 'beta'
New (Visible) Features.
- new engine based on directshow and bass. (got rid the WMP engine) (in this version it supports mp3, ogg, mpc, avi, mpg, and much more)
- new Tag engine based on TagLib (with wma,mp3,ogg,mpc & more) support (got rid the id3lib)
- new Visualization Engine based on various sources. In this version a winamp avs plugin is present. Check it out. (also a native vis plugin is active in Quiz Dialog) (got rid the WMP Engine again)
- new Multi language Engine. (No need to compile the resources anymore and everyone can make & test his own Language Pack). Also there is no need to restart the app when changing the language.
- Docked/Undocked/Full Screen Visualization (or Video) Mode
- Faded Info View
and much more that i don't remember
Download it
Regards
There were so many changes without clear scheduling and without the needed time to make them happen in time.
From November Lyrics stopped working (see the associated post) and i couldn't have a proper version to release..
Anyway now i ve got this one out as 'beta'
New (Visible) Features.
- new engine based on directshow and bass. (got rid the WMP engine) (in this version it supports mp3, ogg, mpc, avi, mpg, and much more)
- new Tag engine based on TagLib (with wma,mp3,ogg,mpc & more) support (got rid the id3lib)
- new Visualization Engine based on various sources. In this version a winamp avs plugin is present. Check it out. (also a native vis plugin is active in Quiz Dialog) (got rid the WMP Engine again)
- new Multi language Engine. (No need to compile the resources anymore and everyone can make & test his own Language Pack). Also there is no need to restart the app when changing the language.
- Docked/Undocked/Full Screen Visualization (or Video) Mode
- Faded Info View
and much more that i don't remember
Download it
Regards
December 06, 2006
A new name also?
Too many people found "Teen Spirit" name to be inappropriate (at least) for the program. I consider changing the name to "Conium". I have recently bought "theConium.com". It ll help also to help people remember it better.
P.S.
I tried to have the "conium.com" but the owner (a "I buy all the Domains that have some meaning to sell it later" company) asked 2500$ for it. This kind of jobs should have been illegal
P.S.
I tried to have the "conium.com" but the owner (a "I buy all the Domains that have some meaning to sell it later" company) asked 2500$ for it. This kind of jobs should have been illegal
Integration
I ve integrated the brand new player, Tagger and visualization Engines in the main project. Did a test in my 20k mp3/ogg collection .. most things seems good.
Some more work is needed in other changes that i ve made back in September.
Some more work is needed in other changes that i ve made back in September.
Lyrics
There is a problem in the automatic downloading of lyrics in the current release of Teen Spirit. Google changed a "p" tag to "div" in the way it serves results (the change happened in mid-November) and TS Parser fails. Another way to track google changes i guess
Anyway it is solved in the "yet to be released" next version of teen spirit
Anyway it is solved in the "yet to be released" next version of teen spirit
November 10, 2006
Behind schedule
What is software programming. 'Something that is always behind schedule' you could say.
Maybe i should have gone step by step for the next version of Teen Spirit. Anyway the "one brought the other" and now most of the internal engines have been changed and new patterns were applied.
Anyway let me tell what we have now in the player/tagger/visualization front.
Player:

(Unit test application Player/tagger/visualization featuring interated Geiss vis)
A multi engine which automatically switches between Bass/DirectShow player engines
Currently supports:
Visualization using winamp plugins. Currently

(visualization / video in separate moveable-resizable window)
regards
Maybe i should have gone step by step for the next version of Teen Spirit. Anyway the "one brought the other" and now most of the internal engines have been changed and new patterns were applied.
Anyway let me tell what we have now in the player/tagger/visualization front.
Player:

(Unit test application Player/tagger/visualization featuring interated Geiss vis)
A multi engine which automatically switches between Bass/DirectShow player engines
Currently supports:
- mp3/mp4/mp2/mp1
- ogg
- flac
- mpc
- wma/wmv(video)
- xm/s3m/mod/mtm/umx/mo3
- aiff/wav
- cd audio
- mid/midi
- ac3
- aac
- ape
- avi(video)
- asf(audio/video)
- mpg/mpeg(video)
- more if you have dshow filters installed
- mp3 (id3v2.4)
- wma
- flac
- mpc
- aac
- ogg
- plus anything else through filename/directory parsing
Visualization using winamp plugins. Currently
- Geiss
- oscilloscope etc
- ...work in progress

(visualization / video in separate moveable-resizable window)
regards
October 09, 2006
Players Players Players
I m thinking about letting the user choose which Media Player Engine to use...
Currently the options are:
Bass Engine (fastest but audio only)
WindowsMediaPlayer Engine (slowest, audio-video with visualizations integrated)
DShow (faster then WMP, audio-video, no visulizations)
Winamp Wrapper Engine (audio-video, visualizations but not in the integrated window)
Possibly by default i ll use a compination of Bass for the audio and DShow for the window
Currently the options are:
Bass Engine (fastest but audio only)
WindowsMediaPlayer Engine (slowest, audio-video with visualizations integrated)
DShow (faster then WMP, audio-video, no visulizations)
Winamp Wrapper Engine (audio-video, visualizations but not in the integrated window)
Possibly by default i ll use a compination of Bass for the audio and DShow for the window
October 07, 2006
Bass Rocks
Saturday, Raining.. time for some programming.
Now the default player is Bass and i can't really describe how really good it is..
Less resources, less time to initiate. wonderful
So many thanks to the people of un4seen
Now the default player is Bass and i can't really describe how really good it is..
Less resources, less time to initiate. wonderful
So many thanks to the people of un4seen
Subscribe to:
Posts (Atom)