Giter Site home page Giter Site logo

m4acut's People

Contributors

darealshinji avatar nu774 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

m4acut's Issues

Time incorrect in large files with many chapters

When I use m4acut on a large file with a lot of chapters everything looks & plays fine. But if I concatenate the files with mp4box the timing is wrong. The total time for all the chapters is longer than the original file. It shows the correct number of chapters but when I play it starts in the middle of a chapter. When I concatenate the same files with ffmpeg I get a message like this for every track:

ct timestamps in the output file.
[ipod @ 00000000004f7200] Non-monotonous DTS in output stream 0:0; previous: 2222166728, current: 2222164600; changing to 2222166729. This may result in incorrect timestamps in the output file.

After concatenating with ffmpeg it does play ok. All chapters start at the beginning. Mp4box works fine on original qaac encoded files just not on a m4a split with m4acut. FFmpeg does not give the message on original qaac encoded files either.

lsmash_get_movie_parameters(mov, &m_input.movie_params)

Hello -- I am using m4acut with a cue file and get the following output with no files generated, and no error. I am using lsmash from March 5, 2017 commit on github.

m4acut -C xxx.cue file.m4a
lsmash_get_movie_parameters(mov, &m_input.movie_params)

l-smash is disabled on homebrew

Upon getting below from ./configure

configure: error: L-SMASH version 1.10.0 or greater required

I had to install l-smash on my Mac. Then, it turned out that l-smash is disabled and unmaintained for some reason since Dec. 2020.

To download l-smash, you just need to brew edit l-smash and comment out the !disable line.
For m4acut, this worked well and m4acut worked fine (I tested the chapter mode only). Thanks.

Linux build fails

Compilation on Linux fails. Here's the complete output:

djcj: m4acut-master $ ./configure 
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking whether g++ supports C++11 features by default... no
checking whether g++ supports C++11 features with -std=c++11... yes
checking how to run the C++ preprocessor... g++ -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for stdint.h... (cached) yes
checking for _vscprintf... no
checking for getopt_long... yes
checking for struct __timeb64... no
checking for library containing lsmash_get_tyrant_chapter... -llsmash
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for shared library run path origin... done
checking for iconv... yes
checking for working iconv... yes
checking for iconv declaration... 
         extern size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating config.h
config.status: executing depfiles commands
djcj: m4acut-master $ LANG=C make
make  all-am
make[1]: Entering directory `/home/djcj/Downloads/m4acut-master'
depbase=`echo src/M4ATrimmer.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
    g++ -DHAVE_CONFIG_H -I.     -g -O2 -std=c++11 -MT src/M4ATrimmer.o -MD -MP -MF $depbase.Tpo -c -o src/M4ATrimmer.o src/M4ATrimmer.cpp &&\
    mv -f $depbase.Tpo $depbase.Po
depbase=`echo src/MP4Edits.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
    g++ -DHAVE_CONFIG_H -I.     -g -O2 -std=c++11 -MT src/MP4Edits.o -MD -MP -MF $depbase.Tpo -c -o src/MP4Edits.o src/MP4Edits.cpp &&\
    mv -f $depbase.Tpo $depbase.Po
depbase=`echo src/StringConverterUTF8.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
    g++ -DHAVE_CONFIG_H -I.     -g -O2 -std=c++11 -MT src/StringConverterUTF8.o -MD -MP -MF $depbase.Tpo -c -o src/StringConverterUTF8.o src/StringConverterUTF8.cpp &&\
    mv -f $depbase.Tpo $depbase.Po
depbase=`echo src/cuesheet.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
    g++ -DHAVE_CONFIG_H -I.     -g -O2 -std=c++11 -MT src/cuesheet.o -MD -MP -MF $depbase.Tpo -c -o src/cuesheet.o src/cuesheet.cpp &&\
    mv -f $depbase.Tpo $depbase.Po
depbase=`echo src/main.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
    g++ -DHAVE_CONFIG_H -I.     -g -O2 -std=c++11 -MT src/main.o -MD -MP -MF $depbase.Tpo -c -o src/main.o src/main.cpp &&\
    mv -f $depbase.Tpo $depbase.Po
depbase=`echo src/StringConverterIConv.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
    g++ -DHAVE_CONFIG_H -I.     -g -O2 -std=c++11 -MT src/StringConverterIConv.o -MD -MP -MF $depbase.Tpo -c -o src/StringConverterIConv.o src/StringConverterIConv.cpp &&\
    mv -f $depbase.Tpo $depbase.Po
src/StringConverterIConv.cpp: In member function 'virtual std::pair<bool, std::basic_string<char> > StringConverterIConv::convert(const string&, bool)':
src/StringConverterIConv.cpp:30:13: error: 'ptrdiff_t' was not declared in this scope
             ptrdiff_t off = op - dest.data();
             ^
src/StringConverterIConv.cpp:30:13: note: suggested alternatives:
In file included from /usr/include/c++/4.8/bits/stl_algobase.h:59:0,
                 from /usr/include/c++/4.8/vector:60,
                 from src/StringConverterIConv.cpp:1:
/usr/include/x86_64-linux-gnu/c++/4.8/bits/c++config.h:187:28: note:   'std::ptrdiff_t'
   typedef __PTRDIFF_TYPE__ ptrdiff_t;
                            ^
/usr/include/x86_64-linux-gnu/c++/4.8/bits/c++config.h:187:28: note:   'std::ptrdiff_t'
src/StringConverterIConv.cpp:30:23: error: expected ';' before 'off'
             ptrdiff_t off = op - dest.data();
                       ^
src/StringConverterIConv.cpp:32:35: error: 'off' was not declared in this scope
             op    = dest.data() + off;
                                   ^
src/StringConverterIConv.cpp:43:5: error: 'ptrdiff_t' was not declared in this scope
     ptrdiff_t off = ip - m_remainder.data();
     ^
src/StringConverterIConv.cpp:43:5: note: suggested alternatives:
In file included from /usr/include/c++/4.8/bits/stl_algobase.h:59:0,
                 from /usr/include/c++/4.8/vector:60,
                 from src/StringConverterIConv.cpp:1:
/usr/include/x86_64-linux-gnu/c++/4.8/bits/c++config.h:187:28: note:   'std::ptrdiff_t'
   typedef __PTRDIFF_TYPE__ ptrdiff_t;
                            ^
/usr/include/x86_64-linux-gnu/c++/4.8/bits/c++config.h:187:28: note:   'std::ptrdiff_t'
src/StringConverterIConv.cpp:43:15: error: expected ';' before 'off'
     ptrdiff_t off = ip - m_remainder.data();
               ^
src/StringConverterIConv.cpp:44:9: error: 'off' was not declared in this scope
     if (off == m_remainder.size())
         ^
make[1]: *** [src/StringConverterIConv.o] Error 1
make[1]: Leaving directory `/home/djcj/Downloads/m4acut-master'
make: *** [all] Error 2

Split by dir

Is it possible to split files to a separate directory?

Eg. I have a folder with podcasts (POD1.m4a, POD2.m4a etc), and I want to split the entire dir (perhaps with a simple batch for loop), but can I set the output folder? So like this:

POD1/01 First track.m4a
POD1/02 Second track.m4a
POD2/01 First track.m4a

Instead of all in the same folder.

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.