Page 1 of 2

Tuniac 121220

Posted: Thu Dec 20, 2012 12:21 pm
by Brett
Just in time to explode for Christmas. (I really hope it doesn't but lots did change)

Dec, 2012 (121220)
-update to newer BASS dll's
-Change from GetTickCount to GetTickCount64 just incase we ever do roll over the 49 day mark somehow.
-fix incorrect conversions from unsigned to signed integers, multibyte to widechar
-fix potential buffer under/overruns and incorrect redefinitions of objects
-add GetState logic to audio engine so plugins know when they are paused/resumed
-fix incorrect logic(infinate loop) in new code for Previous() for skipping streams
-dont try to set setposition 0 on streams with unknown length when clicking previous
-more cleanups of pref screen
-correctly set maximized state on find hotkey
-trigger song change notify on streams if metadata updates
-add overloads for SetField and UpdateMetaData so native datatypes can be sent around better
-unsigned long for time, bitrate, channels, samplerate, playcount
-add BPM in ML (and availability viewing)
-migrate DB from 0.5 to 0.6
-change to new random number generator
-differentiate stream and unknown file lengths ... ac/121220/

Re: Tuniac 121220

Posted: Sat Dec 22, 2012 4:11 pm
by Harteex

I'll let you know if it explodes (and if I survive the blast) :)

Re: Tuniac 121220

Posted: Sat Dec 29, 2012 12:29 pm
by Harteex
I've found two bugs so far, not sure if both are caused by this version or an earlier though..

First, back button doesn't seem to work. It always goes to the last song in my media library.

Secondly, when removing / adding songs it may get confused which song is playing...
When I do this:
1. Have a song playing
2. Filter it out so that the playing song isn't visible
3. Remove an album or so
4. Readd that album to tuniac by just dragging it in again

Now it thinks it's currently playing the first song in the filter list..

Oh and also, it says December 17 in the about box :P

Re: Tuniac 121220

Posted: Sat Dec 29, 2012 4:51 pm
by Brett
1)Back button works for me. It is likely related as I did toy with it.
Can you baby step me through what you are click where?
What type of file is the playing file, eg local file or stream?
What are your shuffle and repeat settings set to?
Can you backup you ML and PL dat files, remove/rename them to force a recreate then readd your library. Can you reproduce the fault with a fresh ML?
You can restore your dat files when done testing if you like.

2)I can recreate that. It is deliberately done in code on adding files.
Your current song is invalid so on adding files it assumes you want to set a new active.
This helps where you went from zero files to more, it allows you to click play and it will start from song one.

I will need to think over if going from zero to more files is the only time this needs to happen.

121230 - checks if going from zero files before altering the active song. Let me know if that fixes it without just breaking what the "active song" is somewhere else :)

3)It was built on December 17, I spent 3 days on and off testing the last few changes to make sure things were working good. Most changes get much less testing ;)

Re: Tuniac 121220

Posted: Mon Dec 31, 2012 2:06 am
by Harteex
1. Same problem with fresh media library
I play local files (flac, but that shouldn't matter I think)
So in a fresh media library, I start playing some songs in a row. When I press the Back button, it will go to the last song in the media library. If I continiously press back on the last song it will just keep restarting it.
Right clicking the back button seems to have a correct list.
My settings:
Shuffle off, repeat off
Same thing with repeat all.
I'm running Win7 64-bit with 64-bit Tuniac.

2. Seems to work fine! I've tested some things related to this, and everything seems to work as expected, but I'll keep my eyes open.
If it would be prefered to actually do change song in this situation, you should stop the currently playing one instead. But I think it's better that it keeps playing your song if you're playing one.

3. Ah ok, I see!

Re: Tuniac 121220

Posted: Mon Dec 31, 2012 4:32 am
by Brett
Found it!
Required auto skip streams to be turned on.

I had x=0 instead of x>0, stupid typo!

121231 coming in a minute.

Re: Tuniac 121220

Posted: Mon Apr 22, 2013 11:30 pm
Tuniac stopped importing directories of .mp3 files when I got to 31,580. yet I can still import each individual song. do you know why? where do I find a FLAC 64 bit codec for Tuniac, my thus far favorite playlist/file manager?

Re: Tuniac 121220

Posted: Tue Apr 23, 2013 11:24 am
by Brett
31,580 is almost close enough to the magical limit 32,768. It might be that you are trying to add files that would exceed 32,768, or you already did and your DB is already "corrupt" because of it. Lets assume you are some way or another actually at the wall of 32,768.

Tuniac uses a Windows "Listview" to display playlists(including the media library playlist)
Listviews have a technical limit of 32,768 items (0 - 32,767). Listviews are supposed to be for a choice, eg picking your country from a list, Listviews have the mentality if you are exceeding 32,768 choices you are doing something wrong. Tuniac is perhaps abusing what the Listview was created for when it uses it as a way to display playlists.
Once you exceed that number things are going to break. Things will start to loop around on itself, eg trying to access item 32,769 might end up accessing item 1.

I do not have a good solution to this as replacing the Listview with something else could be quite a massive job.

If the listview limitation did not exist Tuniac should be able to get to 4,294,967,296 ML Entries with it's current code, but I am sure we would hit some other magical wall(or bug) before reaching that. I actually think some of Tuniacs menus bump in to things at about 300,000 but they would be easy to move and maybe in one or 2 places signed/unsigned mixes that would drop it to 2,147,483,648 entries.
Tuniac code is well and truely capable of scaling miles past this wall, but the Windows UI stuff Tuniac is using is not, the Listview is the single hurdle I know of preventing reaching much much larger ML's.

I am all ears if you can find technical details of ways to overcome this limitation.

FLAC 64bit:
If you install Tuniac_Setup_xxxxxx(inc 64bit).exe and pick to install Tuniac 64bit it will install a 64bit FLAC decoder. Tuniac uses BASS for most file formats these days.
Tuniac used to ship a decoder based directly on flaclib. That can be found here: ... AC_Plugin/
And can be compiled for 64bit.

Re: Tuniac 121220

Posted: Tue Apr 23, 2013 4:41 pm
Back in 'the day' when I was a consulting engineer I designed and wrote several databases with the capacity of 4g in java, c, and c++ following a Postgress type model. Compact and very efficient. Would they be helpful if I can find the code and donate it? This code was used by several thousand users when I created a medical records library. As I recall, coding the prototype view to customer specs for viewing the records only took a couple of days. I ran into the same 32m wall before I designed my own. Hope I can help. Paul

Re: Tuniac 121220

Posted: Tue Apr 23, 2013 11:17 pm
by Brett
As I was saying, Tuniac DB can handle 4,294,967,296.

The problem is UI, not backend. You can not exceed 32,768 because Microsoft Windows code Tuniac uses can not handle showing any more.
Tuniac needs to have a main chunk of it's UI code replaced to remove its dependence on the "Listview".