Skip to content

Encore 0.3.1

Choose a tag to compare

@unicxrn unicxrn released this 13 Sep 13:41
· 192 commits to main since this release

Changed

  • A chart carrying a video.mp4, .avi or .mpeg background is no longer counted as a fault on
    Windows. scan-chart raises this because Clone Hero on Linux cannot play those containers, and
    Encore repeated the finding identically on Windows, where those containers are the ones Unity's
    Windows video backend is built around. Calling that broken, and offering a VP8 re-encode to
    repair it, is an accusation Encore cannot back. Such charts are now left out of the Windows
    issue count and out of the categories the broken ones sit in, with their own chip for reading
    them, and the conversion keeps its place under a heading that says what it buys, a background
    that also plays on Linux, and what it costs, time and some image quality. Linux is unchanged:
    there it is breakage, it is counted as breakage, and converting is the repair. On macOS, and on
    any other platform Node reports, nobody here has checked what Clone Hero does with an mp4, so
    the row says exactly that and is not counted as a fault either. Every platform reads the rows
    the last scan already produced, so none of this needs re-scanning.

Added

  • Encore can now remove a chart. Installed carries a Remove beside every row, and the duplicate
    report offers one on the copies whose Clone Hero checksum is identical. Both ask first, by name,
    and both say where the chart goes: the system Trash, which is the whole of the recovery path.
    Encore keeps no copy of its own and there is no permanent delete behind either of them, so a
    Trash that refuses the move leaves the chart on disk and in your library and says so. Your play
    history is kept either way, because a play is recorded against the chart rather than its folder,
    and the Stats page goes on naming charts the library no longer holds.
  • Each copy in the duplicate report now says what it holds and how big it is, and the removal is
    offered only where that is the whole story. Two copies with one checksum are the same notes byte
    for byte, and the checksum covers nothing else: one of them can be the only copy with the album
    art, the background video or the synced lyrics. Each copy lists what it has, and the one holding
    something none of the others do says so, on the row and again in the confirmation. Nothing is
    preselected and nothing is recommended. Removal is not offered on the other two tiers: an old
    version is a different chart whose scores are recorded against it, and a song charted by two
    people is not waste at all.

Fixed

  • Adding lyrics to a chart destroyed every byte of the chart file that was not valid UTF-8. Encore
    read notes.chart through a decode that turns an undecodable byte into the replacement
    character and then wrote that reading back, so a chart written in Latin-1 came back with three
    bytes of nothing where each of its accents had been, and one Complete missing pass did that to
    every affected chart in the library at once. Nothing caught it, because a lyric injection is
    expected to move both of the numbers Clone Hero matches charts by, and the assertions that hold
    every other chart write to leaving them alone are therefore off for this one. Encore now reads
    the chart file's encoding off its own bytes and writes back the one it read, so a byte the
    injection did not come for goes back as itself.
  • Lyrics a chart's encoding cannot hold are now refused for that chart, with a message naming the
    characters that stopped them, rather than written at the cost of the rest of the file. A chart
    file that is not valid UTF-8 is read and written as Latin-1, which has no byte for a curly
    apostrophe or for anything outside its 256 characters; the only way to write one would be to
    re-encode the whole file and change every non-ASCII byte the chart already had. Re-saving the
    chart as UTF-8 is what makes those lyrics fit. A UTF-16 chart file is refused for the same
    reason song.ini editing already refuses one.
  • The duplicate report grouped on the raw song.ini text, so a chart whose title or charter is
    written in Clone Hero's colour tags was a group of its own. Two versions by one charter, one of
    them styled, were reported as two people having charted the song, which is the one tier the
    report says is not a problem. It now groups on the name a chart reads as.
  • Clone Hero's score files were read as a pair, and a chart that listed the same score row twice
    in scoredata.bin and once in scoresext.bin was accepted instead of refused. The import that
    followed failed on the two rows sharing one key, and because the game rewrites both files after
    every song, it failed again every time a song finished. Such a pair is now refused the way every
    other mismatch between the two files already was.
  • An import that failed reported itself as having worked: the status said the scores were read,
    and stamped no time against them, over tables nothing had been written to. A failed import now
    says so, and it can no longer take Encore down with it.
  • Changing the score folder in Settings while a read of the old one was still running let the old
    folder's scores land afterwards and replace the new folder's, while the status named the new
    folder and said all was well. Nothing re-read until a file changed or Encore restarted. A read
    that a later one has overtaken is now thrown away, which covers the same hazard between two
    ordinary reads of one folder.
  • Encore had one sentence for two states of Clone Hero's score files: a file it could not decode,
    and two files it decoded perfectly and could not match to each other. Only the first is worth
    going to look at an install for. The second now says that it is a pair Encore cannot read
    together rather than a damaged install, since Encore matches the two files on a field that has
    never been decoded and a healthy pair shaped unlike the one it was read from would land there.
  • Explore's advanced Length range was sent to Chorus Encore multiplied by 60. The service counts
    length in minutes, not seconds, so a search for 3 to 6 minutes asked for 3 to 6 hours and
    answered with 16 charts, and a maximum on its own matched 95,284 of the 95,299 charts there are.
    The numbers now go out in the minutes the boxes are labelled in.
  • Typing in Explore's search box waits 300ms before it searches, and everything about the new
    query was already in place for those 300ms while the previous query's rows were still on screen.
    Reaching the end of the list in that window, or pressing Load more, skipped the new query's
    first page entirely: its top 25 matches never loaded and two requests went to page 2. It could
    also append a page of unfiltered results under a page of filtered ones, in one list. A search
    that has been asked for now happens all at once, and Load more waits for it.
  • Pressing Enter in Explore's advanced panel with nothing filled in threw away the search term and
    searched for everything instead, with nothing on screen to say where the term had gone. An empty
    panel now leaves the term alone.
  • Explore stopped paging before the end of a search. A page carries every version of the songs it
    lists while the result count counts songs, so the extra rows added up until the list looked
    longer than the answer and the Load more button disappeared. On a search for "metallica" that
    left 36 of its 511 songs unreachable.
  • Clearing the advanced filters from the chip beside the Advanced button left the open panel still
    showing every field, and one keystroke anywhere in it put all of them back. The panel now
    empties with the filters.

Which file to download

  • Windows: encore-0.3.1-setup.exe. A per-user installer, no administrator rights
    needed. It is not code signed, so SmartScreen warns once. Choose More info, then
    Run anyway.
  • Linux, most distributions: encore-0.3.1.AppImage. chmod +x it and run it. It
    carries a statically linked runtime, so it does not need libfuse2.
  • Debian and Ubuntu: encore_0.3.1_amd64.deb.
  • Snap: encore_0.3.1_amd64.snap.

Encore can update itself from here. Settings, under Updates, says what this build can do about a
new release and never downloads or installs one on its own.