Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: TTA (Read 43307 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

TTA

I would like to request that TTA is added to fooassoc.exe (and that it gets it's own color foobar icon). TIA

TTA

Reply #1
Won't happen before there is a proper TTA input plugin for foobar2000.
A riddle is a short sword attached to the next 2000 years.

TTA

Reply #2
There is (see the link above).

TTA

Reply #3
Quote
There is (see the link above).

No, there isn't. The The plugin you linked to does not use the foobar2000 reader system. Instead it uses the Win32 API to access files. This effectively disables several features provided by the player, like file buffering and archive reading.

TTA

Reply #4
Quote
No, there isn't. The The plugin you linked to does not use the foobar2000 reader system. Instead it uses the Win32 API to access files. This effectively disables several features provided by the player, like file buffering and archive reading.

Hi Foosion!

Thanks for your comments.

TTA plugin will be rewrited using the foobar2000 reader system.
Can you look at the TTA plugin code again? Speek wrote to me that the title bar of foobar is flickering badly when playing TTA files.. but I can't found a reason. Maybe you can to advise to me to make some additional code modifications for better compatibility with foobar?

-- Alexander

TTA

Reply #5
Quote
Speek wrote to me that the title bar of foobar is flickering badly when playing TTA files.. but I can't found a reason.

Small correction: I wrote that previous versions of the TTA component made the Foobar title bar flicker badly. In the latest version (2.3) you managed to improve this a lot. The title bar flickers (flashes) now only about once every 30 seconds (the interval varies).

I hope someone with foobar programming experience can help Ald to improve the TTA component.

TTA

Reply #6
Quote
TTA plugin will be rewrited using the foobar2000 reader system.
Can you look at the TTA plugin code again? Speek wrote to me that the title bar of foobar is flickering badly when playing TTA files.. but I can't found a reason. Maybe you can to advise to me to make some additional code modifications for better compatibility with foobar?

Using the reader system is quite easy. You can use the reader supplied in the call to open(). This reader is managed by the player, so you don't need to service_add_ref/service_release it. (At least that is true for normal input services. Given that you seem to use a background thread to build a seektable, it might be a good idea to do so nonetheless.)

As for the flickering, I think that is a problem with every inputs that use dynamic info. Dynamic bitrate info can be disabled for the standard inputs which use that (VBR bitrate display under Preferences->Playback->Input->Standard Inputs).


TTA

Reply #8
Case, great to here from you  And thanks for the files. Your TTA component doesn't play TTA v3.0 files. But the flickering of the title bar is fixed in your version. So I guess Alexander can use your code to fix this in his foobar component.

TTA

Reply #9
Good to see you around Case  And thanks for helping out with the TTA plugin!
Life is Real...
(But not in audio :) )

TTA

Reply #10
Quote
[..] Given that you seem to use a background thread to build a seektable, it might be a good idea to do so nonetheless. [..]

They actually seem to have fixed that a while ago at least in foo_tta. reader support is still needed though.

No clue about foo_tta_old though - would be nice to see a non-broken plugin in both respects for that as well.


To the foo_tta author(s), it might be wise to clearly separate the decoder from the plugin interface layer and put it into an own library that exclusively uses file readers.
A riddle is a short sword attached to the next 2000 years.

TTA

Reply #11
Quote
To the foo_tta author(s), it might be wise to clearly separate the decoder from the plugin interface layer and put it into an own library that exclusively uses file readers.


Thanks for all of your comments.
I'll take a week for a new component release.

Quote
http://www.saunalahti.fi/cse/temp/foo_tta.zip


2 Case: Good work. Your code is clean. I going to include some parts of your modified plugin code into a current versions. Please send to me your Changelog strings if it's possible.

About TTA formats:

TTA1 hardware compatible format (encoder v3.0) released and we going to standartize this one. We has decreased little bit the compression ratio for possibility of playback/recording in a popular audio hardware.

TTA2 format (encoder v2.0 & future releases) still in development. Precalculated seek table will be included in it also. Please don't use it for archiving. TTA2->TTA1 converter is temporary included into the TTA 3.0 distribution package.

-- Alexander

TTA

Reply #12
Quote
The plugin you linked to does not use the foobar2000 reader system.

OK. No problem to use the foobar2000 reader system.

I have some additional questions:

1) How I can to get an ID3v2 tag size from tag_reader? In other case I must to read it again

2) In all of SDK samples older ID3v2 tag removing before saving, but it's not required if the new tag has a lower or equal size. Is it possible?

Thank you in advance.
-- Alexander

TTA

Reply #13
Quote
Quote
The plugin you linked to does not use the foobar2000 reader system.

OK. No problem to use the foobar2000 reader system.

I have some additional questions:

1) How I can to get an ID3v2 tag size from tag_reader? In other case I must to read it again

2) In all of SDK samples older ID3v2 tag removing before saving, but it's not required if the new tag has a lower or equal size. Is it possible?

Thank you in advance.
-- Alexander

1) See id3v2_hacks.cpp from foo_input_std.
2) My ID3v2 writer supports padding so the file size is an even multiple of 2KB, with at least some padding over the data. Unfortunately, the tag_remover service does not support a mechanism for removers to identify themselves or for the caller to selectively bypass removal of some tag types. You will need to use the tag_remover, unless you do your own APE/ID3v1 removal. See foo_input_std for how to detect if ID3v2 or other tag readers/writers are installed.

TTA

Reply #14
Does someone know what command line I should use for making TTA work with foobar2000's diskwriter?
I've tried several one, but I can't make it work.

I'd also like to know what switch I should use for different presets. Speek's frontend offers four switchs (fast... extra-high), but the ttaenc.exe -help don't list them.

Last question : are APEv2 compatible with TTA? I'm using Monkey with a lot of personnal fields, and I'm not totally sure that all these fields are compatible with the ID3v2.x. I also prefer tagging solutions stored at the end of the file (it's faster on tag edition, and I often modify them).

Thanks

TTA

Reply #15
Quote
Does someone know what command line I should use for making TTA work with foobar2000's diskwriter?

try this:
Code: [Select]
-e -s -o %d %s


Most recent TTA encoder doesn't seem to support different compression levels any more, I might be wrong about that though. ald?

About APEv2, no clue. Again, I'll leave answering this question up to ald..
A riddle is a short sword attached to the next 2000 years.

TTA

Reply #16
Thank you. Your command line is working perfectly

About different profiles, you're right. I've just test on the same files, and both -fast and -extrahigh produces the same file (same bitrate). No wonder that -extrahigh was so fast on encoding 

About APEv2: I've forced APEv2 tags with foobar2000's diskwriter. File is not corrupted, but tags don't appear (normal behaviour, if foo_tta is designed for reading ID3).

Other thing: I've noticed than output files are generally slightly bigger with tta than with monkey --normal. Nevertheless, the bitrate indication of foobar2000 is in favor of tta. One is wrong...

TTA

Reply #17
Quote
1) See id3v2_hacks.cpp from foo_input_std...

2 kode54: Thanks for help. My code looks alike. You can look at my Winamp plugin code. This plugin contains a small ID3 library which works very quickly.

HOT NEWS ;-)

New TTA plugin for Foobar2000 has appeared. Hope it looks better.
Changes from previous version:

  - Code rewrited using Foobar reader system;
  - Fixed CUE files playback.

ftp://tta.iszf.irk.ru/ttaplugin-foobar-2.4-20040430.zip

ftp://tta.iszf.irk.ru/ttaplugin-foobar-2.4-src-20040430.zip

-- Alexander

TTA

Reply #18
ald:
  • please add pipe support to TTA commandline encoder (use stdin/stdout for encoding/decoding)
  • please fix bitrate display in foobar plugin (was still about 25kbps too low on the track I just analyzed)
  • can you add support for APEv2 tagging?
A riddle is a short sword attached to the next 2000 years.

TTA

Reply #19
I seconded the bitrate calculation problems. Just one exemple, with a 9:29 minutes files.
Code: [Select]
APE : 45.949 KB   bitrate : 662 Kbps
TTA : 46.929 KB   bitrate : 659 Kbps

Difference is 1 MB (2%), and bitrate is neverthess lower for tta ?!

TTA

Reply #20
Quote
Last question : are APEv2 compatible with TTA?


Yes, but as undocumented feature. Decoder will to skip all data at end of file. I going to add an APEv2 support in a next release of the TTA plugin for Foobar. Hope it will be released quickly.

Quote
I'd also like to know what switch I should use for different presets.


TTA 3.0 has a fixed compression level (no different presets), because it's hardware oriented format. We has decreased little bit the compression ratio (from wersion 2.0) for possibility of playback/recording in a popular audio hardware. Look at the Readme for details.

TTA 3.0 comparisons results:

http://tta.corecodec.org/index.php?menu=comp

-- Alexander

TTA

Reply #21
ald> thanks for all these clarifications. I've read carefully the content of your site. If I searched to use different profiles, it's because speek's nice frontend dedicated to TTA v.3 offered four different profiles. My confusion was probably legitimate

Decoding speed of your encoder is interesting. Encoding ratios are nevertheless worse than MAC -c2000 (the encoder I choose for my library) : 4-6 MB per disc (tested on three discs only).
Anyway, your encoder is fast, and really interesting. Thanks for your work

TTA

Reply #22
Quote
Difference is 1 MB (2%), and bitrate is neverthess lower for tta ?!

It's a difference in bitrate calculation.
1 Kbit = 1024 bits, not a 1000.

-- Alexander

 

TTA

Reply #23
--double post --

TTA

Reply #24
Quote
Quote
Difference is 1 MB (2%), and bitrate is neverthess lower for tta ?!

It's a difference in bitrate calculation.
1 Kbit = 1024 bits, not a 1000.

-- Alexander

AFAIK, everybody calculates audio bitrates with 1kbit=1000bits, not 1024bits. Nobody uses Kbit, except Microsoft and TTA.