Comments (9)
Hello,
I have committed some changes to github, are you getting any other errors in MSVC?
nick.
from twolame.
Hi,
To tell the truth, I've done some more fix. The patch is here:
https://sites.google.com/site/qaacpage/cabinet/twolame.2011.01.21.patch?attredirects=0&d=1
Setting stdin/stdout to binary mode is essential for MSVC or MINGW like this:
_setmode(0, _O_BINARY);
MSVC doesn't have unistd.h, therefore dummy(empty) unistd.h is needed somewhere.
MSVC doesn't have getopt, too. I borrowed getopt from BSD implementation.
Finally, I have enabled pipe streaming from stdin with libsndfile.
As far as I know, libsndfile is capable of reading from non-seekable device, and sf_open_fd() is usable for that purpose.
I think, many users want to feed at least WAV files via pipe...
from twolame.
Apparently, my patch is VERY adhoc. If you want to it to be more autotools friendly,
HAVE_UNISTD_H, HAVE_IO_H, HAVE_SETMODE or something would be nicer.
(A bit older) win32 port is also found at here:
http://www.rarewares.org/mp3-others.php
They seem to have dropped libsndfile dependency, and instead have built-in wav parser.
from twolame.
Ok, thanks.
I will try and incorporate some of those changes back into trunk.
An easy to use DLL and a static binary of the frontend would be handy for people.
I don't have Windows, so it will be hard to test.
from twolame.
twolame doesn't seem to compile with mingw.
Is there a patch available?
from twolame.
Sorry, I don't use Windows. If you are able to provide a patch, that would be great.
from twolame.
Regarding MinGW-w64: I managed to compile twolame with GCC 4.5.2, three years ago. But now several .h files have changed (_mingw.h and types.h, minimum, probably crtdefs.h as well), and trying to build even the original 0.3.13 code with GCC 4.8.1 results in a truckload of errors. Since you yourself said you're not much into Windows, I highly recommend that you firstly drop all the MSVC and Windows-related references, because in this way, probably it will be less difficult to adjust the source-code later and make it compatible with the recent editions of MinGW. The files configure.ac and Makefile.am would have to go through some serious rewrite, I presume. Also, I still don't see the point of forcing the dependency on libsndfile onto the command-line frontend.
from twolame.
Now I'm trying to compile the OLD twolame 0.3.13 (from the year 2011) with GCC 4.9.2.
The question now is, where does the stupid ./configure expect to find the libsndfile stuff?
FWIW, libsndfile installed itself on "/local".
P.S.: okay, I just had to add another CPPFLAGS option to the command-line.
However I got a ton of warnings and some fatal errors after calling "make".
I'd better give up.
from twolame.
The above patch link doesn't work anymore, closing this.
If anyone has some improvements for Windows, please raise a Pull Request.
from twolame.
Related Issues (20)
- twolame outputs a file with wrong audio duration HOT 2
- Silence encoding HOT 6
- Obsolete keyword HOT 2
- Cleaning operation HOT 1
- Towards 0.4.0 HOT 5
- Would it make sense to use Exact-width integer types (eg uint16_t)? HOT 1
- Remove deprecated functions HOT 3
- Add twolame_get_extension() and twolame_set_extension() HOT 1
- Update NEWS to include summary of changes in 0.4.0 release HOT 3
- Add instructions for building from Git repo in README file HOT 3
- LT_INIT usage HOT 1
- windows compilation: -no-undefined must be added to LDFLAGS for the creation of the shared library HOT 5
- usage of DLL_EXPORT for symbol visibility is wrong HOT 3
- no rule to make twolame.1 HOT 4
- update automake required version HOT 1
- Release version 0.4.0 HOT 4
- autoreconf instead of autogen.sh HOT 2
- 0.3.13: Test suite is freezing HOT 8
- Add OSS-Fuzz
- Floating point input samples and libsndfile (not a bug)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from twolame.