smallstepforman / Medo

Haiku Media Editor
MIT License
147 stars 6 forks source link

List soxr and freetype devel as dependancies #1

Closed ahwayakchih closed 3 years ago

ahwayakchih commented 3 years ago

I had to add them along with ffmpeg devel to build the project (using cmake+make).

humdingerb commented 3 years ago

It's a nice idea to put the command line to install all build dependencies in the Readme:

pkgman install ffmpeg_devel soxr_devel freetype_devel

(I may have had additionally needed dependencies already intalled, so you may want to check with a clean Haiku install. At the latest, all needed build deps will come out when doing the recipe. :)

I used the "jam" route to build. Unfortunately, building leaves quite a few files around even after a "clean_all". This makes sending PRs cumbersome. I'm not familiar with Jam, but maybe it could use "objects" folders that can be added to .gitignore?

ahwayakchih commented 3 years ago

@humdingerb cmake+make path keeps created files in a subfolder, so just jam part would need improvement in this area.

Adding pkgman command to README is a nice idea, but maybe it could even be part of a build script instead? Or a separate "install_build_dependencies" script.

smallstepforman commented 3 years ago

The latest commit removes the dead reference to soxr. In the early days of Medo, it used the soxr resampler but that produced unacceptable quality when dealing with non sequential audio buffers. Its a great resampler when streaming, but with video editing there is no guarantee that the resampler will receive a future audio buffer (it buffers samples to improve sampling quality). It was just easier to switch to the ffmpeg resampler since the buffer could be flushed every iteration. I removed dependancy on the soxr lib, but missed a single header include. That has now been removed, and the dependancy on soxr is no more :)

Regarding ffmpeg-devel package, I do specify it in the Readme.md :)

ahwayakchih commented 3 years ago

@smallstepforman yes, but freetype_devel is still missing. Without it, project did not want to compile. I'm guessing it's used for text-based effects, and/or custom UI?