Code Monkey home page Code Monkey logo

teddy's People

Contributors

dependabot[bot] avatar g3gg0 avatar gregoreficint avatar mik1977 avatar scilor avatar stefanriese avatar steve8x8 avatar thomassmallert avatar vondraussen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

teddy's Issues

chapters order

Hi.
I try to encode an audiobook that contains 107 single mp3 chapters.
teddy converts all the files seemingly in the right order, but:
after successfull encode all chapters are in the wrong order.
I tryed to add mp3 tags with track numbers as well as numbering within the title and filenames. nothing helps.

what do I have to do to get an audiobook with the right ordered chapters?

Cache for Images

There should be an cache for Tonie images of be able to Show them when working offline.

Teddybench doesn’t read all tracks

Hi,
I was trying to save all tracks on my creative tonie, but it only shows the first three, the rest isn’t visible.
What can I do to fix it? Unfortunately, i can’t change the position.
Thank you for the help!

UID pre-fill missing 2 digits

TeddyBench worked great (Mac M1 w/ VM = wishlist to have a cross-platform solution), one small issue with the current version is that the pre-filled in UID only had 6 digits: E00403 rather than E0040350. The current n00b guide post mentions that only the last 8 unique digits need to be entered.

Sort by date not working correctly - sort is numeric instead by timestamp

Sorting of this dates/times is done wrong.:
Sorting within teddybench by date results in wrong order.

01.02.2023 22:49:14
01.02.2023 22:52:42

02.02.2023 01:10:12

02.06.2023 00:07:54

03.01.2023 23:30:50
03.03.2023 18:46:10

06.05.2023 18:48:28

08.02.2023 22:15:10
09.02.2023 00:54:48

10.03.2023 15:25:44

....

Sorting seems to be done numeric but not by timestamp.

To reproduce Adjust Modify and Create Timestamp of files according to above examples and sort by date.
e.g. i ensured that both timestamps modify and Create are identical.
for directory as for files.

Teddy: Use two-digit numbers when decoding

Currently (version 1.2.0 seems to be latest?), output filenames use the pattern "%s-%08X - Track #%d.ogg", with the original filename for the first variable, and - apparently - the audio ID for the second. It's the third variable part that breaks sorting order once there are more than 9 tracks. Since tonies are limited to 99 tracks, using "%02d" instead of "%d" should be sufficient to fix this.

I currently cannot use TeddyBench, therefore I'm unable to check whether it's affected as well.

PS.: Checking the source code (TonieAudio.cs) I'm now aware it's not C (line 856) and the suggested format string doesn't apply, but what about replacing

                    string fileName = Path.Combine(outDirectory, outFileName + " - Track #" + (chapter + 1) + ".ogg");

with something like

                    string fileName = Path.Combine(outDirectory, outFileName + " - Track #" + (chapter + 1) + ".ogg");
                    if (chapter + 1 < 10)
                    {
                        fileName = Path.Combine(outDirectory, outFileName + " - Track #0" + (chapter + 1) + ".ogg");
                    }

? (Should I set up a MR for this?)

How to use TeddyBench to write new Songs to Figurine?

Hi there,
sorry if this is a stupid question, but i am stuck a bit right now.
I am using your Teddy Software for more than 2 years now and i am gratefull for the opportunities this gives me for my 2 kids.
Till now i am using the teddy.ex on cli in Windows. For every Tonie-Fig i use a simple .bat file.
I have a folder for each tonie with an input directory inside and this batch file.
I put my mp3 into the inout folder, double click the batch file and copy the newly created folder just over to the sd card.
Works fine! no problems at all!
BUT :-)
I am lazy.....
and i like your teddybench (look and feel).
But how can i just add new content to one of the figurines?
If i say ADD and add 2 mp3s, hit NO on the ID question then i have to disconnect the box from internet, otherwise the content will be overwritten after first play.
Is there a simple way to just overwrite the existing songs with new songs and fix the ID by itself like i do with the CLI tool?

My batch looks like this (only example)
....\teddy -m encode .\in\ --id=0x5HDHDHDHD --output=.\565656565
echo KleineHexe ist 5656565

Maybe its already possible, but i am to blind to see....

keep on with the great work!

Stefan

Tonie track name scraper

Hi community,

has anyone already written a scraper to extract the track names of Tonies? E.g., from https://tonies.de/shop/tonies/die-drei-fragezeichen/der-super-papagei-limited/#tabs--large-up__titelliste
I am looking into this as Gambrius' JSON (http://gt-blog.de/JSON/tonies.json) is missing nearly all tracks and I would like teddy to include the track names into the .ogg metadata, to then add it to the backup filenames (see issue #29 for the latter).
If no one has done it already, I will try to do it myself and share the code here.

Thanks!

Password Settings

I want to read the content of the original tonie, but the password is wrong. It works only with the custom tags. How can i change it in the application?

laggy behavior after reassigning the UID

By double click on the Tonie an extra window is opened to reassign a UID. When this window is acknowledged with the OK button, a complete rebuild of the content screen is made and it takes a short time all Tonies are recognized again.

And after the change the focus should stay on the just reassigned tonie.

Crash if cancel the emulation - Version 1.4.4

The latest version is crashing if I emulate a Tag and if I want to stop it by "cancel" it.

Older versions:
mostly didnt crashed but could not stop emulating by "cancel". So I needed to disable "autodetect". But Reenabling "autodetect" could not successful reinitialize proxmark (the green light stopped). Then I had to do disable and reenable autodetect again twice (or three times if the app did not crashed/gotclosed). so that I could emulate the next tag. This was on Windows 10.

Now (with version 1.4.4) I updated to Windows 11 and still the same. Anybody else having this behaviour or is it related to the proxmark maybe?

[Request] Store of "customTonies.json" inside the CONTENT folder

Currently the custom Tonie names are stored inside the file customTonies.json which is located where the TeddyBench.exe is stored. When using different computers to covert custom Tonies it is also necessary to copy customTonies.json around.

Makes it sense to store customTonies.json at the CONTENT folder as well?

The advantaged would be that also the custom Tonie names are saved together with the custom Tonie files.

[Windows] Teddy crashed after changing the name of a custom Tag

If i change the name of an unknown tag the software crashed.

I build my own form the last source
36f5e54

VirtualStudio give me the hint that the error occurs on:
"CustomTonies.ContainsKey(tag.Hash) the value can not be NULL"

Rename with right click is not working, too.

The rename of an known Tonie and an unknown tonie is working, only custom tags are the Problem right now.

image

selected directory is not verified

Teddy does not verify, if the directory selected by the user is a valid one.
If i.e. the sd card itself is selected by the user, the content will be put on the same level as the content folder => not detected by toniebox

I could imagine 2 solutions:

  1. simply document it: add an info or popup when the user wants to select a folder which is NOT the "content" directory.
  2. verify the selected directory has the name "content"

edit:
version: 1.1.2-master+f4858ce

[Feature req.]Write tonie name and track names into filenames

Currently, the .ogg files of backed-up tracks are named consecutively, e.g., ID-ID - Track #1.ogg.
Even if tonie name and track names are present in the JSON one can provide to teddy, the info is only included into the file metadata.
It would make handling the backup files much easier if these infos could be directly included into the filenames!
As a workaround, I am currently looking into extracting the .ogg metadata to automatically rename the .ogg files.
If I get to a result I'll post it here.
If anyone already has an automatic solution I'll gladly save time and use it :-)
Thanks!

Teddy: How to "encode" ogg files (without extra loss)?

The subject says it all.

The rationale behind it: Nowadays it's not necessary to convert ogg to mp3 to listen to it; thus Teddy should be able to handle ogg input files (e.g., ones obtained from previous "decode" steps) as well, and just skip the encoding step.

Would it also be possible to mix ogg and mp3 input?

add right click content menu on Tonie

A right click content menu on each single tonie would be useful to run thirteen tasks on this Tonie. Therefor the buttons on the side could be spared.

Possible features:

  • export to ogg
  • send Report information of Toniefile
  • rename
  • link new UID (same as double click)
  • Open directory in Explorer where Toniefile is stored
  • delete Toniefile

I really like to see the "Open directory in Explorer" feature.

Guide for Teddybench

Hey there :)
Is there somewhere a guide available how to use teddybench ?
Best regards, Hazling

lower case UID leads to exception error

When using lower case letters when changing the UID, teddybench (ver. 1.2.1) crashes with an Exception error

************** Ausnahmetext **************
System.ArgumentOutOfRangeException: Der Index und die Länge müssen sich auf eine Position in der Zeichenfolge beziehen.
Parametername: length
bei System.String.Substring(Int32 startIndex, Int32 length)
bei TeddyBench.TeddyMain.ReassignSelected()
bei TeddyBench.TeddyMain.lstTonies_DoubleClick(Object sender, EventArgs e)
bei System.Windows.Forms.Control.OnDoubleClick(EventArgs e)
bei System.Windows.Forms.ListView.WndProc(Message& m)
bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
bei System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

TeddyBench crashes (uncaught exception) when entering a lower case letter as UID

TeddyBench closes because of an uncaught exception if a UID is entered with lower case letters.

Example:
Try to add a mp3 file with UID e0 04 03 50 12 b1 61 62.

Analysis:
TeddyBench.TeddyMain function EncodeFile(..) has the following line
Path.Combine(newDir, ReverseUid(uid).Substring(8, 8));
that builds the filename with path. It uses ReverseUid with the following code

public static string ReverseUid(string uid)
        {
            List<string> groups = (from Match m in Regex.Matches(uid, @"[A-F0-9]{2}") select m.Value).ToList();
            groups.Reverse();
            string ret = string.Join("", groups.ToArray());

            return ret;
        }

Here we see the critical part: the regular expression works on upper case UIDs only. Thus, if we enter lower case letters, the string is not correctly parsed and thus, the substring Substring(8,8) that is applied to ReverseUid(uid) throws an OutOfBound Exception.

Recommended Fixes:
I recommend two fixes.

First, the code line
List<string> groups = (from Match m in Regex.Matches(uid, @"[A-F0-9]{2}") select m.Value).ToList();
in the function ReverseUid() in MainForm.cs should work with upper case letters
List<string> groups = (from Match m in Regex.Matches(uid, @"[A-Fa-f0-9]{2}") select m.Value).ToList();.

Even if this is enough, I like the idea to always take the input of the user id and convert it to upper case so all the methods afterwards use the string in upper case. We achieve this with changing
Uid = txtUid.Text
in AskUIDForm.cs to
Uid = txtUid.Text.ToUpper();

Suggested fixes are available in pull request #17 .

Exception: System.OutOfMemoryException

[ERROR] Failed to process
Exception: System.OutOfMemoryException
Message: Eine Ausnahme vom Typ "System.OutOfMemoryException" wurde ausgelöst.
Stacktrace: bei TonieFile.TonieAudio.BuildFromFiles(List`1 sourceFiles, UInt32 audioId, Int32 bitRate, Boolean useVbr, String prefixLocation)
bei TonieFile.TonieAudio..ctor(String[] sources, UInt32 audioId, Int32 bitRate, Boolean useVbr, String prefixLocation)
bei Teddy.Program.Main(String[] args)

After Encoding some Folders, the "Teddy.exe" aborts at the End. Tried with 2 different PC`s and decreased the Bitrate and CBR to VBR. Is it possible that the Filesize is maxed out?

Teddy.exe (version 1.20) fails to read mp3 files - MacOS 12.6

Using Teddy on MacOS, I seem to be unable to read mp3 files for encoding (both in VBR and CBR modes):

mono ../Teddy.exe -m encode --vbr -v -v -v -o NEW.20230121T140455 test.mp3
[Mode: encode, 96 kbps, VBR]
 Track   1 - test.mp3         [

[ERROR] Failed to process
   Exception:  System.Exception
   Message:    Failed processing test.mp3
   Stacktrace:   at TonieFile.TonieAudio.GenerateAudio (System.Collections.Generic.List`1[T] sourceFiles, System.UInt32 audioId, System.Int32 bitRate, System.Boolean useVbr, System.String prefixLocation) [0x00450] in <7eb3521780ee44579babbcaa2588b834>:0 
  at TonieFile.TonieAudio.BuildFromFiles (System.Collections.Generic.List`1[T] sourceFiles, System.UInt32 audioId, System.Int32 bitRate, System.Boolean useVbr, System.String prefixLocation) [0x00000] in <7eb3521780ee44579babbcaa2588b834>:0 
  at TonieFile.TonieAudio..ctor (System.String[] sources, System.UInt32 audioId, System.Int32 bitRate, System.Boolean useVbr, System.String prefixLocation) [0x00046] in <7eb3521780ee44579babbcaa2588b834>:0 
  at Teddy.Program.Main (System.String[] args) [0x00e97] in <7eb3521780ee44579babbcaa2588b834>:0 
[Mode: encode, 96 kbps, CBR]
 Track   1 - test.mp3         [

[ERROR] Failed to process
   Exception:  System.Exception
   Message:    Failed processing test.mp3
   Stacktrace:   at TonieFile.TonieAudio.GenerateAudio (System.Collections.Generic.List`1[T] sourceFiles, System.UInt32 audioId, System.Int32 bitRate, System.Boolean useVbr, System.String prefixLocation) [0x00450] in <7eb3521780ee44579babbcaa2588b834>:0 
  at TonieFile.TonieAudio.BuildFromFiles (System.Collections.Generic.List`1[T] sourceFiles, System.UInt32 audioId, System.Int32 bitRate, System.Boolean useVbr, System.String prefixLocation) [0x00000] in <7eb3521780ee44579babbcaa2588b834>:0 
  at TonieFile.TonieAudio..ctor (System.String[] sources, System.UInt32 audioId, System.Int32 bitRate, System.Boolean useVbr, System.String prefixLocation) [0x00046] in <7eb3521780ee44579babbcaa2588b834>:0 
  at Teddy.Program.Main (System.String[] args) [0x00e97] in <7eb3521780ee44579babbcaa2588b834>:0 

Unfortunately I currently cannot use TeddyBench. Any hints how to further debug this (beyond -v -v -v)? Thanks in advance...

Content for Tonie-Figure is overwritten by download each time

Hi there and THANKS for the great work!
i love the teddy app and the new teddybench.
i also manged to mod the first toniebox to get access to the sd card without opening it. now i can test and play around like i did today.

i got a question and a problem.

question:
when i double click a tonie, i get the uid, i copy this.
then i drag'n'drop a mp3 on this tonie (lion) and the bench opens a new window with the uid field, i paste the copied uid from the lion.
teddy starts to encode and finishes fine. but then the lion picture is exchanged with a random teddy-pic and the name is gone and instead it says the uid and unknow.....
is this normal behavior?
i really would appreciate if the lion picture stays and i can rename it to remember what i put on the tonie.

problem:
as soon as i put the lion-tonie on the box with the edited sd card, the box starts to download the original soundfile and starts playing the lion-audiobook.
tried several audiofiles and many attemps, always same behaviour.
cant get it to work this way. there wqas 1 attemp that did work, but then i deleted the file from the card via toniebench to reassign a new audiofile, since that.... didnt work anymore.

help would be appreciated.

keep on with the work

ps:
i read about the right-click menue, this is not in the latest release right? only if i compile it myself, right?

THANKS A LOT!

Switch from Windows Forms

It would be great to switch from an old framework that doesn't have many platform support to something newer like Avalonia.
With that there would be so much more platforms supported and so many users could profit from it.

Restart from beginning at every contact

Thank you very much for your great tool! I'm using v1.3.3 on Win10.

Unfortunately, my custom Tonie always starts from the very first track - even if there has been no contact to any other Tonie in between. As soon as I remove the Tonie and put it on the TonieBox again, the first audio track starts from the beginning (00:00 min).
In the case of original Tonies, the audio replays from the last played audio track (e.g. 04:37 min).

Is this a user error by myself or expected behavior of the dumped files by TeddyBench?

Thanks very much!

Can't get Teddybench to run.

Hy I tryed tu get Teddybench to copy my mp3's to the SD CARD.
But as soon as i entered the TAG-ID the program crashes.
I used Version 1.21
Win 10 Ryzen 1700X
I now moved the file generated with Teddy CLI manually to the card, and it works as it should :)
But maybe you could tell me what i could debug to get it to run 🤷🏽 .

BTW I used a STRIX Tag with an different UUID / which i was not able to enter in the teddybench (a 1 instead of the prefilled 3 would be needed) but that shouldnt have something to do with the crashing.

laggy behavior while Identification of UID with Proxmark

Proxmark is kind of laggy, because it is always going through all kind of commands, even if no card is placed onto the Proxmark.

The Process should be

  • try to get random number --> until card answers with a random number
  • After receiving random number --> Try to read inventory (UID)
  • IF card does not answer to INVENTORY command --> Try to deactivate privacy mode with known PWs, (0F or TPW)
  • After successful deactivation of privacy mode --> Read UID with INVENTORY command
  • After successful read of INVENTORY - continue asking for RANDOM NUMER with SELECT MODE and UID (given by INVENTORY command) --> The random number answer will stop as soon as card is removed from reader
  • if card got removed from reader -->start over and just ask for random number

Sort by Name

Hi

it would be great to sort the items in TeddyBench by their names.

[Linux] Crash when using special characters like ü,ö,ä as custom Tonie name

Teddy crashes when using special characters like ü,ö,ä as custom Tonie name.

Observed under Ubuntu 20.04 using https://github.com/AlbrechtL/teddy/releases/tag/v1.2.4-linux

System.ExecutionEngineException: String conversion error: Illegal byte sequence encounted in the input.
  at (wrapper managed-to-native) System.Runtime.InteropServices.Marshal.PtrToStringAnsi(intptr)
  at System.Windows.Forms.XplatUIX11.TranslatePropertyToClipboard (System.IntPtr property) [0x0005f] in <a0f8b82443494dec9b517126f4032efe>:0 
  at System.Windows.Forms.XplatUIX11.UpdateMessageQueue (System.Windows.Forms.XEventQueue queue, System.Boolean allowIdle) [0x00918] in <a0f8b82443494dec9b517126f4032efe>:0 
  at System.Windows.Forms.XplatUIX11.ClipboardRetrieve (System.IntPtr handle, System.Int32 type, System.Windows.Forms.XplatUI+ClipboardToObject converter) [0x0002f] in <a0f8b82443494dec9b517126f4032efe>:0 
  at System.Windows.Forms.XplatUI.ClipboardRetrieve (System.IntPtr handle, System.Int32 type, System.Windows.Forms.XplatUI+ClipboardToObject converter) [0x00000] in <a0f8b82443494dec9b517126f4032efe>:0 
  at System.Windows.Forms.Clipboard.GetDataObject (System.Boolean primary_selection) [0x00039] in <a0f8b82443494dec9b517126f4032efe>:0 
  at System.Windows.Forms.Clipboard.GetDataObject () [0x00000] in <a0f8b82443494dec9b517126f4032efe>:0 
  at System.Windows.Forms.TextBoxBase.ProcessKey (System.Windows.Forms.Keys keyData) [0x000a4] in <a0f8b82443494dec9b517126f4032efe>:0 
  at System.Windows.Forms.TextBoxBase.WndProc (System.Windows.Forms.Message& m) [0x0005b] in <a0f8b82443494dec9b517126f4032efe>:0 
  at System.Windows.Forms.TextBox.WndProc (System.Windows.Forms.Message& m) [0x0011c] in <a0f8b82443494dec9b517126f4032efe>:0 
  at System.Windows.Forms.Control+ControlWindowTarget.OnMessage (System.Windows.Forms.Message& m) [0x00000] in <a0f8b82443494dec9b517126f4032efe>:0 
  at System.Windows.Forms.Control+ControlNativeWindow.WndProc (System.Windows.Forms.Message& m) [0x0000b] in <a0f8b82443494dec9b517126f4032efe>:0 
  at System.Windows.Forms.NativeWindow.WndProc (System.IntPtr hWnd, System.Windows.Forms.Msg msg, System.IntPtr wParam, System.IntPtr lParam) [0x00085] in <a0f8b82443494dec9b517126f4032efe>:0 

TeddyBench does not start when the cfg file is empty

Due to a crash of TeddyBench I figured out that when the cfg file is left empty, TeddyBench will not start again.
TedyBench should have a failover function, that when the cfg is empty or the content is corrupt, that it will overwrite the cfg with a standard content / configuration.

Virus detection

Hey guys,
my Norton360 virus scanner is triggered when I download the TeddyBench (Indepenend of the version I download). Is this normal? Someone else is also having this issue?
Best regards,
Hazling

Teddy (1.20, on M1 Mac) fails to "-m info" on unknown file

$ mono .../bin/Teddy.exe -m info -v -v -v $id
[Mode: dump information]

[ERROR] Failed to process '$id/500304E0'
   Exception:  System.IndexOutOfRangeException
   Message:    Index was outside the bounds of the array.
   Stacktrace:   at TonieFile.TonieTools.DumpInfo (System.Text.StringBuilder message, TonieFile.TonieTools+eDumpFormat dumpFormat, System.String file, TonieFile.TonieTools+TonieData[] tonieInfos) [0x00504] in <7eb3521780ee44579babbcaa2588b834>:0 
  at Teddy.Program.Main (System.String[] args) [0x0086a] in <7eb3521780ee44579babbcaa2588b834>:0

Note that this happens without providing a local tonies.json (i.e., using the one on the web).
The tonie "model" is 10000990; decode mode works without issues.

Any suggestions how to investigate this further?

Exchange audio of original content Tonies

To link audio to an original Tonie figurine the audioID must be the same than of the original audio content.

Therefore should be the possibility given to enter the audioID as well. The default value should be the value that is used right now within the software.

Another way could be a pulldown menu where to select one of the original Tonies (from the JSON file). This could save the look up of the needed audioID.

TeddyBench does not start

I downloaded the latest release (v1.2.2), unzipped, and double clicked on TeddyBench.exe. Nothing happens.
I am using a freshly installed Windows 10.
I tried disabling Windows Defender and excluding the TeddyBench directory from scanning. Did not help.
Is there anything else I need to do?

Proxmark3 Easy do not work

I can not get working Teddy wirth my Proxmark3 Easy. I tried two Proxmark without success.
Log:
[PM3] Try port COM8
[PM3] Device info:
[PM3] BOOTROM_PRESENT Y
[PM3] OSIMAGE_PRESENT Y
[PM3] MODE_BOOTROM N
[PM3] MODE_OS Y
[PM3] UNDERSTANDS_START_FLASH N

[PM3] TryOpen: COM8 did not reply to a ping
[PM3] Failed

Please help

Leave less sensitive information in decoded files

I cannot use TeddyBench, so this may already be addressed in the latest code, but Teddy 1.20 writes the full input file path to the decoded .ogg files:

$ ogginfo 500304E0-$serial\ -\ Track\ #01.ogg 
Processing file "500304E0-$serial - Track #01.ogg"...

New logical stream (#1, serial: $serial): type opus
Encoded with Lavf58.45.100
User comments section follows...
	encoder=opusenc from opus-tools 0.1.10
	encoder_options=--quiet --bitrate 96 --vbr
	pad=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
	TeddyVersion=1.2.0-master+49d47dd
	TeddyFile=/Users/.../$id/500304E0
...

While this provides useful debugging information, one might want to avoid uploading/sharing such a file since information may be used to identify the tonie and the username.

Also, this part of the information appears to make the resulting files change their size, depending on the actual Teddy invocation. I consider this to be a POLA/POLS violation: decoding the same source file should result in identical output, independent of the input location in the filesystem.

Can addition of this information be made optional?

"Sort by" feature not working properly

I like to sort my tones by "type".
If I choose "sort by type" while the Toniefiles are still initialized and verified with the JSON file the new recognized Tonies are not sorted to the selected order.

Or if you add Toniefiles (by dragndrop) to the CONTENT, after adding it shows another sorting although the "sort by" is still set to "type".

Adding own Figurine Pics / Artwork

To organize custom audio within TeddyBench it would be good to add an own picture.

This feature could be archived by adding a right button action to enter an URL to own Artwork.
This URL can be stored within the JSON where the names for the custom audio is saved.

A limitation by pixel size and pic size could be checked after entering the URL.

Offline Content Scan not working

When there is no Internet Connection TeddyBench is not able to Scan the content even if there is an "tonies.json" - of you close the Programm, Connect to the Internet again and restart TeddyBench is is working like it should

Multiple, (almost) undistinguishable entries in tonies.json?

While testing a new attempt at the track scraper, I found this (using a json_pp pretty-printed version of the "official" file):

$ grep -i -C5 the.birth.of tonies.json 
  {
    "no": "297",
    "model": "10000174",
    "audio_id": [],
    "hash": [],
    "title": "Maya The Bee - The birth of Maya",
    "series": "Maya The Bee",
    "episodes": "The birth of Maya",
    "tracks": [],
    "release": "0",
    "language": "en-gb",
    "category": "audio-play",
    "pic": "https://08ee523e746768fd7148-f76a52ba8f0c340564df978383fc4de2.ssl.cf3.rackcdn.com/10000227-50000588-b-5zuTgL8H.png",
--
  {
    "no": "319",
    "model": "10000227",
    "audio_id": [],
    "hash": [],
    "title": "Maya The Bee - The birth of Maya",
    "series": "Maya The Bee",
    "episodes": "The birth of Maya",
    "tracks": [],
    "release": "1585699200",
    "language": "en-gb",
    "category": "Audiobook",
    "pic": "https://tonies.com/assets/cache/10000227-50000588-b-5zuTgL8H.0e8873e5.png",

Of course there's only one page https://tonies.com/en-gb/tonies/maya-the-bee/the-birth-of-maya/ - which entry does this belong to, and what about the other one? (Apparently the single page refers to the 10000174 model, not the 10000227 one?)
It looks like the scraper should also get the model ID for matching?

Track length for dump info command not correct for tracks that are longer than 60 minutes

C:\Downloads>teddy -m info e:\500304E0-1592653827-96-kbs-11-works
Failed to load JSON:
Error converting value {null} to type 'System.Int32'. Path '[330].no', line 5882, position 16.
[Mode: dump information]
Dump of e:\500304E0-1592653827-96-kbs-11-works (UID 11962738659215E0040350):
Header: AudioID 0x5EEDF803 (2020-06-20T11:50:27)
Header: Length 0x00000FFC [OK]
Header: Padding 0x00000FB7
Header: AudioLen 0x20070CF9 [OK]
Header: Checksum D958DB332F329A38FE82D46675EF898C3BF3BFAE [OK] [NO JSON INFO]
Header: Chapters
Track #1 08:41.70
Track #2 08:45.20
Track #3 06:32.40
Track #4 12:54.86
Track #5 07:56.10
Track #6 17:51.00
Track #7 58:11.53
Track #8 58:51.38
Track #9 57:22.71
Track #10 57:56.07
Track #11 04:22.02
Ogg: Segments 4319332 (min: 32 max: 225 per OggPage)
Ogg: net payload 529471604 byte
Ogg: granules total: 2071919615 (11:59:24.99 hh:mm:ss.ff)
Ogg: granules/page min: 15360 max: 108000 (320ms - 2250ms)

The bold values are actually the value + 60 minutes. Total time is correct.

Failed to encode file

I am getting this error while trying to add new audio mp3 files. Have tried different files and still the same happens.
I even tried an .ogg converted file, still the same issue.

I'm using TeddyBench in a Windows VM.

Bildschirmfoto 2024-01-11 um 10 53 47

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.