CamStudio

The Official Blog

CamStudio random header image

CamStudio 2.6 Source Code Now Available Via SourceForge SVN

July 2nd, 2008 · 31 Comments

This is something I’ve been meaning to get done for months now, but finally I got around to getting some help.

Last month a CamStudio user, Carlo Lanzotti sent me a version of CamStudio with a number of fixes but he lost the full list of changes and fixes he made.

This is the list he sent me:

[BUG FIXES]

- Fixed the option saving bug, now all the options in the configuration dialogs are saved correctly.

- Fixed the swf/html generation bug that created an html file with bad height/width.

- Fixed minor/major bugs here and there.

[NEW FEATURES]

- Added Support for compiling with Microsoft Visual Studio 2005 (Should work on the Express too). Just open the vscap.sln and build it.

- Added a basic setup script for use with InnoSetup 5.x (www.innosetup.com).

He also made a good point …

Some other changes and bug fixes where made but unfortunately the full list where lost. Better to use a source code version control for future development (e.g. svn). (Maybe there is already something like this?)

This prompted me to finally pull my finger out and get this setup.

So, for all you coders out there who’d like to start playing properly - now’s your chance.

http://sourceforge.net/svn/?group_id=131922

This version should be thought of as V2.6 - even though it’s still showing as 2.5, so please amend your code and binaries accordingly.

Any fixes and features you’ve added to the 2.0 and 2.5 sources may need to be applied to 2.6.

Sorry it took so long to set this up, but I’m looking forward to seeing what you guys and can now.

Cheers

Nick :)

Share and Enjoy:
  • Digg
  • del.icio.us
  • StumbleUpon
  • Reddit
  • Netscape
  • Technorati
  • MisterWong
  • BlinkList
  • IndianPad
  • Furl
  • YahooMyWeb

Tags:

31 responses so far ↓

  • 1 mikeputnam // Jul 2, 2008 at 2:29 pm

    Great news! Thanks for sharing.

  • 2 computeruser // Jul 2, 2008 at 10:47 pm

    unluckily it does not work with visual studio 2005. I just tried and it gives a lot of errors. I compiled the /trunk version. It’s a shame, I really hoped for the vs8 support.

  • 3 computeruser // Jul 2, 2008 at 10:50 pm

    also I’d like to add that probably the reason is that I’ve installed the sp1 for visual studio 8 which I think it’s a needed upgrade anyhow. So if that Carlo Lanzotti guy could be so kind to add support even for visual studio 2005 sp1 I’d really appreciate. Thanks.

  • 4 Nick // Jul 3, 2008 at 10:14 am

    @computeruser

    I’ll email Carlo and see if he can help get the code to compile.

    Cheers

    Nick :)

  • 5 clanzotti // Jul 6, 2008 at 9:07 pm

    Hi all,

    The source code is revisted to compile with VS2005 - SP1, VS2008 should work too without problems.

    Anyway, can you give some more details about the errors you encountered?

    I will be glad to fix them.

    Carlo

  • 6 clanzotti // Jul 6, 2008 at 9:36 pm

    Hi all,

    Just a quick update.

    Sorry, I made a wrong statement. VisualC++ 2005 express edition cannot be used as it lack MFC.

    To be able to compile it you’ll need the full version of the mentioned development enviroment.

    Still here to help on solving other compilation problems.

    Carlo

  • 7 computeruser // Jul 8, 2008 at 1:48 pm

    Hi, thank you for your interest.

    I tried to compile the code on a computer with vs2005 professional with sp1 and still got some errors.

    The first error is a mistyped line in the file FlashFontObj.cpp, line 115 which is “TTPOLY CURVE *curve = (TTPOLYCURVE *)pos;” instead of “TTPOLYCURVE *curve = (TTPOLYCURVE *)pos;”, basically there’s a tab character in the middle between TTPOLY and CURVE.

    The other errors depend on the linker not able to find some libraries. It complains about only one .lib but I suspect the count will grow as far as it finds this one, which is:

    Error 1 fatal error LNK1181: cannot open input file ‘cximage\Release\jasper.lib’ vscap

    Thank you.

  • 8 computeruser // Jul 13, 2008 at 9:56 am

    Any hint so far?

  • 9 clanzotti // Jul 14, 2008 at 9:40 pm

    Hi,

    Sorry for the late reply.

    This TTPOLY CURVE is new to me. It does not seem that there are this error in the source code.

    Anyway, the lib error you reported is related to the missing compilation of the support libraries required by cximage.

    The library can be compiled by opening the related solution file in the directory:

    your_camstudio_src_dir\cximage\cximglib.sln

    So the correct build order is:

    1) Compile the cximage libraries
    2) Compile cximage
    3) Compile the camstudio modules (vscap, producer etc…)

    Let me know if this solve the problem.

    Carlo Lanzotti

  • 10 computeruser // Jul 15, 2008 at 12:01 am

    Hi, I tried to compiler the cximagelib solution but I got link errors, those are just some of them:

    Error 1 error LNK2019: unresolved external symbol _jas_free referenced in function “public: __thiscall CxImageJAS::CxFileJas::CxFileJas(class CxFile *,struct jas_stream_t *)” (??0CxFileJas@CxImageJAS@@QAE@PAVCxFile@@PAUjas_stream_t@@@Z) ximajas.obj
    Error 2 error LNK2019: unresolved external symbol _jas_stream_close referenced in function __catch$?Decode@CxImageJAS@@QAE_NPAVCxFile@@K@Z$0 ximajas.obj
    Error 3 error LNK2019: unresolved external symbol _jas_cleanup referenced in function __catch$?Decode@CxImageJAS@@QAE_NPAVCxFile@@K@Z$0 ximajas.obj
    Error 4 error LNK2019: unresolved external symbol _jas_matrix_destroy referenced in function __catch$?Decode@CxImageJAS@@QAE_NPAVCxFile@@K@Z$0 ximajas.obj
    Error 5 error LNK2019: unresolved external symbol _jas_image_readcmpt referenced in function “public: bool __thiscall CxImageJAS::Decode(class CxFile *,unsigned long)” (?Decode@CxImageJAS@@QAE_NPAVCxFile@@K@Z) ximajas.obj
    Error 6 error LNK2019: unresolved external symbol _jas_matrix_create referenced in function “public: bool __thiscall CxImageJAS::Decode(class CxFile *,unsigned long)” (?Decode@CxImageJAS@@QAE_NPAVCxFile@@K@Z) ximajas.obj
    Error 7 error LNK2019: unresolved external symbol _jas_cmprof_destroy referenced in function “public: bool __thiscall CxImageJAS::Decode(class CxFile *,unsigned long)” (?Decode@CxImageJAS@@QAE_NPAVCxFile@@K@Z) ximajas.obj

    I think the best thing to do if it’s not too much disturb would be to create a new folder on you computer and make a new SVN checkout of camstudio. Then try to compile. I think that should produce similar results.

  • 11 computeruser // Jul 15, 2008 at 12:03 am

    Sorry I made some mistakes like “compiler” should have been “compile” and “those” should have been “these”.
    Also I’d like to add that link errors are about 40 in total, that’s why I didn’t paste them all. Anyway they all seem to refer to _jas_something.

    Thanks again

  • 12 computeruser // Jul 15, 2008 at 12:25 am

    Ok I found the problem. There was a missing dependency for the CxImageCtrlDll and CxImageMFCDll projects for jasper.lib and relative folder.
    Again though I tried a reverted SVN and still got that tab space at that line, maybe an SVN problem? I’m using tortoiseSVN latest version.

  • 13 computeruser // Jul 15, 2008 at 1:58 am

    I was finally able to compile and run the program but I found a couple additional problems in the process.
    First of all, the debug build seems to be broken, lots of errors especially at link time (there are also some compile-time errors about the for loop initialization visibility, which is a missing setting in the project properties for the debug targets).
    Secondly the manifest file for the application seems to be incomplete for what concerns C runtime dependencies. The solution is to simply add these lines to the manifest file:

    Hope this helps.

  • 14 computeruser // Jul 15, 2008 at 2:01 am

    I just noticed it stripped out xml lines from the comment, so I’m trying to upload them again but entity-encoded, anyway I’m pretty sure you understood what must be added to what file.

    <dependency>
    <dependentAssembly>
    <assemblyIdentity type=’win32′ name=’Microsoft.VC80.CRT’ version=’8.0.50727.42′ processorArchitecture=’x86′ publicKeyToken=’1fc8b3b9a1e18e3b’ />
    </dependentAssembly>
    </dependency>

    <dependency>
    <dependentAssembly>
    <assemblyIdentity type=’win32′ name=’Microsoft.VC80.MFC’ version=’8.0.50727.42′ processorArchitecture=’x86′ publicKeyToken=’1fc8b3b9a1e18e3b’ />
    </dependentAssembly>
    </dependency>

  • 15 clanzotti // Jul 15, 2008 at 10:06 pm

    Hi,

    Glad that you get the compilation ok.

    My fault, I forgot to explain the right compilation order for the libs.

    Yes the debug style sheet was not setup properly as I used makefiles for this.

    I just made the release style sheet functional to allow compilation of a binary release for end users.

    Note that for the C runtime (And other system dependencies) there is no need to modify-add the manifest file. If you take a look at the setup script you’ll find that there are the Microsoft C/C++ Runtime Distribution setup.

    The projects are configured to allow the ‘bind’ and the generation of the manifest’s files automatically.

    For the end users this is the better solution as the runtime may change for every different VisualStudio release.

    I refused the side-by-side assembly to avoid unwanted bevahior and to avoid the nightmare of updating the new runtime’s dll (hell) every time.

    Let me know if you found any other problems.

    Carlo Lanzotti

  • 16 Peter // Jul 16, 2008 at 7:57 am

    Hi,
    I would like to test the CamStudio 2.6, but could not find any binary files for downloading.
    Peter

  • 17 Peter // Jul 16, 2008 at 3:32 pm

    Hi again,
    I found files for version 2.5b1 which I have used. Works nice but I have found one issue. When producing a longer sequence, in my case nearly 13 minutes, I am told that several .swf files will be created. When I then playback the result it works nice for quite a while, then the playbackwindow turns red for a long time and then it continues again and then it turns red again but this time it does not continue. Instead the computer get occupied reading the disk. Have any of you an idea of what the problem can be? After restar the computer is working normally again, but i did not try to playback again, instead I went to write this. I use Vista with 2Gb RAM and quite enough discspace.
    Kind regards,
    Peter

  • 18 skkeeper // Jul 18, 2008 at 2:56 pm

    I there,
    I tried to download the trunk version and compile it with visual c++ express and pro versions but neither worked.

    Could someone be gentle and email me the bynaris for this version, i really need this.

    skkeeper@gmail.com

    Thank you and keep up the good work

  • 19 CrazyCutie26 // Jul 18, 2008 at 5:46 pm

    I think you should also turn up the volume a bit more. Because when I make a video the volume is very low and I have to turn my speakers up very high. Thanks! :)

  • 20 mrtsherman // Aug 12, 2008 at 10:04 pm

    Well I am pretty new to development, VS2005 and subversion so I thought I would post my success in getting the source down and compiled on my system.

    1. Download and install TortoiseSVN
    2. Create a directory, RMB the dir and chose SVN Checkout. Provide the SVN location which is https://camstudio.svn.sourceforge.net/svnroot/camstudio and OK with other settings at their defaults
    3. Opened CxImgLib.sln from the trunk/camstudio/cximage/ directory
    4. RMB cximageCRTdll from solution explorer and choose References. Click add new reference and pick jasper from the list that pops up.
    5. Do the same for CxImageMFCdll
    6. RMB clean and then RMB rebuild each of the libraries in the solution explorer.
    7. close the project
    8. Open vscap.sln from trunk\camstudio
    9. RMB clean and RMB rebuild each of the libraries in the solution explorer.
    10. You can then RMB player, playplus, producer, or vscap and set it as start up project. Then F5 to run the program.

  • 21 ericjw316 // Aug 18, 2008 at 5:45 pm

    Hello all,

    I have tried all you solutions and for some reason i am still getting stuck with 19 errors. When i try with these instruction i get some where but i cant get the jasper library’s to read correctly.

    If someone can help me with this i would appriciate it. My email is e.williams.bis@gmail.com.

    Eric

  • 22 ericjw316 // Aug 18, 2008 at 5:46 pm

    Here are the errors that i am seeing just for your info:

    Error 8 error C2065: ‘curve’ : undeclared identifier c:\Users\Eric\Desktop\camstudio 2.6\trunk\CamStudio\Producer\swfsource\FlashFontObj.cpp 117
    Error 7 error C2065: ‘CURVE’ : undeclared identifier c:\Users\Eric\Desktop\camstudio 2.6\trunk\CamStudio\Producer\swfsource\FlashFontObj.cpp 117
    Error 5 error C2065: ‘TTPOLY’ : undeclared identifier c:\Users\Eric\Desktop\camstudio 2.6\trunk\CamStudio\Producer\swfsource\FlashFontObj.cpp 117
    Error 6 error C2146: syntax error : missing ‘;’ before identifier ‘CURVE’ c:\Users\Eric\Desktop\camstudio 2.6\trunk\CamStudio\Producer\swfsource\FlashFontObj.cpp 117
    Error 11 error C2227: left of ‘->apfx’ must point to class/struct/union/generic type c:\Users\Eric\Desktop\camstudio 2.6\trunk\CamStudio\Producer\swfsource\FlashFontObj.cpp 124
    Error 13 error C2227: left of ‘->apfx’ must point to class/struct/union/generic type c:\Users\Eric\Desktop\camstudio 2.6\trunk\CamStudio\Producer\swfsource\FlashFontObj.cpp 125
    Error 16 error C2227: left of ‘->apfx’ must point to class/struct/union/generic type c:\Users\Eric\Desktop\camstudio 2.6\trunk\CamStudio\Producer\swfsource\FlashFontObj.cpp 138
    Error 18 error C2227: left of ‘->apfx’ must point to class/struct/union/generic type c:\Users\Eric\Desktop\camstudio 2.6\trunk\CamStudio\Producer\swfsource\FlashFontObj.cpp 150
    Error 20 error C2227: left of ‘->apfx’ must point to class/struct/union/generic type c:\Users\Eric\Desktop\camstudio 2.6\trunk\CamStudio\Producer\swfsource\FlashFontObj.cpp 151
    Error 22 error C2227: left of ‘->apfx’ must point to class/struct/union/generic type c:\Users\Eric\Desktop\camstudio 2.6\trunk\CamStudio\Producer\swfsource\FlashFontObj.cpp 155
    Error 10 error C2227: left of ‘->cpfx’ must point to class/struct/union/generic type c:\Users\Eric\Desktop\camstudio 2.6\trunk\CamStudio\Producer\swfsource\FlashFontObj.cpp 122
    Error 15 error C2227: left of ‘->cpfx’ must point to class/struct/union/generic type c:\Users\Eric\Desktop\camstudio 2.6\trunk\CamStudio\Producer\swfsource\FlashFontObj.cpp 136
    Error 17 error C2227: left of ‘->cpfx’ must point to class/struct/union/generic type c:\Users\Eric\Desktop\camstudio 2.6\trunk\CamStudio\Producer\swfsource\FlashFontObj.cpp 148
    Error 23 error C2227: left of ‘->cpfx’ must point to class/struct/union/generic type c:\Users\Eric\Desktop\camstudio 2.6\trunk\CamStudio\Producer\swfsource\FlashFontObj.cpp 172
    Error 9 error C2227: left of ‘->wType’ must point to class/struct/union/generic type c:\Users\Eric\Desktop\camstudio 2.6\trunk\CamStudio\Producer\swfsource\FlashFontObj.cpp 119
    Error 12 error C2228: left of ‘.x’ must have class/struct/union c:\Users\Eric\Desktop\camstudio 2.6\trunk\CamStudio\Producer\swfsource\FlashFontObj.cpp 124
    Error 19 error C2228: left of ‘.x’ must have class/struct/union c:\Users\Eric\Desktop\camstudio 2.6\trunk\CamStudio\Producer\swfsource\FlashFontObj.cpp 150
    Error 14 error C2228: left of ‘.y’ must have class/struct/union c:\Users\Eric\Desktop\camstudio 2.6\trunk\CamStudio\Producer\swfsource\FlashFontObj.cpp 125
    Error 21 error C2228: left of ‘.y’ must have class/struct/union c:\Users\Eric\Desktop\camstudio 2.6\trunk\CamStudio\Producer\swfsource\FlashFontObj.cpp 151
    Error 33 fatal error LNK1181: cannot open input file ‘cximage\Release\jasper.lib’ vscap

  • 23 ericjw316 // Aug 18, 2008 at 6:00 pm

    I am now able to get the programs to load after some programming on my side of things. I was wondering where the recorder was in the code?

  • 24 HIGH-I // Aug 24, 2008 at 6:07 pm

    Hello, I’ve started using 2.5 beta and am about to install it on a Vista machine. Is there a posted compile for the current 2.6 version as I’d be willing to try it and report any issues.

  • 25 Starbuck // Aug 26, 2008 at 5:45 am

    First time posting here - hi!

    I see a lot of mention on websites of the error “error recording avi file”. I also see in the code that this was originally hardcoded and later replaced with constant IDS_STRING_ERRAVIDEFAULT. The error is displayed for any condition where an avi operation failed. I’m finding it occurs all the time whenever using DivX. Having previously used cs2.1 I just started using v2.6. And with some minor success from default codecs on my system I decided to try DivX v6.8.4.

    So is this a v2.5-2.6 issue? Something system-specific? General DivX issue? Config issue? I’m wondering where output_avi_path is set to and if the problem is with DivX trying to write somewhere invalid. I think at some point the code should display the real error that occurred, rather than this generic catch-all err.

    Just registered on the forum too - looking forward to exchanging notes there. I’m not a C guy but I am a developer, can read code (as you see) and may be able to contribute in some minor way.

    Thanks for all of your work on this fine offering.

  • 26 chris_h // Sep 5, 2008 at 11:48 pm

    HI

    New to the product and have a problem with key assignments which I cannot find any mention of in the configs or options. I am running a 5250 emulator which I need to capture, as part of the application I need to press F8 or F9 to accept an agreement but they are inactive anytime I run the recorder? Anyone got any ideas?

    Chris…

  • 27 lborgman // Sep 10, 2008 at 11:54 pm

    Can Camstudio be compiled with VS Express 2008?

    Can it be compiled with GNU tools?

  • 28 lborgman // Sep 15, 2008 at 10:59 pm

    You can download binaries for 2.5 from download.com but I can’t see the sources there. Anyone else that can find them there?

    If not is this not a violation of the GPL license? Or is there a special arrangement of some kind? Maybe double licensing?

  • 29 Tim // Sep 20, 2008 at 12:54 am

    Greetings All!

    I’ve just recently installed the TortoiseSVN and have been doing some refactoring work with trunk version locally. I have to work out the SVN system to get things checked in but I don’t want to make difficulties for others. If any SNV gurus could contact me so I can get a leg up there, I’d appreciate it.

    So far I’ve gotten the basic program running on Vista and I’m currently working on tightening up the code layout, refactoring functions and variables into namespaces in preparation for new classes, cleaning up the headers, and then getting the image libraries up to speed.

    A few build notes: (Vistual Studio Team 2008)

    - I think the CxImage static library in the solution is incomplete and you should get unresolved externals for all the image files types. A temp fix I used is to:
    - remove the dependecies for vscap project and leave just hook dll as a dependent.
    - in VscapView.cpp comment out the header #include “cxImage\CxImage\ximage.h”
    - stub out InsertImage with compile time conditionals to disable the reamining image library code:

    void InsertImage(HDC hdc, RECT& brect, ImageAttributes& imageattributes)
    {
    #if defined(__CXIMAGE_H)
    #endif
    }

    This will disable watermarks until the library gets fixed.

    - Turn project warnings levels to 4. Produces lots of stuff that needs fixing :)

    - The undefined variable errors for ‘i’, etc. come from the new for statement scoping. Simply define the “int” variable for all the statements.

    - As far as I know, the project settings for the “Common Properties - Framework and References - Adding the Reference” is only for NET Framework projects and this is a MFC project. So the dependencies between projects is what you have to set. I think the image libraries (all of them) have to been added as dependents of CxImage.

  • 30 Andreas Botsikas // Oct 11, 2008 at 10:57 am

    Hi and thank you very much for your effort to revive this amazing opensource project!

    I have just finished downloading the source files from the svn and when I tried to compile the solution on vs2008 I got the following error:

    error LNK2019: unresolved external symbol __imp__timeGetTime@0 referenced in function “long __stdcall hookproc(unsigned int,unsigned int,long)” (?hookproc@@YGJIIJ@Z)

    on hook.obj. Adding “Winmm.lib” to “Project Properties > Linker > Input > Additional Dependencies” on the hook project solved my problem since it is required for “mmsystem.h”. I am just mentioning it in case someone else comes up with the same problem.

    Cheers,
    Andreas

  • 31 Nick // Oct 12, 2008 at 10:59 am

    Hi Andreas

    Thanks for that note - I’ve forwarded it to the programmers.

    Cheers

    Nick :)

You must log in to post a comment.