Giter VIP home page Giter VIP logo

Comments (20)

nvllsvm avatar nvllsvm commented on May 22, 2024 2

Depends - Opus is growing in popularity and FLAC is already popular. I personally use both.

I'd rather us stay on master than downgrade to a six year old version.

from jellyfin.

BnMcG avatar BnMcG commented on May 22, 2024

Removing the ImageMagickSharp and TagLibSharp build configurations is causing problems in #82, where users can't build the solution unless these projects have already been compiled. Not sure why the Docker image still builds successfully, though.

from jellyfin.

BnMcG avatar BnMcG commented on May 22, 2024

So we can specify a framework to build against in the dotnet build command, but because we need to target multiple frameworks (netstandard2.0, netcoreapp2.1), we can't build properly...

Even after specifying netstandard2.0 and running against only taglibsharp.csproj, when you target netcoreapp2.1 and run against the mediabrowser.sln, it doesn't recognise that a netstandard library has already been compiled for taglibsharp and then errors out that there's no netcoreapp2.1 target.

The easy option here is to wait for Mono to release a new taglib-sharp NuGet package, as then we don't need to worry about compiling it at all (thanks @Bond-009 for the suggestion!), but there's been an open issue on this with taglib-sharp for a while now (mono/taglib-sharp#40) without any news.

In the short term I'd recommend forking the taglib-sharp repository into the jellyfin GitHub organisation, updating the csproj in the fork to only target .Net Standard. If/when Mono release a new taglib-sharp NuGet package, we can ditch the fork and move back to the official NuGet package. In the meantime, any updates we need from upstream that aren't released in any new packages can always be merged into the fork easily.

from jellyfin.

JustAMan avatar JustAMan commented on May 22, 2024

@BnMcG it seems to me that forking and fixing is the best we could do now. Would you be able to make it happen? :)

from jellyfin.

BnMcG avatar BnMcG commented on May 22, 2024

@JustAMan, I need somebody with appropriate access to the Jellyfin organisation to fork taglib-sharp into it, @joshuaboniface has said he'll do it at some point today, but if you can make it happen sooner I'm happy to change the csproj and update references in the Jellyfin repository.

from jellyfin.

JustAMan avatar JustAMan commented on May 22, 2024

I do not have enough permissions (and I don't want them now, I have enough on my plate tbh :), so you have to wait for @joshuaboniface

from jellyfin.

nvllsvm avatar nvllsvm commented on May 22, 2024

@joshuaboniface Hold off on action for a bit. I'll try a few things tonight. I'd like to leaving forking as the very last resort.

from jellyfin.

joshuaboniface avatar joshuaboniface commented on May 22, 2024

Ack, will hold off 👍

from jellyfin.

RazeLighter777 avatar RazeLighter777 commented on May 22, 2024

We are not using Mono anymore. Use the Nuget package if you are going to do this. I am working on a pull request now.

from jellyfin.

RazeLighter777 avatar RazeLighter777 commented on May 22, 2024

I managed to build the container successfully. Just use nuget to add the TagLib 2.1 library, and it will build correctly. Do you want me to make a pull request?

from jellyfin.

nvllsvm avatar nvllsvm commented on May 22, 2024

@RazeLighter777 - No, that version apparently is missing a lot of features #41 (comment)

from jellyfin.

RazeLighter777 avatar RazeLighter777 commented on May 22, 2024

@nvllsvm Are those features critical to the project?

from jellyfin.

BnMcG avatar BnMcG commented on May 22, 2024

Is there any progress on this? I still can't build the MediaBrowser solution at the moment.

from jellyfin.

RazeLighter777 avatar RazeLighter777 commented on May 22, 2024

@BnMcG You can build it if you add TagLib 2.1 to the Emby.Photos csproj file with nuget. But apparently that version is outdated (doesn’t support flac or opus) so we are not doing that.

from jellyfin.

BnMcG avatar BnMcG commented on May 22, 2024

I've worked around for now by building taglib-sharp and imagemagicksharp using the CLI, this fails the Net 4.5 compilation but it still compiles the .net standard version first. This seems to work as long as I don't clean the solution, in which case I need to manually re-compile these from the cli again.

from jellyfin.

anthonylavado avatar anthonylavado commented on May 22, 2024

So, in attempting to set up my build environment on macOS (10.14.2, VS 7.7.2), I've noticed I have a variant of this as well.

Visual Studio for Mac comes with Mono, even though it recognizes .NET Core and offers to install it, if you don't have it.

In the default debug configuration for the solution, taglib-sharp isn't marked for building, so I just had to enable it in the Solution Options.

EDIT: I stand corrected, the build failed for Emby.Photos

from jellyfin.

anthonylavado avatar anthonylavado commented on May 22, 2024

So if I copy taglib-sharp.dll from /ThirdParty⁩/taglib-sharp⁩/src⁩/bin⁩/Release⁩/net40 into netstandard20, then the whole build works, because it can now find the DLL it needs with the right target name. I haven't tried the Photos function yet (if that's where this is called), I've only tried streaming a few test clips, but it seems to work. Is there something I can check to make sure Taglib is used?

cc @nvllsvm

(I realize my comments aren't about Docker, but this issue seems to have the current discusssion for Taglib in general.)

from jellyfin.

PrplHaz4 avatar PrplHaz4 commented on May 22, 2024

@anthonylavado taglib is likely used when reading (and maybe writing) metadata to files in your library (select file -> edit metadata)...haven't dove into the source to check yet, however.

from jellyfin.

anthonylavado avatar anthonylavado commented on May 22, 2024

So TagLub has been updated in Beta right now. Would be good to test it

https://www.nuget.org/packages/TagLibSharp

mono/taglib-sharp#138

from jellyfin.

Bond-009 avatar Bond-009 commented on May 22, 2024

Both of the projects in question have been removed.

from jellyfin.

Related Issues (20)

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.