Skip to content

Encore 0.3.0

Choose a tag to compare

@unicxrn unicxrn released this 12 Sep 22:49
· 225 commits to main since this release

Added

  • Encore now says so on screen when a newer release exists. The check has run at every launch
    since 0.1.0, but the only place its answer appeared was the Updates row in Settings, which
    nobody opens to find out about something they do not know is waiting. A newer release now opens
    a prompt over whatever the app started on: it names the release and the one running, says what
    this particular install does about updates, and offers the release notes, Skip, and Download and
    install. Skip means not now and not never. Nothing is written down, so the next launch asks
    again, and the prompt says as much before the button is pressed. Download and install starts the
    same download the Updates row starts and puts you in front of that row, where the percent and
    the Restart button already are, so there is still one update flow and one place the per-platform
    rules are written. On a copy Encore cannot replace, a snap being the one most people will meet,
    there is no install button at all and the sentence in its place is the one that does work:
    snap refresh encore. Reading the notes does not count as declining. The panel opens over the
    prompt and the prompt is waiting underneath when it closes.

  • Three things can now want the screen the moment Encore starts: the first-run tour, the what's
    new panel after an update, and the update prompt. They share one layer and only one of them is
    ever drawn. The update prompt is last in that order and yields the whole launch rather than
    queueing behind, so dismissing the tour or the changelog never hands you a second card, and a
    fresh install is never told about an update by the copy that was just installed. The decision is
    made once, after the settings have loaded, which is the moment the other two decide, so a check
    that answers quickly wins nothing it would not otherwise have won.

  • Encore reads Clone Hero's own score files, scoredata.bin and scoresext.bin, so it knows what
    you played before Encore existed. They are the game's high score table: one record per chart, a
    lifetime play count and the best score, kept since long before Encore was installed. What they do
    not hold is dates, of any kind. Nothing read from them can be placed on a calendar or counted
    into a week, so they are stored apart from the plays Encore has watched happen and the two are
    reported separately: the lifetime count for a chart already includes every play Encore recorded,
    and adding them would count those twice. The import runs at startup, which is the only moment a
    play made while Encore was closed can be picked up, and again whenever the game rewrites either
    file. It is a read; nothing is ever written back to Clone Hero's files. The Linux and
    Windows locations have both been verified against a real install. The macOS path follows
    Unity's own convention for where a game keeps this data and is probed rather than assumed. What it finds is
    on the Stats tab, as its own block, and on the play count a chart carries in Installed. Settings
    shows where Encore looked, and lets you point it at the folder yourself when the search is
    wrong, which is also the answer for a portable install or a Clone Hero on another drive. A
    folder with no score files in it is refused there and then, naming what was looked for and what
    was in the folder instead, rather than being stored to go on finding nothing. Encore never
    writes into that folder, whoever chose it.

  • When one of Clone Hero's score files refuses to parse, Encore reads the copy the game keeps
    beside it rather than reporting nothing, and says when the figures came from one: a backup is a
    save behind by definition, so it is only ever read when the live file cannot be, and a readable
    pair is never passed over for older numbers. The files Clone Hero has renamed as damaged are
    never read at all, because the game renamed them precisely because it could not read them.

  • The "No plays recorded" filter in Installed now also consults Clone Hero's own record, so a chart
    you wore out last year and have not touched since Encore was installed is no longer in the list.
    It is still not a complete answer and does not claim to be: a chart played on another machine, or
    under a Clone Hero whose score files are not the ones Encore found, is unknown either way, and so
    is a chart Encore cannot compute a Clone Hero checksum for. The sentence beside the list says
    which records actually answered, so a machine where the score files could not be read is told the
    list is only what Encore itself has seen rather than left to assume otherwise.

  • A Stats tab, holding everything Encore knows about what you have played, out of both records it
    has. From Clone Hero's own score table: your lifetime play count, how many charts you have ever
    played and how many of them you still have, and your best score. From Encore's own log: plays
    recorded, accuracy, full combos, best score and longest streak; the history as a bar per day,
    week or longer, from your first recorded play to today; which instruments and difficulties those
    plays were on; the ten charts you have played most and the last few plays themselves, with what
    each one scored; and how much of your library has a play on record, with the charters behind it.
    The two reach back different distances and the page never lets that go unsaid: every block is
    labelled with the record it was drawn from, ALL TIME or the date Encore's own record starts, and
    the sentence under the title says which is which. The lifetime count already includes every play
    Encore watched, so the page says so where the two sit closest and never adds them. Where a chart
    carries a score Encore cannot read, the play count still stands and only the score is left out,
    said plainly and not as a fault in your files. Nowhere writes "no play on record" as "never
    played". With one record, or with neither, the page says which of the reasons applies and where
    it looked, rather than drawing a page of zeroes. Reached from the sidebar or with Ctrl+5, which
    moves Issues to Ctrl+6 and Settings to Ctrl+7. Home, where the play panel used to sit, is back to
    being a landing page.

  • A chart in Installed says how many times it has been played, when there is a play on record for
    it. It is Clone Hero's own lifetime count where the game has one, so a chart you wore out years
    before Encore existed now says so, and Encore's own count where it does not. One badge either
    way, never two: the lifetime count already contains what Encore watched, and two numbers side by
    side invite the one sum that means nothing. The counts are a batch read for each page of the
    list, and a chart with no record in either place carries no badge at all: the list already
    distinguishes "no plays recorded" from "never played", and a zero would not.

  • Issues reports what your library holds more than one copy of, in three kinds that are kept
    apart because they mean different things. The same chart file installed twice, where nothing is
    lost by keeping one. The same song by the same charter at more than one version, which is
    usually an update that landed beside the copy it was meant to replace. And the same song by
    different charters, which is not a problem at all and says so. Every copy can be opened in your
    file manager, and the whole report exports as CSV. Encore never deletes a chart: it says what is
    duplicated and where each copy is, and the removing is yours to do. It reads the catalogue
    rather than the disk, so it answers as soon as the tab opens and needs no scan first.

  • Explore loads the next page as you reach the bottom of the results, instead of asking you to
    press a button for each one. It appends on its own up to 500 charts, then leaves a button that
    fetches a page and raises the ceiling again, so a long browse stays a list you can still scroll
    and a fast one cannot spend the catalogue's whole rate limit. The button is a real control at the
    end of the list, so reaching more results never needs a scroll gesture.

  • The charter, year, album and genre tags on a chart's page are buttons. Clicking one searches
    Explore for that exact value on that field, replacing whatever was filtered before rather than
    adding to it, and opens the advanced panel so the filter that changed the results is on screen
    and can be edited or dropped. The plain search box is cleared, because the advanced endpoint
    takes no search term.

  • Advanced search in Explore, against the catalogue's own advanced endpoint. Search by name,
    artist, album, genre, year and charter, each of which can be matched exactly or excluded; by
    ranges of song length, intensity, average and peak notes per second, and year; and by what a
    chart contains, including solo sections, lyrics, vocals, open notes, tap notes, forced notes,
    roll lanes, 2x kick, a video background, known issues, and whether it is a modchart. The panel
    stays shut until you open it, and once filters are applied the button that opens it says how
    many, with a way to clear them.

Changed

  • Windows has now been run. The 0.1.0 notes below record that nothing had been, because at the
    time nothing had: the installer was cross-compiled and inspected rather than executed. It
    installs and runs. It is still not code signed, so SmartScreen warns once.

Fixed

  • Home reads a chart name as text too. It was the one view left drawing Clone Hero's
    markup, and a name that is nothing but markup now falls back to the folder it sits in
    rather than rendering as an empty line.

  • A name written in Clone Hero's own styling markup read as the markup, everywhere Encore drew
    one. Charters colour their names in the game and song.ini and Chorus carry that verbatim, so one
    charter arrived as eight colour tags, one per letter. Installed, Explore, a chart's page, Asset
    Studio, the duplicates report, the preview and the player bar now read every title, artist,
    album and charter as text, and so do the accessible names beside them. What a chart says is
    untouched: the catalogue still keeps the markup exactly as the chart wrote it. The duplicates
    CSV shows the raw name, because it sits next to each copy's path and checksum and exists to be
    reconciled against a library.

  • A name written in that markup could not be found by what it reads as, and sorted nowhere near
    it. Search and sort run over the catalogue, and the catalogue held only the raw string, so a
    charter who colours every letter of their name was a separate search term per letter and typing
    the name on screen found nothing, while typing color found every styled chart in the library.
    A title beginning with a tag sorted under <, which put it at the top of Installed. The
    catalogue now keeps a readable form of each chart's title, artist, album and charter beside the
    raw one, and search, sort and the Installed pickers read that. Pasting a line straight out of
    song.ini into the search box still finds its chart. Your library is not rescanned for this:
    Encore fills the new columns from what it has already stored, the first time this build opens
    your catalogue, measured at 0.13 seconds over a library of 20,000 charts, and the search index
    it rebuilds in the same pass comes out a fifth smaller than the one it replaces.

  • One charter whose name is styled in one chart and plain in another was two entries in
    Installed's charter picker, each returning some of their charts. That is one entry now, under
    the name as it reads. Artists the same.

  • A download of a chart whose name carries that markup landed in a folder named after the markup,
    because the only thing that touched it was the rule that strips characters a filename cannot
    hold. The tags come off first now, so the folder, and the line for it in the downloads queue,
    read as a name. Nothing already on disk is renamed.

  • Explore answered an advanced search that matched nothing with "Chorus Encore returned no charts
    at all. It may be having trouble." It now names the filters, which is what an exact charter or
    album taken from an installed chart runs into when that charter or album is not on Chorus.

  • Explore only appended a page if the list had been scrolled, and on a window wider than about
    1600px the first 25 charts do not fill the results box, so there was nothing to scroll and no
    page after the first ever arrived on its own. It now fills the box on its own and keeps going
    as the end of the list stays in view, so the button at the bottom is there for the keyboard and
    for the 500 chart ceiling rather than for every page.

  • Settings could hang on the two tools it manages. Reading yt-dlp's or ffmpeg's version waited on
    the binary forever, so one that never exited left both rows on their placeholder for the rest of
    the session, and yt-dlp -U on a stalled connection left the Update button disabled with
    nothing to press. The version check now gives up after 5 seconds and the self-update after 2
    minutes, stops the process either way, and says so. A tool that is installed but did not answer
    reads VERSION UNKNOWN rather than NOT INSTALLED, which is what it used to claim about a file
    sitting on disk next to an Update button.

  • Typing in the title bar's search box while Explore had advanced filters applied changed the
    results without searching for what was typed: Chorus Encore's advanced endpoint takes no search
    term, so the term was discarded. Explore's own box knew this and turned itself off; the title
    bar's did not. Now a search term clears the applied filters instead, so both boxes do what they
    look like they do and neither is disabled. Explore says how many filters the search cleared and
    offers to put them back. The panel keeps every field either way, so they are one press of Search
    away whether or not the note is still on screen.

Which file to download

  • Windows: encore-0.3.0-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.0.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.0_amd64.deb.
  • Snap: encore_0.3.0_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.