History (and Motivation)

PoQStacker is the result of an evolutionary project starting a couple of decades ago.

It began when PC memory and disk space grew to a size that made digitising and managing music on a PC a practical experience. As an electronic engineer I had a very good understanding of the process and the various pro's and con's of each digitising technique.

After digitising a few vinyl albums I realised that the PC software to play and manage my smallish collection was lacking - it was then I began this project.

My initial requirement was simple - to play music in the order "I" want!

Over time the facilities grew to quite a sophisticated level. Those that got to see and use it were constantly asking for a copy. The only problem I had with that was - many of the advanced features are on the edge of technology and many had some bugs. This initial release has those buggy features removed or disabled (until I get the bugs out, that is!)

At the moment it is only using MP3 (and Wave files), other codecs are a work-in-progress.

PoQStacker works on library (database) based system - where you scan your music collection in to the library, and you have control of music within the library.

PoQStacker embeds the library database within your music collection - this makes the library and music collection portable (floating). Eg - If your music collection is on a portable drive then you just plug it into another PC (that has PoQStacker) it then has access to that collection, without having to copy, re-scan etc...

The original design of the software was to work with uncompressed Wave files, but these files didn't have embedded tags. I used folder and file naming as my metadata (Artist, Album, Title, etc). My kids were collecting their music as MP3, which has very adequate tagging. It just seemed natural merge these two ideas.


The design concept is simple - digitise analogue music to wave format, then convert it to MP3, keeping both copies (same name, but different extension). Add the tagging info into the MP3. PoQStacker when scanning for music will extract the tagging info from the MP3 file, but when playing, it will look for a .wav file with the same name in the same folder and plays it instead.

When PoQStacker encodes (rip) a CD, it uses the 320K constant bit MP3 format. There's an option in the “Rip CD” dialogue box to make Wave files too.

Because I built the PoQStacker from the ground up as high quality audio player, it won't play the lower quality MP3 formats (layer i or layer ii).

I use 24bit format for my wave digitising. Some years ago Microsoft added a new format for 24bit encoding, and not all modern device drivers provide compatibility to both formats. If the PoQStacker detects this incompatibility it will attempt to modify the data, in real time, to a compatible format.

The MP3 specification states that the output is equivalent to a 16bit stream. My analysis of the decoding behaviour reveals that this does not have to be the case. The PoQStacker does not truncate the data to 16 bits, as most decoders do, but instead allows the data to grow out to a maximum of 24bit.

The Audio Levelling feature is achieved by analysis of the audio. This information is required by PoQStacker prior to playing the track. PoQStacker has its own analyser, which is very similar to ReplayGain. When the PoQStacker is scanning for music, there is an option to analyse each music track, where no existing data is available. However, this could add a significant amount of time to the process if there is a lot of music.

If the Levelling option is enabled PoQStacker will scan the tracks in the Play Queue and automatically analyse any tracks that have not been previously analysed. If the track at the top of the queue hasn't been analysed, play will be suspended until the analysing is complete.

PoQStacker can act as a Controller and Server for a DLNA Renderer. It as has some unique features:- It can split the Controller into 2 parts, Player and Volume controls (this is a very handy feature in many home theatre configurations). The Server can provide the Levelling function, regardless of the Renderer's capability.

The Music Library for the PoQStacker is associated with the base folder of your music on your drive ("My Music" in some cases). You can have multiple libraries, although, only one selected at a time. In my case, I have music on a network drive, and I also have a copy on a portable drive. I can select within PoQStacker which library to use. I normally add new music to my network drive library, and use the Library Sync command in PoQStacker to sync them up.

PoQStacker allows you to create and manage playlists. You can also import and export playlists in the m3u format. You can export a play list to another folder or disk drive withe the option of copying the music with it. You can also drag'n'drop a playlist onto a CD burner, although, some burners ignore the track order. This can also be an issue with some media devices like TV sets - I plugged a thumb drive into a TV where it ignored the play order and sorted them alphabetically...! You’ll see that PoQStacker has a little trick up its sleeve to get around this short coming.

Because PoQStacker has a floating library it means that Scanning for Tracks needs to be done in the foreground. It does however allow you to select a sub folder (so you don’t have to scan the entire library to add new tracks). It also maintains a Log where you can examine why music tracks were excluded, etc.

PoQStacker has a mature MP3 (ID3) tag reader, and when scanning MP3 music it uses several work-a-rounds for many of the common mistakes made by some MP3 encoders. PoStacker does NOT alter any erroneous tags when scanning.

The PoQStacker has a simple tag editor. Once you have the track in the library you can edit portions of the tag. If you require more a sophisticated editor, perhaps the program MP3tag will suit.

PoQStacker requires a minimum of three pieces of information to enter a track into the library: Title, Artist, and Album. If the Artist info isn't supplied "Someone" is used. If the Album info isn't supplied "Unknown" is used. If the Title info isn't supplied the file name is used. PoQStacker makes use of other data found in the tag - genre, track number, cd number...

When using the search to filter selection results, and the Tracks Found is 100 or less, a "Play as Album" command will be available. Clicking this option will transfer ALL the items into the Play Queue using the Track Number and CD Number, if available, to sort the play order.

You can Context click (right click) tracks or playlists in the various panes for further options. If you Context click a track in the library pane, you will have a Remove option (unless that track is currently in the play queue). If you Remove a track you only remove it from the library, and this action is recorded and used in the Library Sync function. You can delete tracks from your hard drive by using the Delete Music command in the Library Tools dialogue box, where it will delete the tracks recorded Remove operation - this cannot be undone. If you want to restore a Remove'd track - use the View Logs command in the Library Tools dialogue box, select Removed Items, scroll and check the item(s) you wish to restore, then click OK.

When running PoQStacker for the first time, you will be prompted to select a Music Library. This will require you to know the root/ base folder where your music is kept - this will be "My Music" in many cases. If you know where your music is, select Add, then use the folder dialogue box to locate it, then click OK. You will then be prompted "Cannot find Library, create new one?" Selecting Yes will cause PoQStacker to create a subfolder under the folder you selected named Poqueue. PoQStacker will now go to the main page, but no music will be available.