Archive for the 'Development' Category
SQLite and native UNICODE LIKE support in C/C++
SQLite is a software library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine.
SQLite is the most widely deployed SQL database engine in the world. It is used in countless desktop computer applications as well as consumer electronic devices including cellphones, PDAs, and MP3 players. The source code for SQLite is in the public domain.
Please, rest assured that SQLite does indeed have UNICODE (UTF-8, UTF-16) support, but…
If you have searched and resulted in reading this post, then you have probably realized the true facts of life; the limitations of SQLite in regards to native non case-sensitive UNICODE text comparison and especially the use of the LIKE operator which has been crippled. Read the rest of this entry »
Dynamic Library v2.0
A quote from the lead developer:
The Dynamic Library is created as a complement to the Media Library bundled with Winamp. Dynamic Library implements the ability to mirror the files on your hard disk and dynamically update the library when changes are made.
As Noveber 25th, 2007, the brand new, refurbished, all around renewed and rewritten Dynamic Library v2.0 for Winamp is released to the general public. After a 9 month incubation, from its first inception, we are proud to deliver the fruits of our labour.
This new release is no more considered as freeware nor donateware as the previous releases, as a lot of effort and time was spent by Jonas Sandman the lead developer and of course me as the lead quality review and beta tester, in order to keep up with the rigorous development of Winamp, familiarise with the . Therefore as you have guessed the new version is released under shareware license, with a minimal registration fee of $10, and only a few limitations to the general functionality of the plugin.
The new release was rewritten from scratch implementing most of the ideas and functionality of the previous releases, but basically incorporating very little of the legacy code, due to major changes by the :
- implementation of unicode support, keeps up with Winamp internationalization development, provides the availability of your library, on any system irrespective of the localization settings.
- implementation of an SQLite database system, a well known and fast client-server database system, hat supersedes the poorly implemented memory database system that run in previous versions. This new development resolves many issues reported in the past, such as database corruption, poor load, response, exit times, etc.
The plugin’s main features include but are not limited to :
- a hard disk folder and file structure mirroring system, implemented within Winamp, that is dynamically updated whenever changes occur, provided Winamp is running.
- storing the folder and file structure in a database system including all the meta data as retrieved by Winamp for each file.
- quick query system for keywords located in filenames and folder paths as well as ID3v1 and ID3v2 meta data as retrieved by Winamp mainly consisting of (Artist, Title, Album, Track number, Comment, Bitrate, Length)
- creation of smart playlists which perform a specific query on the database and are dynamically updated whenever changes occur to the databse.
- creating, editing and searching within Winamp playlists (currently supporting, m3u and m3u8 unicode)
- design queries disregarding any accents that may be found in the query string or the information stored in the database, thus returning an enhanced result list.
- functionality to play, enqueue, enqueue after current, from the folder of file list and place the items directly in Winamp’s playlist.
The plugin requires Microsoft Windows 2000 or XP and Winamp 5.33 or higher to function properly, due to the inherent limitations of some libraries being used.
(Microsoft Vista support is not yet confirmed)
Enough of the chit chat, give it a shot and post your thoughts.
Multiple Output Plugin v1.5
Multiple Output Plugin and I
are proud to present its v1.5 facelift.
Judging from the change log below due care and effort has been put in fine-tunning this release, in order to restore the bad publicity that has built-up over time for its incompatibility issues with 3rd party plugins.
This version fixes major compatibility issues with most output plugins reported to me and in Winamp’s Official Forums (still one pending, VolumeLogic, but I have already contacted their support staff, as the incompatibility is on the other party’s behalf) some of them being the ever popular AndrewLabs ATSurround Processor and SqrSoft Advanced Crossfading output plugins.
The core output plugin loading and menu populating procedure has been recoded from scratch, to a more reliable version that takes into account only the output plugins loaded by Winamp.
Also numerous hotkey fixes that nobody has ever reported (seems nobody uses the hotkey feature) and some code clean-up.
Change Log - Build 1.5
- New method of loading output plugins
- Added compatibility with AndrewLabs ATSurround Processor output plugin and SqrSoft Advanced Crossfading output plugin
- When no output plugin is selected ‘Multiple Output Plugin’ searches first for DirectSound and then for waveOut output plugins
- Fixed DSP/Effect menu item not updating correctly in extraordinary situations
- Fixed hotkey registration of plugins with the same name description, when two or more instances of an output plugin are loaded
- Hotkeys will register correctly irrespective of other output plugin version changes
- Cleaned-up the code
- Until further notice VolumeLogic v1.31 should be used in the following dataflow situation:
[Winamp] > [VolumeLogic] > [Multiple Output Plugin] > [DirectSound or any other output plugin]
This fine release is up for grabs here and it is a must update.
Multiple Output Plugin v1.2
I have long awaited for this update, since it has been more than 6 months since I last worked on this plugin.
Although there have been incompatibility reports of other 3rd party output plugins when used in concert with this plugin, the code is pretty solid only to prove instability in other plugins. Since no other instability feedback has been received, there are no bug-fixes in this update, only a couple of new features.
Anyway the main objective of this post is to address the modifications made to this version, so here we go:
- First of all, I decided to lift the multiple instance limitation as the main cause of clash in hotkey registration can be avoided or overcomed. By utilising Winamp’s multi-user support or defining a different configuration file for each winamp instance, it is possible to avoid assigning the same hotkey in two Winamp instances.
Usefull Winamp command-line parameters:
The /M3UDIR=”" switch directs Winamp to a specific file path from where to load/save the current playlist. Note: default playlist file: winamp.m3u
The /CLASS=”" switch uniquely identifies the instance of Winamp, so that you can play and enqueue files to one particular instance when multiple ones are open. You can use any names you want (limited to about 60 characters). Note: using the /CLASS switch could potentially break some third party programs and plugins that communicate with Winamp.
The /CONFIG=”" switch specifies a custom Winamp configuration file (default: winamp.ini) from where it can load specific settings for a Winamp instance. Used when Winamp uses shared-user configuration files (old behaviour).
The /INIDIR=”" switch specifies where to store configuration files. This parameter can be used for Winamp versions 5.11+ when multi-user support was implemented for Winamp and configuration files can be saved in every user’s respective “Application Data” folder. Plugins that support this feature will also save their configuration in the respective path.
Examples provided here.
- The other addition to this version that I wanted to implement for so long, was the ability to access the DSP/Effect plugin configuration directly from the Output > Preferences menu. Note: Only the active DSP/Effect module can be configured from the menu, since this is an output plugin and cannot handle DSP/Effect plugins as well.
Crystal Classic Skins plugin for Winamp
Introducing a new Winamp plugin “Crystal Classic Skins“, visit the previous link to view more information and screenshots about the new plugin.
A quick review of what the new plugin is about:
Crystal Classic Skins plugin was designed to provide some extra features to Winamp like:
- transparency for classic skins, similar to the way implemented for Winamp modern skins
- handle windows separatelly or linked (effects apply to all skinned windows)
- fade-in, fade-out effects when changing from opaque to transparent and vice versa
- handle all default Winamp windows and skinned windows created by other plugins
Soon to be expected
Not long has been since the release of the long awaited Messenger Plus! 3.60 and Patchou has already released an update, (hmmm, thats what happens when you force people to release software sooner than appropriate)
Anyway, it sure makes chatting experience a lot easier now and more confortable to the screen
With the new features of Messenger Plus!, and new features in Window Manager coming up a lot has to be done, so that everything can work along with everything else.
It’s been long since the last time i have posted here, so i thought i did it tonight just before i go to bed.
With the precious help of TB i was able to resolve some troubling issues, and you should soon expect to see some new Window Manager features like :
- Auto-Close Contact List
- Configuration for all loaded plugins in context menu
- Preferences are only saved with OK now
- Strip color/format encoding in Balloon tip
- Hopefully fixed transparency issue
- Auto-Hide to top and bottom implemented as well
- Delay in showing windows to avoid accidental popups
- etc… etc…
NSIS installer
Finally, thanks to TB (TheBlashemer) i was able to put together a good NSIS installer, to install Window Manager Plugin for Messenger Plus! automatically… Hopefully this will eliminate any installation errors that lots of people have experienced since the release of this plugin.
The installer will automatically check whether MSN Messenger v7 and Messenger Plus! are installed on the user’s system in order to proceed with the installation of the plugin.
Moreover it will unload and reload the Messenger Plus! plugins while MSN Messenger is running so the user will not have to close his conversations and close MSN Messenger in order to install or update the plugin.
Window Manager Plugin page update
Finally i have had some time to update my site…
The Window Manager page has been updated, with screenshots, build history and a download link.
More screenshots are to be expected in the near future, for sure, but these are all i have so far
Yesterday Patchou the creator of Messenger Plus!, just released some news for the forthcoming release that he will be implementing the long awaited ‘Tabbed Conversations’ feature in the core of Messenger Plus!
This will surely have a positive effect on the reputation of this great release…
These news have also made my future plans a lot easier as, i was planning on implementing this feature myself. Now i will have more time and be able to concentrate in perfecting the features that already exist in my plugin, and also finish the ones that are in queue.
Window Manager Plugin rewritten
I have finished rewritting the plugin, that will help me in the further development of it, and expanding it’s capabilities.
I have posted the file in here as the one posted int the first post of the same thread, has become quite stable and this one still needs a bit of external testing to make sure that nothing has been broken in the rewritting/transition.
I have also implemented multiple monitor support for Edge Docking and Auto-Hide features, of the plugin.
Please test all the features of the plugin to make sure that nothing is broken and report bugs to the forum here or leave some comments here
Thanks a lot…