Downloads
IDE and major frameworks
Lightweight IDE version
0.9.3 (App and small set of demos, including iPhone demos and QuickRef. 10.4
required for this build)
News in Lightweight IDE 0.9.3:
- Auto-frameworks for CUDA.
- Auto-frameworks fixed for C/C++ "build" (was already correct for "run").
- Added block indenting, shifting left and right, supports both TAB and space.
- CUDA programs are now fully stand-alone, with no need for extra scripts for running!
- Irritating bundle type role messages fixed, I think.
- QuickRef (which hasn't even been included in recent releases)
updated with a version indexing CocoaAll, and the MacOSAll version is
updated. A Cocoa version is also partially done, indexing MacOSAll,
CocoaAll and iPhoneAll. Finally, QuickRef now has its own icon.
Lightweight IDE version
0.9.2 (App and small set of demos, including iPhone demos. 10.6
required for this build)
News in Lightweight IDE 0.9.2:
Anniversary version!
- No more whipping, instead a more careful rewrite of the
process management... and it really looks more stable this time!
- Simplified process management for non-interactive processes,
gives better performance in some cases.
- Universal target no longer disturbs iPhone builds.
- iPhone/iOS builds include properties for running on iPad. At
this time, the builds allow both iPhone and iPad. I might add a
target setting, but it seems superfluous.
Lightweight IDE version
0.9.1 (App and small set of demos, including iPhone demos. 10.6
required for this build)
News in Lightweight IDE 0.9.1:
This is the "Let it whip" version, which refers to the last point
below, the improved process management. Otherwise, theer are a number
of vital fixes for the still very new iPhone support.
- Automatic codesigning for iOS "release builds", so you can
upload (manually so far) to the iOS device after building. (FPC
only so far since final build doesn't work for ObjC yet.)
- Removed chdir for iPhone since that doesn't help on the device
so it makes some programs work in the simulator but not in the
device.
- Final builds for iOS are made using an "ARM" subfolder in
order not to confuse it with simulator code. (FPC only.)
- Fixes in the process management, to handle errors better, to
make sure processes are truly finished. Maybe, maybe we have a
more stable system so we don't run out of processes, a bug that
have been there for several years! If so, this is a BIG change!
This will not work on 10.4! I can build for 10.4 if anyone
needs it but the Mac I work on could only build for 10.5 or 10.6.
Lightweight IDE version
0.9.0 (App and small set of demos.)
Source-code to
Lightweight IDE version 0.9.0
TransSkel 5.0b6 (important
TransEdit fixes and more)
News in Lightweight IDE 0.9.0:
- Preliminary iPhone/iOS support, both ObjP and ObjC! For the
simulator only at this time.
- Auto-selects between different FPC versions for OSX, OSX with
Cocoa, iOS simulator and iOS device. (Can not yet codesign or
upload the latter.)
- New settings for compilers.
- Builds iOS bundles.
- Color coding fix for a bug that could make C code crash the
color coder.
- Carbon and -Tdarwin no longer default settings.
- Includes detailed and updated instructions for installing
Objective Pascal for OSX and iPhone.
News in TransSkel 5b6:
- PenMode support in QDCG (although not thoroughly tested yet -
needs 10.5 or better)
- Crashing in TransEdit seems solved!
- TransEdit fixes for proper use of paths vs filenames.
Lightweight IDE version
0.8.10 (App and small set of demos.)
Source-code to
Lightweight IDE version 0.8.10
TransSkel 5.0b5 (overhaul to
synch with current ObjPas version plus many other changes)
News in Lightweight IDE 0.8.10:
- Color codes "library" and "exports" in Pascal.
- Builds FPC shared libraries (not universal).
- C/C++ links with shared libraries (.dylib) if there is a
matching .h file.
- C file lists are displayed briefer, without paths.
- FPC "operator" is color coded.
- FPC operators show up in the popup menu (although "/" isn't
correct).
- Now checks for frameworks in /Library, not only
/System/Library. (For C/C++/ObjC compilation.)
- Added /Frameworks folder in bundles.
- Copies .shlib to /Frameworks in bundle. (Applies to C/C++/ObjC
only, can be added to FPC by checking for shlibs.)
- Modifies path to .shlib to /Frameworks. (Applies to C/C++/ObjC
only, can be added to FPC by checking for shlibs.)
- Added CFBundleTypeRole in bundles (to avoid error messages in
10.6)
- C projects detect multiple file types, .c, .cpp, .m to allow
mixed projects.
- FPC dylib support using {$linklib} for finding dylibs.
- Added a button in "advanced settings" for quickly switching to
and from the experimental ObjP compiler.
- The option -mmacpas is no longer part of the default! And if
you plan on using Objective Pascal, don't type it in as global
default! You don't want it. Put -mmacpas in .options files for
your Carbon projects and you will be fine.
News in TransSkel 5b5:
1. TextFace support in QDCG!
- All "Stroke" calls removed from QDCG. Instead, TextFace now
supports outline. TextFillColor controls the inside of outline
fonts (which was always transparent in QuickDraw).
- GetFontInfo implemented using ATSUI calls, and prepared for
future CoreText implementation.
- TextFace now supports underline, strikethru, double underline,
overline, condense, extend, shadow.
- TextFace supports italic and bold in a simplified, preliminary
version. (Will fail sometimes.)
- The new call TextExtend added to allow detailed
extend/condense control, sets the amount that extend/condense will
change the text. (Default is 1.5.)
- New QDCG demo, QDCGTextDemo.
2. Updated for synchronizing with the current Objective Pascal.
(With much help from Richard Ward!)
- Added NSApplicationDelegateProtocol to AppDelegate
declaration.
- Removed (commented out) index-based EnableMenuItem and
DisableMenuItem, due to itemAtIndex no longer working. Will be put
back when it is possible.
- Added init to all NS objects that are alloc'ed with no init
(controllers, delegates, NSTimer, NSNib).
- Added itemAtIndex to the CocoaAll code, a change I can't
easily include in my distributions! This is a bug in CocoaAll. You
fix it by editing NSMenu.inc and recompiling CocoaAll.
- Lightweight IDE was changed to produce more correct
application bundles, only referring to a nib/xib if it exists. You
should strongly consider a complete rebuild if you have old code,
trashing both old built programs and the intermediate-filer
folders.
3. Other changes
- TransEdit and TransDisplay renamed TransEdit5 and
TransDisplay5, to avoid confusion while both versions 4 and 5 must
live side by side for quite some time.
- Modifiers now work for keydowns. (Already worked for mouse
downs.)
- Supports xib, not only nib.
- Detects the main nib if it is called either main (as before)
or mainMenu (common in demos).
- Detects if a nib/xib is available, and only in such a case
refers to it in the info.plist.
- Doesn't try to create a nib reference if no name is given.
- Text views handle controlTextDidChange in order to update the
controlled variable while typing. I believe that is what we
usually want. (If not, I can make the setDelegate optional.)
- SkelSetRealStringViewHandler now uses SkelSetRealValue, which
gives decent formatting. (But it would be even better to use Str()
with some formatting control.)
- Generally replaced the ".p" extension with ".pas".
Installation
Lightweight IDE itself needs no installation, just unpack.
However, you must install:
- Apple Developer Tools, for GCC and its tools, both for using
GCC from LWP and since FPC needs the GCC linker. Download from
Apple.
- For Pascal, Free Pascal version 2.0.4 or better, both PPC and
Intel versions if you plan to build universal binaries. Get it
from the Free Pascal archives. (Note that for old versions like
2.0.4, many demos will need you to edit MacOSAll to the older name
FPCMacOSAll.)
- GPC can also be used. (Support without makefiles added in
0.6.)
For using Objective Pascal, you need to install the preliminary
FPC 2.5.1. For getting started easier, here is an installer (tested
under 10.5).
Installer for FPC 2.5.1 with
Cocoa interfaces (for getting started easier with Objective
Pascal)
Demos and reusable code
The number of demos for Lightweight IDE is getting out of hand.
Thus, new or particularly interesting demos or units are listed here
as separate downloads. (Newest last.)
Lightweight IDE
demos The complete demo package except OpenGL demos. Big archive,
since executables are included.
TransSkel 4.0.5 A callback based
framework to simplify Carbon application development. A new,
Cocoa-based version is available above.
OpenGL demos A set of selected
OpenGL demos by Ingemar.
CarDisplay New demo by Saabino
D'Elia.
QDCG Much of QuickDraw re-implemented on
top of Core Graphics, with two demos. (Note: Old version! The new
QDCG is part of TransSkel 5 and much extended.)
New CarbonStandardFile
CarbonStandardFile is in the TransSkel package, but this is newer
than the one in 4.0.5. (Note: This is now abandoned and replaced by
NSStandardFile, part of TransSkel 5.)
pngdemo: Demonstrates how to load a PNG
file to an OpenGL texture.
SimpleAudioMovie: Demostrates
how to play a QuickTime movie with modern calls, audio only.
openal_fpc: Or "Ingemar's OpenAL Kit
for FPC". It is based on code from several sources on the web, merged
and rewritten into a more complete kit.
textureFont-with-demo.zip:
This is a C only demo of how to render a texture font on OpenGL. It
uses pnglite for texture loading.
pnglite-with-demo.zip:
pnglite is a smaller and easier replacement for the more
common libpng, written by Daniel Karling. I have added a demo program
(C and FPC), loading a PNG to an OpenGL texture, and FPC interface.
Simple Objective Pascal demos:
Three demos, Skel, Minimal and MinimalAnimation, all also available
in Carbon versions in the standard package (above). Here they are
rewritten in Objective Pascal, as nibless Cocoa applications.
ToolbarSample: Cocoa demo from
Apple, adapted to Lightweight IDE and, most significantly, ported to
FPC/Objective-Pascal.
GlutGears: New version of a classic
OpenGL demo, now with FPC version (as well as C) and better timing.
Ingemar's Objective Pascal
demos: A bigger set of Objective Pascal demos, including the
"simple" set above but extended with demos for menus, text editing
(with line numbers!), toolbars, file dialogs, sheet alerts and
tables.
Old versions
Old versions are listed
here.