DjScribbles / GamePipe

An application that automates the movement of Steam games from drive to drive or computer to computer
GNU General Public License v2.0
196 stars 12 forks source link

GamePipe does not work with soundtracks #32

Closed truboxl closed 3 years ago

truboxl commented 3 years ago

Now that soundtracks and music albums have their own AppID, it should technically support moving between directories

However, the soundtracks are located in steamapps/music/<album-name> instead of steamapps/common/<game> like the games, which may explained the 0B size detected

So GamePipe only moves appmanifest*.acf files for the soundtracks but not the soundtrack files and folders

DjScribbles commented 3 years ago

Could you submit an ACF file for a music album, I don't actually have any on my account, but I'd like to get this resolved. Sorry for the delay, this year has been tied up in other projects

truboxl commented 3 years ago

appmanifest_40703.acf

"AppState"
{
    "appid"     "40703"
    "Universe"      "1"
    "LauncherPath"      "C:\\Steam\\steam.exe"
    "name"      "Machinarium Soundtrack + Art Book"
    "StateFlags"        "4"
    "installdir"        "Machinarium Soundtrack + Art Book"
    "LastUpdated"       "1619104632"
    "UpdateResult"      "0"
    "SizeOnDisk"        "1077967878"
    "buildid"       "6276138"
    "LastOwner"     "0"
    "BytesToDownload"       "1082466304"
    "BytesDownloaded"       "1082466304"
    "BytesToStage"      "1077967878"
    "BytesStaged"       "1077967878"
    "AutoUpdateBehavior"        "0"
    "AllowOtherDownloadsWhileRunning"       "0"
    "ScheduledAutoUpdate"       "0"
    "InstalledDepots"
    {
        "40703"
        {
            "manifest"      "5823787490420854023"
            "size"      "164754024"
        }
        "1252270"
        {
            "manifest"      "3836439470630282189"
            "size"      "345533870"
        }
        "1252271"
        {
            "manifest"      "1673301112099907005"
            "size"      "87298928"
        }
        "1252272"
        {
            "manifest"      "1146410626873848002"
            "size"      "431737121"
        }
        "1252273"
        {
            "manifest"      "707233116612077071"
            "size"      "48643935"
        }
    }
    "UserConfig"
    {
        "highqualityaudio"      "1"
        "language"      "english"
    }
}

I rip the LastOwner ID, seems like sensitive information... This one ACF file should cover most soundtrack examples since it includes some of non-soundtrack contents Thanks for taking time to look into this

DjScribbles commented 3 years ago

Ok, so I've found my working state is really messed up on this project (I dropped it pretty hard 5 years ago when Valve steamrolled me on greenlight, as it was difficult to even think about this project for a long time after), would you be willing to clone and test out the most recent commit to see how it works for you?

I'll have to sit down sometime and work-out what the heck is going on in my local-state outside this one change.

truboxl commented 3 years ago

I will check back when I got time And then I need to familiarise with Microsoft tools 😅

DjScribbles commented 3 years ago

Sure thing, I might get to it before then, but I saw you had me forked so I thought I'd mention it 😀

DjScribbles commented 3 years ago

GamePipe_1.0.3_RC.zip

Yeah, so I got to it right away, here's a build candidate, It'd be good if you could confirm that it's working on your music file, I don't have any in my lib aside from one I faked with your ACF.

truboxl commented 3 years ago

Thanks, I probably will take days to setup everything to build lol, VS and C# is still in my TODO learning... I can confirm it works

1.0.2: gamepipe_1 0 2

1.0.3 RC: gamepipe_1 0 3

1.0.3 RC moving: gamepipe_1 0 3_moving

truboxl commented 3 years ago

Oops I guess you can close it once you officially release a new build

EDIT: one quirk I notice that "Run Game" actually lets Steam play the album, so yeah... that works...

DjScribbles commented 3 years ago

Thanks for the testing, I've posted the new release just now so time to close