PDA

View Full Version : Building TyStudio on MacOS X 10.3 and XTools



Numbski
02-01-2005, 02:40 PM
I've read numerous reports and experienced first hand that Tyeditor crashes halfway through loading a .ty file for edited, and on the console it claims 'Bus Error'.

Huh. So off to compile it. I got the latest cvs sources. There was an error in the bottom of the Makefile that had forgotten to close some quotes, and I commented out the check for Developer's Tools, as for some reason it reports that I don't have a new enough version, when I really have newer.

Also, need to edit ./tymplex/Makefile at the top.

MJPEG = needs to point to the real location of mjpeg_play.

I extracted all of this to /usr/local/src, so /usr/local/src/mjpeg_play and /usr/local/src/tydemux-beta2 are where the sources are.

MJPEG = ../../mjpeg_play


cd /usr/local/src/tydemux-beta2
make

lotsa lines, then it dies:



g++ -pthread -o typrocess typrocess.o main.o ../tymplex/libtymplex.a ../libs/libthreadlib.a ../tytranscode/libtytranscode.a ../tydemux/libtydemux.a ../libs/mpeg2dec/libvo/libvo.a ../libs/mpeg2dec/libmpeg2/.libs/libmpeg2.a ../liba52/liba52.a
g++: unrecognized option `-pthread'
ld: warning table of contents of library: ../tytranscode/libtytranscode.a not sorted slower link editing will result (use the ranlib(1) -s option)
ld: Undefined symbols:
_mjpeg_default_handler_verbosity
_mjpeg_error
_mjpeg_error_exit1
_mjpeg_info
_mjpeg_log_set_handler
_mjpeg_debug
_mjpeg_warn
_mjpeg_log
_mpeg_aspect_code_definition
_mpeg_framerate
_mpeg_num_aspect_ratios
_mpeg_num_framerates
make[1]: *** [typrocess] Error 1
make: *** [typrocess] Error 2


I'm still trying to decide if this is a problem with mjpeg_play or with the main sources. I'm a perl coder, not c, so this is still a bit foreign to me, albeit I can pick it apart to a certain degree, I'm not sure what ld is whining about here.

Numbski
02-01-2005, 03:23 PM
Looks like the compile is working along now. Yeesh what a mess.

So far, here's what I've had to do to get this to fly:

Fink needed glibtool, which installs to /sw/bin. /sw/bin needs to be first in your path. Then you need to create a symlink of glibtool called libtool in the same directory.

Then, download the latest source tarballs of both mjpeg_play and tystudio.

Next, get the latest cvs sources of each, but DO NOT have cvs updated the tarballs you just downloaded.

Unpack the tarballs, then copy the contents of the cvs files into the original tarball directories. I know that sounds tricky, but for whatever reason doing a cvs update wipes out important files.

You'll also need sdl from fink. I'm not sure what else, I've built numerous packages on this box, so there may be requirements from fink that I'm not aware of. In any case I'm not done building yet. I'll let you know how it goes.

Numbski
02-01-2005, 03:50 PM
Just a few more things I've had to do to keep this moving.

ranlib ./libs/libthreadlib.a
ranlib -s ./tytranscode/libtytranscode.a
ranlib ./liba52/liba52.a

(Not certain why this is needed.)


Also, inside the ./tyeditor/Makefile, down at the bottom of the variables, the

UIC = (QTDIR)/bin/uic

Is incorrect. In fink, this is /sw/bin/uic.

UIC = /sw/bin/uic

RANLIB (on my system) was left blank. I filled that in with /usr/bin/ranlib.

Now I'm getting dumped with even more errors from mjpeg:



make -C tymplex
g++ -c -pipe -g -O -Wall -W -DQT_NO_DEBUG -DHAVE_CONFIG_H -I. -I../include -I../../mjpeg_play/utils -I../../mjpeg_play/mplex -o ../../mjpeg_play/mplex/vector.o ../../mjpeg_play/mplex/vector.cpp

[Had to chop out a bunch of the error lines due to board rules.]

../../mjpeg_play/mplex/vector.cpp:13: error: class `AUStream' does not have any
field named `buf'
../../mjpeg_play/mplex/vector.cpp: At global scope:
../../mjpeg_play/mplex/vector.cpp:18: error: `Aunit' was not declared in this
scope
../../mjpeg_play/mplex/vector.cpp:18: error: `rec' was not declared in this
scope
../../mjpeg_play/mplex/vector.cpp:19: error: variable or field `init' declared
void
../../mjpeg_play/mplex/vector.cpp:19: error: `int AUStream::init' is not a
static member of `class AUStream'
../../mjpeg_play/mplex/vector.cpp:19: error: syntax error before `{' token
../../mjpeg_play/mplex/vector.cpp:22: warning: ISO C++ forbids declaration of `
cur_wr' with no type
../../mjpeg_play/mplex/vector.cpp:22: error: conflicting types for `int cur_wr'
../../mjpeg_play/mplex/vector.hpp:69: error: previous declaration as `unsigned
int cur_wr'
../../mjpeg_play/mplex/vector.cpp:22: error: `BUF_SIZE' is not a member of type
`AUStream'
../../mjpeg_play/mplex/vector.cpp:23: warning: ISO C++ forbids declaration of `
cur_rd' with no type
../../mjpeg_play/mplex/vector.cpp:23: error: redefinition of `int cur_rd'
../../mjpeg_play/mplex/vector.hpp:38: error: `int cur_rd' previously defined
here
../../mjpeg_play/mplex/vector.cpp:24: error: parse error before `}' token
{standard input}:47:FATAL:Symbol _cur_rd already defined.
make[1]: *** [../../mjpeg_play/mplex/vector.o] Error 1
make: *** [tymplex] Error 2


I guess it's time for me to go work on mjpeg for a while. :\

DonovansBrain
02-02-2005, 12:07 PM
Just so you feel that you're not talking to yourself....

I was playing around with building TyStudio on my iBook over Christmas. I wanted to debug typrocess so I decided to see if I could convert the whole lot into an Xcode project.

I managed to do it, and learnt a lot about how Xcode projects containing multiple targets work. I wasn't really trying to be neat about the whole thing, I was just hacking around at my parents' place, so I'm not sure what I did would be useful. Some of the stuff you had to do doesn't sound familiar, but then you were working from the cvs source so maybe it's changed.

I got the impression that tystudio might be better off not keeping dozens of 'standard' video libs in its own source tree, but referencing them from fink or darwinports. But maybe they hacked them a lot so they're too different? I didn't look into that.

[oh yeah, and I now have a Mac mini at home that I can access via ssh and vnc from work so I may play around building stuff on my home machine while I'm waiting for builds at work :) Almost got TyStreamer 1.0 working, but the stream stalls almost immediately from work]

Paul

Numbski
02-02-2005, 12:17 PM
We're in almost the same boat. I have an overclocked iMac 800mHz running at 900 at home that I'm ssh'ing into.

I'm getting ready to head to a client site now, but I'll try to work on this a bit later.

Makes me wish that I had taken some C in college. Ugh, self-taught perl coder here. :\

burbinator
02-02-2005, 03:48 PM
Numbski, thanks for trying to build these. I never had any luck with tystudio for OS X and threw up my arms after tyeditor kept seg faulting and typrocess failed to properly demux .ty files. And I don't think this is an OS X issue. I sent a .ty file to one of my friends with a PC, and his tyeditor also failed at 49% when trying to convert. I am more in the mplayer / mencoder camp now, as those tools seem more robust with respect to the intricacies of the .ty format.

aersloat
02-03-2005, 05:15 AM
It would be great if someone with some c skills would set up and maintain a fink package for tystudio. If I had an iota of coding ability I would do it. As it is tystudio runs very well on my TiBook except that I usually lose audio synch if I make an edit anywhere except the beginning and end. To that end I have just started trying to use Capty MPEG edit to do the editing. Not far enough along yet to see what the results will be. Figuring out the user interface is trial and error- non-localized japanese program.

burbinator
02-05-2005, 08:57 PM
The problem of making tystudio fink-able is that you would also need to make a very ugly dependent library mjpeg fink-able and then resolve whatever it depends on as well...

jasch
02-05-2005, 10:20 PM
I would be happy if we had TyTool for OSX... that way I could extract in MPG directly to my mac.

stealthdave
03-01-2005, 03:59 AM
I am able to compile most of tystudio, but nothing that requires typrocess. This includes tydemux, tymplex, tyls, tycat, tytranscode, and tychopper but not tyeditor or, obviously, typrocess. I used the latest tar ball (but not cvs) and the mjpeg_play tar ball. I edited tymplex/Makefile and changed the MJPEG line to:


MJPEG = ../mjpeg_play
and moved the mjpeg_play folder from the tar ball into the tydemux-beta2 folder. I ran "make" once and let it get as far as it could. Then I manually ran the following:


$ make tydemux
$ make tymplex
$ make tychopper
Then I tried running "make typrocess", which dies at the following:


make -C typrocess
g++ -pthread -o typrocess typrocess.o main.o ../tymplex/libtymplex.a ../libs/libthreadlib.a ../tytranscode/libtytranscode.a ../tydemux/libtydemux.a ../libs/mpeg2dec/libvo/libvo.a ../libs/mpeg2dec/libmpeg2/.libs/libmpeg2.a ../liba52/liba52.a
g++: unrecognized option `-pthread'
ld: Undefined symbols:
_mjpeg_default_handler_verbosity
_mjpeg_error
_mjpeg_error_exit1
_mjpeg_info
_mjpeg_log_set_handler
_mjpeg_debug
_mjpeg_warn
_mjpeg_log
_mpeg_aspect_code_definition
_mpeg_framerate
_mpeg_num_aspect_ratios
_mpeg_num_framerates
make[1]: *** [typrocess] Error 1
make: *** [typrocess] Error 2
Not sure where to go from here; Numbski's tips don't seem to work for me. Has anyone else had any success in compiling?

stealthdave
03-10-2005, 05:15 PM
Well, it's not an Xcode project, but I cleaned up the TyStudio source code well enough to compile it on OS X! You can read all the gory details in the Extraction forum at http://dealdatabase.com/forum/showthread.php?p=214684.

A couple of notes on some of the problems that I ran into. The biggest issue that I came across was that all of the tar-balls available for download from the dvd-create web site (TyStudio's home page) had leftover binary files from test builds, specifically the mjpeg_play folder. Once I went in and did a "make clean", things ran much smoother! I did a more intensive manual cleanup (deleting libraries, binary files, etc.), and got about 80% of it to build. What was left was tyeditor and all of its Qt requirements.

tyeditor turned out to be a little more difficult. I needed to update the Makefile, which at the time I didn't know was being dynamically generated by qmake and tyeditor.pro. I added $(QTDIR)/include/qt to the include path and that got me about 96% there. The rest was a mac-specific change (something about -rpath which turned out to not be necessary for the Linux build either) and changing the qt lib to qt-mt (multi-threaded). This does mean that the current build requires multi-threaded libs, but I think that's better than it was (requiring non-mt libs) since mt libs seem to be more common. Adding a check for this would probably be a better solution.

The link to the source code is http://wiskars.com/tystreamer/source/tystudio-0.5.1-beta1.tar.bz2. For those OS X developers with ambition, I was able to successfully compile TyStudio against Qt-Mac found here (http://naranja.umh.es/~atg/). It actually worked quite nicely, except that it couldn't hold focus and thus couldn't open any tystreams. :( Perhaps someone with more application building experience on the mac can create a nice .app bundle for TyStudio. :)

DonovansBrain
03-12-2005, 08:17 AM
Thanks for that Dave. As I said previously in this thread, I started sorting tystudio out over Christmas, but got distracted and never finished ;-)

FYI, I've built your source using the qt3-aqua package from darwinports. It doesn't need any X11 stuff if you use that, and you get a reasonable looking Aqua interface. Well, it's not great but...

As for losing focus, I googled and found that answer. It's definitely related to it not being in an App bundle. It seems that OS X doesn't send event messages properly to apps that aren't in a bundle.

I've attached a simple bundle that I made. You'll have to replace TyEditor.app/Contents/MacOS/tyeditor with the one you've built.

I attempted to get an app bundle icon working, but it hasn't appeared yet (I haven't logged out to refresh the Finder). Someone could have a look at Contents/Resources/tyeditor.icns - I don't think I made it properly.

Numbski
03-12-2005, 12:45 PM
Hey Donovan, take a look over on his building thread. I've posted all sorts of details on trying to fix things up and get them working. Perhaps you could lend a hand there?

stealthdave
03-13-2005, 07:38 PM
A stand-alone .app bundle for TyStudio 0.5.1 is now available:

http://www.wiskars.com/tystreamer/bin/TyStudio_0.5.1.dmg

Thanks to DonovansBrain for getting things rolling on that. I'm posting here first because I've had a few segfaults which may be a result of how the stream was downloaded. (TyStreamer seems a little fussy about that.) The app bundle includes the libqt-mt lib, so it should work without any additional libs. If testing goes well, I'll announce it in the other forum.

- Stealth Dave

jasch
03-13-2005, 07:58 PM
What are the requirements for running this? I am trying to execute TyEditor on OSX 10.3.8 with 768mb of RAM, and it does nothing.... no window, no errors. Any libraries I need?

Thanks

stealthdave
03-13-2005, 10:43 PM
What are the requirements for running this? I am trying to execute TyEditor on OSX 10.3.8 with 768mb of RAM, and it does nothing.... no window, no errors. Any libraries I need?

Thanks
Hmmm, that's unfortunate. The whole idea behind the app bundle was that you didn't need any other libraries. I just uploaded a new bundle to try and fix it, but I have a feeling that it won't. Let's give it a shot, anyways, eh?

Numbski
03-14-2005, 12:42 AM
Does this include the patch that (supposedly) fixes S2 stream indexing?

BTW...runs perfectly here. :) Still dies loading an unindexed S2 stream at 49%.

jasch
03-14-2005, 09:24 AM
Hmmm, that's unfortunate. The whole idea behind the app bundle was that you didn't need any other libraries. I just uploaded a new bundle to try and fix it, but I have a feeling that it won't. Let's give it a shot, anyways, eh?

It didn't run either. I'll try on my other MAC and let you know.

stealthdave
03-14-2005, 01:24 PM
Does this include the patch that (supposedly) fixes S2 stream indexing?

BTW...runs perfectly here. :) Still dies loading an unindexed S2 stream at 49%.
Nope, I did not include those patches because I thought that you had posted that they don't work. I'll try including them in the next test release.

btw, do you have Qt/Mac libraries installed? I inlcuded the Qt library with the app bundle, and I'm wondering if it's either not seeing the included library or if I'm missing a library that you have that jasch doesn't.

- Stealth Dave

Numbski
03-14-2005, 01:38 PM
Nope, no special libraries here. To be sure, I tried on both my OC'ed iMac and my Powerbook. Same results. Looks like the UI could be tweaked just a touch to make it more readable, but aside from that it's identical to the X11 version.

Oh, and it doesn't like if you close the window rather than Quitting the App. It crashes badly then. All of that is minimal UI tweaking and nothing major though.

It's a shame all of ChrsTurbo's contact info is out of date. He could really contribute to this. :\

jasch
03-14-2005, 02:16 PM
It didn't run either. I'll try on my other MAC and let you know.

On my Mac mini worked... on my ibook it didn't

Numbski
03-14-2005, 02:29 PM
Are we all running the same OS revision? I'm running 10.3.8 on both with XCode tools installed.

stealthdave
03-14-2005, 02:33 PM
On my Mac mini worked... on my ibook it didn't
That's a start. :) What do you have on your Mac mini that you don't have on your iBook? Fink? Darwin-ports? Xcode? There's obviously a library missing somewhere, and I'd like to find it so that others don't run into this problem.

jasch
03-14-2005, 02:33 PM
Are we all running the same OS revision? I'm running 10.3.8 on both with XCode tools installed.

10.3.8 on both my Macs. No XCode installed on them currently (Had XCode on the Ibook several weeks ago, but I deleted the files... anyway, it's in that computer that TyEdit does not run).

jasch
03-14-2005, 02:34 PM
Come to think of it, I do have X11 installed on the Mac mini...

stealthdave
03-14-2005, 03:59 PM
Come to think of it, I do have X11 installed on the Mac mini...
AHA!!! That just might be the problem! In theory, all of the X11 calls should have been contained within the Qt code, but they may have slipped one in there somewhere. I'll see what I can find.

In the mean time, I put up a new build:

http://www.wiskars.com/tystreamer/bin/TyStudio_0.5.1-b2.dmg

It includes the patches for S2, and I updated the mips-installer for S2 Tivo as well to include your updated tyindex. Please test that for me to make sure that it works.

stealthdave
03-14-2005, 04:12 PM
Now that we've made TyStudio buildable, what do we do now? Do we have enough hard-core developers to try and rekindle this project? There are quite a few bugs that need to be squashed that were never really dealt with in the initial release, including but not limited to:


2G file-size limit
tytranscode on OS X doesn't appear to work
general suckiness of typrocess (the damn thing never works for me)
better S2 support

I'd be more than happy to set up a new Sourceforge project (I don't think we can get ahold of the original maintainers anymore) to get CVS access and bug reporting, but I'm not enough of a developer to do more than tracking down compiler bugs, etc. I'm pretty good at project management (at least in my mind ;) ), but I don't know C/C++.

If we can get enough developer interest, we can set up some long and short term goals and actually start advancing the project.

- Stealth Dave

jasch
03-14-2005, 04:30 PM
It includes the patches for S2, and I updated the mips-installer for S2 Tivo as well to include your updated tyindex. Please test that for me to make sure that it works.

My ibook is at home. I'll try it out in a couple of hours.

BTW, how come I can read the Now Showing list from TyTool in a PC, but not from TyEdit on the Mac?

Will tserver work, or I need to run vserver as well? (I'm used to just extracting video on my PC, without need to edit it).

stealthdave
03-14-2005, 04:56 PM
My ibook is at home. I'll try it out in a couple of hours.

BTW, how come I can read the Now Showing list from TyTool in a PC, but not from TyEdit on the Mac?

Will tserver work, or I need to run vserver as well? (I'm used to just extracting video on my PC, without need to edit it).
Nope, you need to use tyserver, which is yet another server tool. Binary installers for both S1 and S2 TiVos are included in the latest Mac beta, linked above. Just copy the file to your TiVo (in binary mode) and load it with BASH:

$ sh tyserver.yourarc.sh
The S2 stuff is still experimental, so caveat emptor. I don't think it will damage anything, but it may not work all that well. (Read all about the 49% errors in other threads.)

Also, if you haven't installed X11 on your iBook, hold off on doing that (if you were planning to at all.) I'd like to try and weed out that requirement, and I don't know anyone else who doesn't have X11 installed. :)

Thanks,
- Stealth Dave

jasch
03-14-2005, 04:58 PM
Also, if you haven't installed X11 on your iBook, hold off on doing that (if you were planning to at all.) I'd like to try and weed out that requirement, and I don't know anyone else who doesn't have X11 installed. :)

No problem. I wasn't planning to.

BTW, I really miss doing DVDs with my PC. With TyTool i was able to d/l 4 hours of video (about 4gb) from my DTIVO, and burn 1-hr 4 episodes on 1 DVD.

Now using any Mac authoring tools, I am limited to 2 hours of video. bummer.

stealthdave
03-14-2005, 08:12 PM
Jasch, please test this build:

http://www.wiskars.com/tystreamer/bin/TyStudio_0.5.1-b3.dmg

I think that I was able to build without any X11 dependencies. Please test at your convenience.

As for Mac authoring tools, have you tried Sizzle? It uses dvdauthor which is the same tool that TyTool uses. You should be able to get the same ammount of programming on your DVDs as you did with TyTool. Sizzle is also a little more flexible with its menues, but doesn't have the templating capabilities of TyTool. You'll have to do a web search for it as the home page seems to have disappeared. :(

jasch
03-14-2005, 08:18 PM
This one works fine on my ibook... Altough I encountered another problem. While I was able to get the Now Playing List (after I installed tyserver on my tivo), I can't get any programs. It stays on the 'copying file from tivo' window. the progress bar does nothing.

jasch
03-14-2005, 09:09 PM
As for Mac authoring tools, have you tried Sizzle? It uses dvdauthor which is the same tool that TyTool uses. You should be able to get the same ammount of programming on your DVDs as you did with TyTool. Sizzle is also a little more flexible with its menues, but doesn't have the templating capabilities of TyTool. You'll have to do a web search for it as the home page seems to have disappeared. :(

This one?

http://osx.freshmeat.net/projects/sizzle-dvd/

stealthdave
03-14-2005, 09:50 PM
This one works fine on my ibook... Altough I encountered another problem. While I was able to get the Now Playing List (after I installed tyserver on my tivo), I can't get any programs. It stays on the 'copying file from tivo' window. the progress bar does nothing.
Try downloading programs that have been fully "indexed" on your Tivo. Someone (Numbski?) noted that you can only fetch indexed programs from S2 Tivos. If you just installed the server program, you may need to wait until it has indexed some of the programs, it can take a while.

See if that works. I believe that Numbski is working on the issue, or trying to contact someone who can.

jasch
03-14-2005, 11:53 PM
Well, I managed to get the Ty's. But after download finished, TyEditor crashes.

I reload and try to load the Ty directly from disc, same results after it indexes the video.

Numbski
03-15-2005, 12:10 AM
You have to run tyindex server side. Then get from now showing, do not download to disk first.

In the list, if it says Indexed is 'NO" you'll crash at 49%, as usual. If it's yes, you can actually work.

My problem more recently has simply been getting a working mpg after all is said and done.

But yes, I've been trying everything I can think of to reach ChrsTurbo, but he's left verio (I actually e-mailed verio support, AND got a response, go fig. :P) and the other address was his university address, and I believe he has since graduated. So....now I'm trying to find if he has a blog or website. The man's going to think I'm a stalker when this is over with. ;)

jasch
03-15-2005, 12:29 AM
Well, little by little. (two steps forward, one step backwars). No I see video, I can set the start and end cuts. But when I go to process I get:

ERROR: transcode:tytranscode.c:290: ERROR: Invalid Output Format

Funny, that's the only output format it's MPG. At least, that's what TyEdit suggest as the output filename.

stealthdave
03-15-2005, 03:55 AM
Well, little by little. (two steps forward, one step backwars). No I see video, I can set the start and end cuts. But when I go to process I get:

ERROR: transcode:tytranscode.c:290: ERROR: Invalid Output Format

Funny, that's the only output format it's MPG. At least, that's what TyEdit suggest as the output filename.
I'm getting the same error. If you don't transcode the audio, it will output a viable MPEG2 stream, albeit one that is invalid for DVD playback. That's one of the things I meant when I said that typrocess was "whacked".

DonovansBrain
03-15-2005, 07:06 PM
Now that we've made TyStudio buildable, what do we do now? Do we have enough hard-core developers to try and rekindle this project?

Well, I've been doing fairly hardcore C/C++ as my day job (console programmer) for the last 10 years, but I know pretty much nothing about mpeg and ty streams. I'm also not sure how much time I can devote to the task. But if people want to give clear bug reports and point me to the module (typrocess, tytranscode etc.) that they believe isn't working I can take a look.

Paul

mike29
04-03-2005, 10:13 PM
I came across this disk image:
http://minnie.tuhs.org/TiVo/files/apple_osx/tystudio-0.5b2a.dmg

This Tyeditor ran out of the box, read my ty stream (previously off-loaded from my DTiVo), indexing and jumping through the stream worked. Able to save a Start/Stop cut file. But, a click on the process button only got half way through various shows. The error msg recommend picking a different frame. The process does complete without the edits. However, all attempts produced a (DVD) MPEG that has sound synch. problem. Voices are several seconds off.

I have also been able to build from source. I used the evaluation copy of the QT library and built from the command line. A Mac-like app appears (no icon in Finder nor the Dock) An otool -L reveals many dynamic links to X11 libraries. However, my compilation with QT went astray as most of the UI is inactive.

I'll be brief as I'm not sure of the interest...