Edit : for working Kdenlive and MLT packages, scroll down to http://www.kdenlive.org/forum/kdenlive-macosx-available-testing#comment-...
**************************************************
I compiled kdenlive on Mac OSX 10.5.6 (ppc)
The compilation of the dependencies worked except for dvgrab (which is linux only because of its libraw1394 dependency?) and frei0r effects.
I used qt4.4.3 (Mac version: no X11) + kde base libraries 4.1.85 (from macports) + the svn versions of ffmpeg (rev 16400) , mlt (rev 1301) and mlt++ (rev 1302).
the kdenlive version is from the KDE4 branch rev 2865.
the compilation worked, but when I start kdenlive it crashes after the initial window where i can set the video resolution and some other presets. The output I get is the following:
$ /opt/local/bin/kdenlive.app/Contents/MacOS/kdenlive
kdenlive(78676)/kdeui (KIconLoader): Error: standard icon theme "oxygen" not found!
QPainter::begin: Cannot paint on a null pixmap
kdenlive(78676)/kdecore (kdelibs) getBundle: getBundle( "/opt/local/lib/kde4/libexec/drkonqi" , false ) called
kdenlive(78676)/kdecore (kdelibs) getBundle: getBundle( "/opt/local/bin/drkonqi" , false ) called
kdenlive(78676)/kdecore (kdelibs) getBundle: getBundle( "/opt/local/bin/drkonqi" , false ) called
kdenlive(78676)/kdecore (kdelibs) getBundle: getBundle( "/opt/local/Trolltech/Qt4.4.3/bin/drkonqi" , false ) called
kdenlive(78676)/kdecore (kdelibs) getBundle: getBundle( "/usr/bin/drkonqi" , false ) called
kdenlive(78676)/kdecore (kdelibs) getBundle: getBundle( "/bin/drkonqi" , false ) called
kdenlive(78676)/kdecore (kdelibs) getBundle: getBundle( "/usr/sbin/drkonqi" , false ) called
kdenlive(78676)/kdecore (kdelibs) getBundle: getBundle( "/sbin/drkonqi" , false ) called
kdenlive(78676)/kdecore (kdelibs) getBundle: getBundle( "/usr/local/bin/drkonqi" , false ) called
kdenlive(78676)/kdecore (kdelibs) getBundle: getBundle( "/usr/X11/bin/drkonqi" , false ) called
kdenlive(78676) MainWindow::parseProfiles: RESULTINGÂ MLT PATH: "/opt/local/share/mlt/profiles/"
kdenlive(78676) initEffects::parseEffectFiles: // INIT EFFECT SEARCH
kdenlive(78676)/kdecore (kdelibs) getBundle: getBundle( "/opt/local/lib/kde4/libexec/ffmpeg" , false ) called
kdenlive(78676)/kdecore (kdelibs) getBundle: getBundle( "/opt/local/bin/ffmpeg" , false ) called
kdenlive(78676)/kdecore (kdelibs) getBundle: getBundle( "/opt/local/lib/kde4/libexec/ffplay" , false ) called
kdenlive(78676)/kdecore (kdelibs) getBundle: getBundle( "/opt/local/bin/ffplay" , false ) called
kdenlive(78676)/kdecore (kdelibs) getBundle: getBundle( "/opt/local/lib/kde4/libexec/recordmydesktop" , false ) called
kdenlive(78676)/kdecore (kdelibs) getBundle: getBundle( "/opt/local/bin/recordmydesktop" , false ) called
kdenlive(78676)/kdecore (kdelibs) getBundle: getBundle( "/opt/local/bin/recordmydesktop" , false ) called
kdenlive(78676)/kdecore (kdelibs) getBundle: getBundle( "/opt/local/Trolltech/Qt4.4.3/bin/recordmydesktop" , false ) called
kdenlive(78676)/kdecore (kdelibs) getBundle: getBundle( "/usr/bin/recordmydesktop" , false ) called
kdenlive(78676)/kdecore (kdelibs) getBundle: getBundle( "/bin/recordmydesktop" , false ) called
kdenlive(78676)/kdecore (kdelibs) getBundle: getBundle( "/usr/sbin/recordmydesktop" , false ) called
kdenlive(78676)/kdecore (kdelibs) getBundle: getBundle( "/sbin/recordmydesktop" , false ) called
kdenlive(78676)/kdecore (kdelibs) getBundle: getBundle( "/usr/local/bin/recordmydesktop" , false ) called
kdenlive(78676)/kdecore (kdelibs) getBundle: getBundle( "/usr/X11/bin/recordmydesktop" , false ) called
kdenlive(78676)/kdecore (kdelibs) getBundle: getBundle( "/opt/local/lib/kde4/libexec/dvgrab" , false ) called
kdenlive(78676)/kdecore (kdelibs) getBundle: getBundle( "/opt/local/bin/dvgrab" , false ) called
kdenlive(78676)/kdecore (kdelibs) getBundle: getBundle( "/opt/local/bin/dvgrab" , false ) called
kdenlive(78676)/kdecore (kdelibs) getBundle: getBundle( "/opt/local/Trolltech/Qt4.4.3/bin/dvgrab" , false ) called
kdenlive(78676)/kdecore (kdelibs) getBundle: getBundle( "/usr/bin/dvgrab" , false ) called
kdenlive(78676)/kdecore (kdelibs) getBundle: getBundle( "/bin/dvgrab" , false ) called
kdenlive(78676)/kdecore (kdelibs) getBundle: getBundle( "/usr/sbin/dvgrab" , false ) called
kdenlive(78676)/kdecore (kdelibs) getBundle: getBundle( "/sbin/dvgrab" , false ) called
kdenlive(78676)/kdecore (kdelibs) getBundle: getBundle( "/usr/local/bin/dvgrab" , false ) called
kdenlive(78676)/kdecore (kdelibs) getBundle: getBundle( "/usr/X11/bin/dvgrab" , false ) called
kdenlive(78676)/kdecore (kdelibs) getBundle: getBundle( "/opt/local/lib/kde4/libexec/inigo" , false ) called
kdenlive(78676)/kdecore (kdelibs) getBundle: getBundle( "/opt/local/bin/inigo" , false ) called
kdenlive(78676)/kdecore (KSycoca) KSycocaPrivate::openDatabase: Trying to open ksycoca from "/Users/dk/Library/Preferences/KDE/cache-powerbook.local/ksycoca4"
kdenlive(78676) Wizard::installExtraMimes: EXTS: ("*.mpe", "*.mpeg", "*.mod", "*.vob", "*.mpg", "*.mp2", "*.ts", "*.mts", "*.m2t")
kdenlive(78676) Wizard::installExtraMimes: INSTALLING NEW MIME TO: "/Users/dk/.local/share/mime/packages/video-mpeg.xml"
kdenlive(78676) Wizard::installExtraMimes: EXTS: ("*.dv")
kdenlive(78676) Wizard::installExtraMimes: INSTALLING NEW MIME TO: "/Users/dk/.local/share/mime/packages/video-dv.xml"
kdenlive(78676) Render::Render: ////////// USINGÂ PROFILE: hdv_1080_50i
kdenlive(78676) Monitor::Monitor: /////// BUILDING MONITOR, ID: 142172304
kdenlive(78676) Render::Render: ////////// USINGÂ PROFILE: hdv_1080_50i
kdenlive(78676) Monitor::Monitor: /////// BUILDING MONITOR, ID: 142190192
kdenlive(78676)/kdecore (kdelibs) getBundle: getBundle( "/opt/local/lib/kde4/libexec/dvgrab" , false ) called
kdenlive(78676)/kdecore (kdelibs) getBundle: getBundle( "/opt/local/bin/dvgrab" , false ) called
kdenlive(78676)/kdecore (kdelibs) getBundle: getBundle( "/opt/local/bin/dvgrab" , false ) called
kdenlive(78676)/kdecore (kdelibs) getBundle: getBundle( "/opt/local/Trolltech/Qt4.4.3/bin/dvgrab" , false ) called
kdenlive(78676)/kdecore (kdelibs) getBundle: getBundle( "/usr/bin/dvgrab" , false ) called
kdenlive(78676)/kdecore (kdelibs) getBundle: getBundle( "/bin/dvgrab" , false ) called
kdenlive(78676)/kdecore (kdelibs) getBundle: getBundle( "/usr/sbin/dvgrab" , false ) called
kdenlive(78676)/kdecore (kdelibs) getBundle: getBundle( "/sbin/dvgrab" , false ) called
kdenlive(78676)/kdecore (kdelibs) getBundle: getBundle( "/usr/local/bin/dvgrab" , false ) called
kdenlive(78676)/kdecore (kdelibs) getBundle: getBundle( "/usr/X11/bin/dvgrab" , false ) called
kdenlive(78676) RecMonitor::RecMonitor: /////// BUILDING MONITOR, ID: 142289808
QStatusBar::insertPermanentWidget: Index out of range (5), appending widget
QStatusBar::insertPermanentWidget: Index out of range (7), appending widget
kdenlive(78676): Shortcut for KAction "monitor_play_zone" "Play Zone" set with QShortcut::setShortcut()! See KAction documentation.
kdenlive(78676): Shortcut for KAction "monitor_loop_zone" "Loop Zone" set with QShortcut::setShortcut()! See KAction documentation.
kdenlive(78676) KdenliveDoc::setProfilePath: KDEnnlive document, init timecode from path: "hdv_1080_50i" , 25
kdenlive(78676) KdenliveDoc::KdenliveDoc: KDEnnlive document, init timecode: 25
kdenlive(78676) Render::setSceneList: // NEW SCENE LIST DURATION SET TO: 0
2009-01-04 02:27:20.641 kdenlive[78676:10b] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Error (1002) creating CGSWindow'
2009-01-04 02:27:20.659 kdenlive[78676:10b] Stack: (
2445684160,
2477638892,
2445683920,
2445683976,
2497987016,
2497982456,
2497133592,
2497131336,
2497130244,
36147820,
36139336,
36103208,
138761172,
138755772,
2993108,
251512,
252920,
380672,
98040,
117804,
60924,
40052
)
Trace/BPT trap
I don't think that the missing Icon theme error is causing the crash. Any ideas what the reason could be?
Does MLT work correctly? Can you play something through inigo (MLT's command line player) ?
To test inigo:
inigo colour:red
Should start a red video, you can also try playing a video:
inigo myvideo.mpg
This seems very interesting. Sorry, cannot help you. Dave runs MacOsX, he might help you. Otherwize, do you have GDB installed on your Mac? Can you run Kdenlive in debug mode?
Could you open a bug on Kdenlive bug tracker. This is the insurance that it will get fixed.
Not to my knowledge, but we are extremely interested in the MacOsX platform. We would love to see kdenlive and MLT on MacPorts. Maybe you could start submitting MLT to MacPorts.
Please fill a bug with or without dgb trace and it will get resolved.
Kind regards, Jean-Michel
i'd also these startup problems. after some reading i found, that SDL is not correct initialized. this hack here allows first to start kdenlive, but with the sdl window in full size extra window.
sdl version is 1.2.13 and ist installed from macports.
i hope this helps first for those, who get the crash direct after starting.
Index: src/main.cpp
===================================================================
--- src/main.cpp (revision 2933)
+++ src/main.cpp (working copy)
@@ -25,8 +25,9 @@
#include <KUrl> //new
#include "mainwindow.h"
+#include <SDL/SDL.h>
-int main(int argc, char *argv[]) {
+int SDL_main(int argc, char *argv[]) {
KAboutData aboutData(QByteArray("kdenlive"), QByteArray("kdenlive"),
ki18n("Kdenlive"), QByteArray("0.7.1"),
ki18n("An open source video editor."),
Index: src/CMakeLists.txt
===================================================================
--- src/CMakeLists.txt (revision 2933)
+++ src/CMakeLists.txt (working copy)
@@ -171,8 +171,9 @@
${LIBMLT_LIBRARY}
${NEPOMUK_LIBRARIES}
${KDE4_KNOTIFYCONFIG_LIBRARY}
+ -lSDLmain -lSDL
)
-
+SET_TARGET_PROPERTIES(kdenlive PROPERTIES LINK_FLAGS -Wl,-framework,Cocoa)
install(TARGETS kdenlive DESTINATION ${BIN_INSTALL_DIR})
install( FILES kdenliveui.rc kdenlive.notifyrc DESTINATION ${DATA_INSTALL_DIR}/kdenlive )
install (FILES kdenlivesettings.kcfg DESTINATION share/config.kcfg)
What happens next? Does Kdenlive work under MacOsX.
yes, if the sdl window is in the monitor instead of an extra window, is look first to work (10.5.6/intel). puting clips in and add filters/transitions works. if we get the window in the monitor on mac os, i could test some more.
one thing i found: the kdenlive setting menu ist not available (maby i forgot some search path for the xml/rc files?)
here a better patch for this, so if anyone can test this patch, i'll commit
Index: src/main.cpp
===================================================================
--- src/main.cpp (revision 2933)
+++ src/main.cpp (working copy)
@@ -26,6 +26,10 @@
#include "mainwindow.h"
+#ifdef __DARWIN__
+#include <SDL/SDL.h>
+#endif
+
int main(int argc, char *argv[]) {
KAboutData aboutData(QByteArray("kdenlive"), QByteArray("kdenlive"),
ki18n("Kdenlive"), QByteArray("0.7.1"),
Index: src/CMakeLists.txt
===================================================================
--- src/CMakeLists.txt (revision 2933)
+++ src/CMakeLists.txt (working copy)
@@ -172,6 +172,10 @@
${NEPOMUK_LIBRARIES}
${KDE4_KNOTIFYCONFIG_LIBRARY}
)
+if (APPLE)
+ find_package(SDL REQUIRED)
+ target_link_libraries(kdenlive ${SDL_LIBRARY})
+endif (APPLE)
install(TARGETS kdenlive DESTINATION ${BIN_INSTALL_DIR})
install( FILES kdenliveui.rc kdenlive.notifyrc DESTINATION ${DATA_INSTALL_DIR}/kdenlive )
I can confirm that this patch resolves a core issue of SDL apps on OS X. I have suggested this elsewhere and you can see this technique used in MLT apps like inigo.
nice, so i'll commit this patch later, since it allows to start kdenlive on mac first.
i saw you used this SDL_main thing in mlt too. but for me the SDL windows (while playing video) is not resizable. so we need to find out how to embed the SDL window (like SDL_WINDOWID under linux) and make it full working under OSX .
which version of SDL you have ? (i had same problems with SDL 1.3)
i use
libsdl @1.2.13_5
and this worked from the begin with mlt and kdenlive, but i think 1.2.13_2 should work also ?
but you have an ppc ? (i have it installed on intel-mac)
So I compiled kdenlive 0.7.3 via a portfile (see attachments), but I've got a problem.
I get the Welcome screen, the checking MLT engine (no libdv), the video standard screen, the additional setting screen, the Checking system screen (ffmpeg only for now) - I click Done.... and nothing. The kdenlive menu doesn't have any entries, doesn't respond to keyboard commands (like quit); just nothing. Please see attached pictures for the limited progress.
The kdenlive portfile has the jog control disabling twice - only one of them works, the other has no effect, but I didn't test which one out (I think the config one works). btw, the "PortGroup kde4 1.0" really does all the work here. I should add that "inigo /some.mpg" played just fine too. This is on Intel.
| Attachment | Size |
|---|---|
| MLT Portfile.txt | 1.24 KB |
| MLT++ Portfile.txt | 865 bytes |
| kdenlive Portfile.txt | 582 bytes |
FYI, MLT changed a lot recently. So, when you try again, please save yourself some time and use this Portfile already well under way and adapted to these changes:
http://trac.macports.org/ticket/18286
Alas, I do not know exactly the problem, but I do believe there will be a problem with embedded the SDL-based video window inside the Qt one on OS X.
I have it working. I can get to the time line and all of that. Make sure to disable all monitors in the view menu. Try the attached portfiles.
I run a Mac Book Pro, Intel. 10.5.7
I updated the kdenlive Portfile to download v0.7.4 . That took care of several errors.
Other things to do....
By using the portfiles you shouldn't have to compile anything manually (i think).
| Attachment | Size |
|---|---|
| Portfile.kdenlive.txt | 583 bytes |
| Portfile.mlt_.txt | 2.34 KB |
Been having some good luck. This is actually the first time I have ever run kdenlive. I'm a regular linux user. I haven't even tried it there yet. Attached are some screen shots. It seems like the 'embedded' monitors don't work so well. Make sure to disable them. You cannot resize the free floating monitor. I haven't tested much yet, but I can do Titles and generate noise. The audio in the shot is from an mp4 file. Gain automation works!
Sorry if everybody already knows all this already.
Congratulations.
These are great news.
I don't have access to a Mac any longer.
Would someone here be interested in becoming MacPorts maintainer for these two packages?
Could you get in touch with MacPorts and commit these MLT and Kdenlive port files?
By the way, mkisofs is part of cdrtools.
qdvdauthor is part of MacPorts.
Maybe you could add them to dependencies to ease installation.
You can use:
depends_run cdrtool \
qdvdauthor
Bye and congrats!
Here is the MacPorts status :
* MLT was posted by Dan here: http://trac.macports.org/ticket/18286
* Kdenlive: https://trac.macports.org/ticket/19897
I hope that the build dependencies are enough. I had no building environment to verify. I removed the ffmpeg dependency in Kdenlive as it is included in MLT.
I contacted the MacPorts developers on the ML. Do not hesitate to test these two packages and propose enhancements on MacPorts trac.
Great news: MLT and Kdenlive is now part of MacPorts.
Looking at the screenshot, it seems that the monitor is broken. Is this for lack of proper GLX support in Mac OS X? Dan, what do your think of that? Do you have the same problem under MacOsX?
More good news...
Nearly all of the known rough spots have been resolved - at least enough to let others start using it. Now, I just need to do a little cleanup, port the changes to the latest version of the code, and commit it. We should be able to have an officially working version for the next releases of MLT and Kdenlive!
I have committed the changes to MLT and Kdenlive to make the first real usable version for OS X! It does require OpenGL, and at this time I only expect it to work on Intel architecture machines.
I'm very interested in the development of KDENLIVE on the PPC Architecture. I've installed from macports yesterday, and have tried macports update/outdated, etc. But I am having no luck getting past the introduction and the last window to show was a window with the heading Melt
I would like to contribute to the testing of the project and hopefully learn some more along the way.
What can I do to help run beta release source?
I am getting hung with the same exceptions as other threads with the macports pkgs.
Suggestions for a start?
I would not describe the way to build kdenlive with all dependencies bottom-up from source to be fine considering all of the pitfalls. Something changed on my OS X, and it is all screwed up now with architecture during linkage affecting my ability to build newer versions of MLT or kdenlive. I am going to have to completely uninstall and reinstall my ports, which is going to suck. So, if you feel comfortable distributing binaries, feel free to. Just be very clear it is for PPC. I did not know about mpkg - interesting way to let me share this with friends once I get it working again.
Frankly, I was stunned at the length of the install because I was not prepared for the build for each of the dependencies, I thought that the installation would take at the most 4 hours and I waited an entire 24 before giving it quits and trying to sleep.
The next day my friend reminded me that QT was 2G of source...
If there are PPC packages of kdenlive, I could test them with my powermac g5...
We do not provide binary packages for OS X (or any OS for that matter). You must use macports.



Sorry I did not try that before. inigo with the red screen works
but playing a movie exits with an segmentation fault/bad memory access:
(output of inigo running in gdb):
2009-01-04 11:07:47.872 inigo[261:813] Warning once: This application, or a library it uses, is using NSQuickDrawView, which has been deprecated. Apps should cease use of QuickDraw and move to Quartz.
+-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+
|1=-10| |2= -5| |3= -2| |4= -1| |5= 0| |6= 1| |7= 2| |8= 5| |9= 10|
+-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+
+---------------------------------------------------------------------+
| H = back 1 minute, L = forward 1 minute |
| h = previous frame, l = next frame |
| g = start of clip, j = next clip, k = previous clip |
| 0 = restart, q = quit, space = play |
+---------------------------------------------------------------------+
Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0xea80ea80
[Switching to process 261 thread 0x4503]
0x937541b4 in pthread_mutex_lock ()
I compiled mlt with:
export CFLAGS='-I/opt/local/include/ -I/opt/local/Trolltech/Qt4.4.3/include '
export LDFLAGS='-L/opt/local/lib -L/opt/local/Trolltech/Qt4.4.3/lib '
./configure --prefix=/opt/local --enable-gpl --qimage-libdir=/opt/local/Trolltech/Qt4.4.3/lib --qimage-includedir=/opt/local/Trolltech/Qt4.4.3/include/Qt --avformat-swscale
make
At some point the make process finished with an error. -lQtCore was missing to get QMutex library functions. This problem was only at one file (I can't remember the file at which the error occured). I linked this one manually and then repeated make. Maybe this one is the reason for the segmentation fault?
make install