------------------------------------------------------------------------ r119 | mgr | 2006-10-12 01:58:53 +0200 (Thu, 12 Oct 2006) | 3 lines M core/save-cube-lisp.lisp - Gnah!, I've forgotten the two new options in the "Usage:"-list.. ------------------------------------------------------------------------ r118 | mgr | 2006-10-12 01:45:44 +0200 (Thu, 12 Oct 2006) | 11 lines M core/save-cube-lisp.lisp M play-animation.lisp - New variables *print-running-averager-info-p* and *print-frame-duration-statistics-p* - ... and new command line options to set those: --print-running-averager-info print debug information of the running averager --print-frame-duration-statistics calculate and print statistics on the frame display duration ------------------------------------------------------------------------ r117 | mgr | 2006-10-10 22:03:13 +0200 (Tue, 10 Oct 2006) | 7 lines M core/cube-modeller.sh - The binary is in the same directory as the start script, $dir, not the current working directory. M viewer.lisp - Put a delay of 1s in the first run of the idle loop in order to accelerate the start-up of the toolbox window. ------------------------------------------------------------------------ r116 | mgr | 2006-10-10 19:13:03 +0200 (Tue, 10 Oct 2006) | 7 lines M core/save-cube-lisp.lisp - Call SET-SERVER-ADDRESS only if hostname or ip has actually been specified via the command line option. This fixes the bug that the application does not start up when it cannot resolve the default server address. ------------------------------------------------------------------------ r115 | mgr | 2006-10-10 18:14:40 +0200 (Tue, 10 Oct 2006) | 6 lines M toolbox.lisp - In (RUN-FRAME-TOP-LEVEL :BEFORE ((FRAME TOOLBOX ..): - Load user transformations with IGNORE-ERRORS. M data/user-effects.lisp - Example user effect: DUPLICATE-ANIMATION. ------------------------------------------------------------------------ r114 | mgr | 2006-10-10 17:34:24 +0200 (Tue, 10 Oct 2006) | 12 lines M viewer-draw-leds.lisp - In DRAW-LED: - Use cube->OpenGL for gl:translate-f. M viewer.lisp - In GET-NUMBER-OF-PICKED-LED: - Clean-up coordinates-to-led code to use OpenGL->cube. - In pick-coordinates the middle LED is (0 0 0), therefore we have to add 2 to each of the *converted* coordinates (that is, *after* OpenGL->cube). This remove the old, strange -4 of only two of the coordinates as the +2 wrongly happened *before* conversion. ------------------------------------------------------------------------ r113 | mgr | 2006-10-10 16:21:42 +0200 (Tue, 10 Oct 2006) | 10 lines M viewer.lisp - Move rotation with the two rotation matrices of eye-coordinates and up-vector two the new separate function ROTATE-COORDINATES. - New variable *unrotated-eye-coordinates* that contains just those. - Use OpenGL-cube to transform the eye-coordinates for DRAW-LEDS. M package.lisp - Export also OpenGL->cube and cube->OpenGL M LED-cube.lisp - Changed *default-idle-loop-delay* from 1ms to 1us ------------------------------------------------------------------------ r112 | mgr | 2006-10-10 04:38:53 +0200 (Tue, 10 Oct 2006) | 9 lines M toolbox.lisp - Call to ADJUST-CUBE-SLIDER-FOR-ANIMATION in COM-SAVE-ANIMATION-FILE is superfluous. M package.lisp M commands.lisp - LOAD-ANIMATION-FILE should also write to the cube device, so SHADOW it in the package cube-modeller and wrap it in commands.lisp ------------------------------------------------------------------------ r111 | mgr | 2006-10-10 03:59:02 +0200 (Tue, 10 Oct 2006) | 18 lines M LED-cube.lisp - Make the WITH-LOCK-HELDs for the *animation-lock* to WITH-RECURSIVE-LOCK-HELDs. Then the special care for the call to GOTO-CUBE in DELETE-ANIMATION and -CUBE can be removed again. Also, the user-animation can generally hold the lock (recursively). - Let, after some testing, also SAVE-UNDO, UNDO, WRITE-CUBE-TO-DEVICE, and LOAD-ANIMATION-FILE ask for the *animation-lock*. M package.lisp - Export also *animation-lock*. M cube-transformations.lisp - The DEFINE-CUBE-TRANSFORMATION macro does now ask for the *animation-lock*, save an undo and call the body with disabled-save-undo. - Remove all the manual invocations of the latter two things in the transformations. ------------------------------------------------------------------------ r110 | mgr | 2006-10-10 03:47:24 +0200 (Tue, 10 Oct 2006) | 4 lines M toolbox.lisp - Move the code of the Apply User Effect button to the separate new function apply-user-transformation. ------------------------------------------------------------------------ r109 | mgr | 2006-10-10 02:55:53 +0200 (Tue, 10 Oct 2006) | 3 lines M viewer.lisp - ("necessary" instead of "needed" in comment.) ------------------------------------------------------------------------ r108 | mgr | 2006-10-10 02:55:19 +0200 (Tue, 10 Oct 2006) | 21 lines M LED-cube.lisp - Add a lock for access to the *animation*, in order to prevent a classic race condition when e.g. the animation is being deleted (via toobox window or viewer) while the animation is being played, that is while GOTO-CUBE wants to go to the next frame. ;; If I don't screw it up completely, this is really a problem between ;; GOTO-CUBE and DELETE-CUBE as well as DELETE-ANIMATION. (NEXT-FRAME goes ;; to the next frame using GOTO-CUBE.) Do we need to protect more functions? ;; I'm not sure.. In case a user-transformation modifies the length of ;; an animation while it is being played? UNDO and DELETE-ANIMATION should ;; not interact badly as the user cannot invoke both functions fast enough, ;; or is this bollocks. - Special care has been taken for DELETE-CUBE and -ANIMATION to prevent a recursive lock attempt, as both call GOTO-CUBE. M viewer.lisp - Do not stop the animation playing on keypress of some keys (#\d for DELETE-CUBE, for example): ;; The new animation-lock should prevent lock-ups between animation playing ;; and animation/frame deletion. The rest is not necessary, and I don't like ;; this behaviour anymore. (mgr, 20061010) ------------------------------------------------------------------------ r107 | mgr | 2006-10-10 02:02:48 +0200 (Tue, 10 Oct 2006) | 10 lines M viewer.lisp - Change the global variables *fps-calculation-start-time* and *interval-frame-counter* to non-globes ones in a lexical closure around calculate-and-print-frames-per-second. - Also do not print the calculated frames-per-second value when more then 1.5 seconds elapsed (instead of the desired one second). It's likely that the value is screwed up when it took, say, 10.000 times longer to display a new frame as it normally takes. (Restart of the viewer for example.) ------------------------------------------------------------------------ r106 | mgr | 2006-10-10 01:22:48 +0200 (Tue, 10 Oct 2006) | 23 lines M play-animation.lisp - Improve adherence to the desired *frame-duration*: - Up until now ENGOUH-TIME-ELAPSED-FOR-NEXT-FRAME-P only returned t when *at least* *frame-duration* seconds elapsed. The problem is that in general more time than the desired has already passed. To change this: - Add a running averager that calculates the average of time between the last, say, 15 invocations of ENGOUH-TIME-ELAPSED-FOR-NEXT-FRAME-P (and therefore ANIMATION-STEP). - Now say that it's already time for the next frame when (*frame-duration* - running-average/2) has elapsed. => The average frame duration will quickly(*) converge to *frame-duration*. (In numbers: With a display rate of 50fps and a desired frame duration of 80ms, the average frame duration has been 90ms.) - Moved the FORMAT from ENGOUH-TIME-ELAPSED-FOR-NEXT-FRAME-P to the new function PRINT-FRAME-DURATION-INFO: - It calculates frame duration and remaining time averages and prints them together with the current values. *) for some value of "quickly" ------------------------------------------------------------------------ r105 | mgr | 2006-10-10 00:55:10 +0200 (Tue, 10 Oct 2006) | 3 lines M play-animation.lisp - (Move the #+(or) for the next-frame-FORMAT before the LET.) ------------------------------------------------------------------------ r104 | mgr | 2006-10-10 00:49:13 +0200 (Tue, 10 Oct 2006) | 37 lines M LED-cube.lisp M core/save-cube-lisp.lisp M play-animation.lisp M package.lisp M viewer.lisp - Separation of idle loop and frame progression: - Renamed *default-frame-delay* to *default-idle-loop-delay*. - New variables: *default-frame-duration* and *frame-duration* (also exported). The default is stored for future plans. (Allow to change the duration via the GUI, having a "Reset" button that sets the value back to the default, that also can be specified via the --frame-delay command line option.) - Call to SLEEP-FOR-DELAY moved from ANIMATION-STEP to the SDL idle loop. Instead ANIMATION-STEP only goes to the next frame if (the animation is running and) enough time has elapsed (that is *frame-duration* seconds). - New functions: - INITIALIZE-FRAME-TIME-COUNTER (called from START-ANIMATION). - ENOUGH-TIME-ELAPSED-FOR-NEXT-FRAME-P It returns t only if enough time (*frame-duration*) has elapsed since the last invocation. The idea is explained in http://www.gaffer.org/game-physics/fix-your-timestep/ This is a modified version, though, for example it does not drop frames. - Overworked order of command line argument parsing in core/save-cube-lisp.lisp and added some comments. - *frames-per-second* renamed to the better name *intervall-frame-counter*: It is a counter for the frames of the current interval, even at the end of the interval it will not be the exact fps value as the interval might have been a bit longer than the desired 1 second (It is most of the time). ------------------------------------------------------------------------ r103 | mgr | 2006-10-07 04:30:35 +0200 (Sat, 07 Oct 2006) | 3 lines M viewer.lisp - Rename *frame-start-time* to *fps-calculation-start-time*. ------------------------------------------------------------------------ r102 | mgr | 2006-10-07 01:10:51 +0200 (Sat, 07 Oct 2006) | 6 lines M LED-cube.lisp - Networking: network-send and network-upload-animation do not depend on *server-address* to be specified anymore: If it's not there it will be set to the default in the beginning of network-send. ------------------------------------------------------------------------ r101 | mgr | 2006-10-07 00:42:25 +0200 (Sat, 07 Oct 2006) | 10 lines M LED-cube.lisp - In SLEEP-FOR-DELAY: Call SLEEP only when the delay-value is non-zero. - Networking: - New function networking-started-p. (Use it instead of using *socket*'s value directly.) - In function WRITE-CUBE-TO-DEVICE: - Compute the cube-string only when the networking is started. ------------------------------------------------------------------------ r100 | mgr | 2006-10-07 00:36:02 +0200 (Sat, 07 Oct 2006) | 12 lines M viewer-draw-leds.lisp M viewer.lisp - Instead of drawing the LEDs each time as freshly computed spheres (via glu:sphere) after calculating and setting their material (again each time), create 12 OpenGL display lists (6 for the intensity levels 0 to 5 in night mode, and 6 for the day mode) when starting the viewer and call the corresponding display list instead. (Of course, they will be destroyed on exiting the viewer.) => Major speed-up. Yay. ------------------------------------------------------------------------ r99 | mgr | 2006-10-07 00:18:45 +0200 (Sat, 07 Oct 2006) | 10 lines M viewer.lisp - reduce number of subdivision for the spheres from (15 15) to (16 8) (first number around z axis, second number along z axis), as I have misunderstood the values: Similar to longitude and latitude, the second value has only have to be half as large to get the same subdivision of the whole circle. (See also revision 94.) ------------------------------------------------------------------------ r98 | mgr | 2006-10-06 14:32:07 +0200 (Fri, 06 Oct 2006) | 5 lines M viewer-draw-leds.lisp - Export ensure-intensity-to-be-of-number and ensure-intensity-to-be-of-character M package.lisp - Use ensure-intensity-to-be-of-number in DRAW-LED. ------------------------------------------------------------------------ r97 | mgr | 2006-10-06 13:56:01 +0200 (Fri, 06 Oct 2006) | 10 lines M viewer-draw-leds.lisp M viewer.lisp - The GL-Names are not necessary since the new picking algorithm in revision 63, so get rid of the gl:init-names, gl:push-name, GL:LOAD-NAMEs, and also the unnecessary GL:END that was meant to "end" the GL:LOAD-NAME. They are all ignored when the render mode is not gl:select (which is now always the case), but remove them to keep the code clean. ------------------------------------------------------------------------ r96 | mgr | 2006-10-05 23:42:02 +0200 (Thu, 05 Oct 2006) | 7 lines M viewer.lisp - Add code to calculate and print the frames per second rate. - Default is not to print the fps rate. M core/save-cube-lisp.lisp - Add the new command line option "--print-fps" to do just this. - Add this to the information that gets displayed on "--help". ------------------------------------------------------------------------ r95 | mgr | 2006-10-05 23:26:12 +0200 (Thu, 05 Oct 2006) | 5 lines M toolbox.lisp - Show messages on Load User Transformation in a new window. (Don't do it when starting the GUI.) - Add New Animation to the File menu. ------------------------------------------------------------------------ r94 | mgr | 2006-09-28 18:41:57 +0200 (Thu, 28 Sep 2006) | 6 lines M viewer.lisp - reduce number of subdivision for the spheres from (25 20) to (15 15) (first number around z axis, second number along z axis). Seems to be enough, and makes the displaying much cheaper. ------------------------------------------------------------------------ r93 | mgr | 2006-09-28 18:38:50 +0200 (Thu, 28 Sep 2006) | 5 lines A data/user-effects.lisp (Yes, that's all.) ------------------------------------------------------------------------ r92 | mgr | 2006-09-28 18:38:23 +0200 (Thu, 28 Sep 2006) | 24 lines A coordinate-systems.lisp - last commit was incomplete, coordinate-system.lisp and the commit message have been missing. Here it comes: M package.lisp M cube-modeller.asd M LED-cube.lisp M commands.lisp M cube-transformations.lisp - coordinate-systems.lisp contains the function OpenGL->cube and cube->OpenGL to convert between the coordinate systems. - (defpackage :LED-cube ..) has been moved to package.lisp, and LED-cube needs coordinate-systems.lisp (and package.lisp) now. - move-cube has been changed: It uses OpenGL coordinates now. (This is probably better for the writer of (user) effects. At least I hope that.) - (Subsequent changes to the relative move commands in commands.lisp, and the fade-every-cube-to-back transformation.) - two new transformations/effects: matrix effect and duplicate-every-frame ------------------------------------------------------------------------ r91 | mgr | 2006-09-28 18:30:15 +0200 (Thu, 28 Sep 2006) | 8 lines M package.lisp M cube-modeller.asd M LED-cube.lisp M commands.lisp M cube-transformations.lisp ------------------------------------------------------------------------ r90 | mgr | 2006-09-28 17:53:24 +0200 (Thu, 28 Sep 2006) | 6 lines M LED-cube.lisp - Default server is cube.entropia.de now; default of *server-adress* is NEL nIw, set it to *default-server-name* (and -port*) (if applicable) only in network-send as the name will have to be resolved (and the application should work without networking.) ------------------------------------------------------------------------ r89 | mgr | 2006-09-28 17:40:49 +0200 (Thu, 28 Sep 2006) | 20 lines M toolbox.lisp M LED-cube.lisp M viewer.lisp M about-dialog.lisp - reworked the gui - layout of the toolbox - button texts - usual menu (spread commands over three (new) command tables for this) - "Delete the whole animation" is "New animation" now, and the shortcut is #\n instead of #\k now. - set-(serial-)device-file in backend and gui, to specify the serial device - load user transformations/effects command and button for it (default file is data/user-effects.lisp; tried to load on gui startup) M cube-transformations.lisp - uncommented version of load-user-transformations as a transformation; it's now a toolbox-command ------------------------------------------------------------------------ r88 | mgr | 2006-09-13 02:12:29 +0200 (Wed, 13 Sep 2006) | 5 lines M viewer-draw-leds.lisp M toolbox.lisp M viewer.lisp - add day and night mode. (toogle-able by the toolbox) ------------------------------------------------------------------------ r87 | mgr | 2006-09-13 01:28:17 +0200 (Wed, 13 Sep 2006) | 6 lines M core/cube-modeller.sh - --end-runtime-options in call to ./cube-modeller M toolbox.lisp - typo: TYPEP instead of AND in: (unless (typep next-event 'redisplay-event) ------------------------------------------------------------------------ r86 | mgr | 2006-09-13 00:51:26 +0200 (Wed, 13 Sep 2006) | 8 lines M toolbox.lisp - Uncomment the redisplay-event queueing for the cube-slider. There have been too much such events and the toolbox got unresponsive. M LED-cube.lisp - Keyword parameter in call to set-terminal-speed forgotten. M core/save-cube-lisp.lisp - ignore-errors for the parse-integer of "--port". (grrr) ------------------------------------------------------------------------ r85 | mgr | 2006-09-12 21:21:11 +0200 (Tue, 12 Sep 2006) | 3 lines M core/save-cube-lisp.lisp - parse-integer for --port, as well. ------------------------------------------------------------------------ r84 | mgr | 2006-09-12 21:10:22 +0200 (Tue, 12 Sep 2006) | 3 lines M core/save-cube-lisp.lisp - --frame-delay in milliseconds (+ ignore if errors) ------------------------------------------------------------------------ r83 | mgr | 2006-09-12 21:03:55 +0200 (Tue, 12 Sep 2006) | 7 lines M LED-cube.lisp - Add --help and --frame-delay.. M core/save-cube-lisp.lisp - export cube:*default-frame-delay* M toolbox.lisp - (one comment) ------------------------------------------------------------------------ r82 | mgr | 2006-09-12 20:47:38 +0200 (Tue, 12 Sep 2006) | 7 lines M LED-cube.lisp M core/save-cube-lisp.lisp - Terminal speed now configured from lisp; set by the new function set-terminal-speed (uses my sbcl patch that adds sb-posix:cfsetspeed). - new command line arguments for the core: --host and --port. (Also "--hostname", "--host-name", "--cubetty", and "--cube-tty".) ------------------------------------------------------------------------ r81 | mgr | 2006-09-12 20:44:08 +0200 (Tue, 12 Sep 2006) | 8 lines M cube-modeller.asd M toolbox.lisp A toolbox-events.lisp - Copied redisplay-event stuff from BEIRC. Used when updating the toolbox from the OpenGL viewer. - (Unwrapped the bodies of set-ucb-slider-value, adjust-cube-slider-for-animation, and update-color-selector from the (when *application-frame* ..)s.) ------------------------------------------------------------------------ r80 | mgr | 2006-09-12 16:57:27 +0200 (Tue, 12 Sep 2006) | 22 lines M clim-utilities.lisp - find-process-with-name, destroy-process-with-name, and define-application-starter moved from :climi to :cube-modeller. - reorder restart-cases from define-application-starter so that "|destroy-process|" isn't first anymore. - use sb-ext:*invoke-debugger-hook* instead of *debugger-hook*) M play-animation.lisp M starter.lisp M toolbox.lisp M package.lisp M viewer.lisp - :cube-modeller now USEs :clim-sys (the process stuff). - Remove the "climi::" from the calls to clim's process interface. - Enable the changes of revision 55: -- zipp -- M viewer.lisp - Exit viewer in idle-loop when there is no toolbox process (anymore). M starter.lisp - Destroy toolbox process after viewer has been exited. -- zapp -- ------------------------------------------------------------------------ r79 | mgr | 2006-09-12 16:48:53 +0200 (Tue, 12 Sep 2006) | 7 lines M core/cube-modeller.sh M LED-cube.lisp - added sb-posix:cfsetspeed to sbcl and use that to configure the device -> stty not necessary anymore. - startscript appends all its arguments to the sbcl call, now. -> Now it is: ./cube-modeller.sh --cubetty /dev/ttyUSB0 ------------------------------------------------------------------------ r78 | mgr | 2006-09-12 13:36:21 +0200 (Tue, 12 Sep 2006) | 5 lines AM cube-modeller.sh - startscript /still/ necessary for LD_LIBRARY_PATH: For libraries that are loaded via c's dlopen (man 3 dlopen) because they are mentioned in the .so-files. ------------------------------------------------------------------------ r77 | mgr | 2006-09-09 20:17:18 +0200 (Sat, 09 Sep 2006) | 6 lines M core/save-cube-lisp.lisp D core/cube-modeller.sh - New function get-cubetty-argument that uses sb-ext:*posix-argv* to get the command line argument "--cubetty". - Startscript gets unnecessary. -> Delete it. ------------------------------------------------------------------------ r76 | mgr | 2006-09-09 19:59:52 +0200 (Sat, 09 Sep 2006) | 5 lines M core/save-cube-lisp.lisp M core/cube-modeller.sh - Use sb-ext:*core-pathname* instead of (SB-UNIX:POSIX-GETCWD) and remove change directory from startscript. ------------------------------------------------------------------------ r75 | mgr | 2006-09-09 19:52:59 +0200 (Sat, 09 Sep 2006) | 4 lines M core/save-cube-lisp.lisp - remove alien.so/alien-bsd.so code; not necessary with newer SBCL. (Yeah!) ------------------------------------------------------------------------ r74 | mgr | 2006-09-09 19:49:48 +0200 (Sat, 09 Sep 2006) | 5 lines M viewer.lisp - Change one call to the now non-existing function mouse to process-mouse-button-event in run-sdl-event-loop... (Forgotten earlier.. argh) ------------------------------------------------------------------------ r73 | mgr | 2006-09-09 19:30:41 +0200 (Sat, 09 Sep 2006) | 7 lines M viewer.lisp - remove old, commented out look-at and rotation code - remove old, commented out LED drawing loop - remove some commented out FORMATs M viewer-draw-leds.lisp - remove old, commented out translate-f and LED material code ------------------------------------------------------------------------ r72 | mgr | 2006-09-09 19:23:42 +0200 (Sat, 09 Sep 2006) | 4 lines M viewer-draw-leds.lisp - remove old BSP code.. "mach-das".. ------------------------------------------------------------------------ r71 | mgr | 2006-09-09 19:14:28 +0200 (Sat, 09 Sep 2006) | 4 lines M cubeserver/cubeserver.py - bugfix: send a newline to the cube after writing a frame (that has been limited to 125 characters). ------------------------------------------------------------------------ r70 | mgr | 2006-09-09 19:13:39 +0200 (Sat, 09 Sep 2006) | 6 lines M cubeserver.py - Make filenames contain author and title. - Change time constants to values for the exhibition. - Add code to main to specify the comport as command line arguments. - Re-activate main(). ------------------------------------------------------------------------ r69 | mgr | 2006-09-09 19:10:36 +0200 (Sat, 09 Sep 2006) | 2 lines M cubeserver.py - later, nearly complete version, still some bugs (see next commit). ------------------------------------------------------------------------ r68 | mgr | 2006-09-09 19:09:45 +0200 (Sat, 09 Sep 2006) | 6 lines A cubeserver A cubeserver/cubeserver.py - Commit first version of Moritz' cubeserver.py. Network code works a bit; serial stuff not at all.. (Just to preserve the history.. ;-) ) ------------------------------------------------------------------------ r67 | mgr | 2006-09-09 19:04:36 +0200 (Sat, 09 Sep 2006) | 3 lines M save-cube-lisp.lisp - Add code to configure freetype on startup. ------------------------------------------------------------------------ r66 | mgr | 2006-09-09 19:03:24 +0200 (Sat, 09 Sep 2006) | 7 lines M toolbox.lisp - wrap the bodies of set-ucb-slider-value, adjust-cube-slider-for-animation, and update-color-selector in (when *application-frame* ..)s. ( - Define the :menu-bar explicitely. (Not really necessary, but more nice while developing.) - Renaming of some gui text.) ------------------------------------------------------------------------ r65 | mgr | 2006-09-09 17:52:12 +0200 (Sat, 09 Sep 2006) | 4 lines M LED-cube.lisp M toolbox.lisp - Networking in backend and GUI ------------------------------------------------------------------------ r64 | mgr | 2006-09-09 16:45:28 +0200 (Sat, 09 Sep 2006) | 6 lines M viewer.lisp - Draw a cute, little coordinate system in the lower right corner. - Comment out the "Oben-Kugel" that is superfluous now. - Tried to make the lines anti-aliased with gl:+line-smooth+ and co, but for a strange reason that did not work.. (-> commented out) ------------------------------------------------------------------------ r63 | mgr | 2006-09-09 16:39:38 +0200 (Sat, 09 Sep 2006) | 9 lines M viewer.lisp - New mouse picking algorithm: - Function get-LED-number (version that uses the OpenGL selection buffer) by get-number-of-picked-LED (uses gl-proect, see http://wiki.delphigl.com/index.php/gluUnProject) - (Function mouse-motion renamed to process-mouse-motion, and mouse renamed to process-mouse-button-event.) - process-mouse-motion changed for the new picking algorithm. ------------------------------------------------------------------------ r62 | mgr | 2006-09-09 16:17:22 +0200 (Sat, 09 Sep 2006) | 6 lines M viewer.lisp - ALso forgotton in before-last commit: In function DRAW-SPHERE: draw spheres with 20 stacks (instead of 4) again ------------------------------------------------------------------------ r61 | mgr | 2006-09-09 16:13:26 +0200 (Sat, 09 Sep 2006) | 3 lines M viewer.lisp - Function degree-to-radian forgotten in last commit.. ------------------------------------------------------------------------ r60 | mgr | 2006-09-09 16:07:26 +0200 (Sat, 09 Sep 2006) | 12 lines A viewer-draw-leds.lisp M viewer.lisp M cube-modeller.asd - make LEDs transparaent and nice: - LEDs drawn by DRAW-LEDs: "Draw leds from back to front with the BSP algorithm (binary space partitioning / painters algorithm). This is a very simplified version of the BSP algorithm that only works because of the simplicity and regularity of our scene." - changes ambient, etc. lights.. - replace glu:look-at + two rotations with manual calculation of eye-coordinates (for the BSP algorithm). (hacked together with Moritz) ------------------------------------------------------------------------ r59 | mgr | 2006-09-09 02:01:38 +0200 (Sat, 09 Sep 2006) | 5 lines M cube-transformations.lisp - new transformations: insert-text, fade-every-cube-to-back (hacked together with Antifuchs) ------------------------------------------------------------------------ r58 | mgr | 2006-09-08 19:24:51 +0200 (Fri, 08 Sep 2006) | 7 lines M about-dialog.lisp - Force font-size to be 12. - Correct centered text a bit via :adjust. - New URL of mgr's weblog. - Minor changes. ------------------------------------------------------------------------ r57 | mgr | 2006-09-08 19:22:40 +0200 (Fri, 08 Sep 2006) | 6 lines M cube-transformations.lisp - new transformations: LED-shadow, LED-shadow-fade-out, LED-shadow-fade-in, and LED-shadow-fade-in+out - Transformations reordered, to make more interesting ones appear first in the toolbox. ------------------------------------------------------------------------ r56 | mgr | 2006-09-08 19:18:08 +0200 (Fri, 08 Sep 2006) | 10 lines M clim-utilities.lisp - Function scroll-clim-stream: ;; (stream-cursor-position stream) was replaced by (cursor-position (stream-text-cursor stream)) ;; by mgr on 20060906 as a work-around. Seems not to be necessary anymore after an mvclim update. ;; (Could've been only a silly problem of a certain, old lisp-core..) - Function write-string-centered: New optional parameter ADJUST to adjust the centering ( - Function define-application-starter: only indention changes) ------------------------------------------------------------------------ r55 | mgr | 2006-09-08 19:10:19 +0200 (Fri, 08 Sep 2006) | 7 lines M viewer.lisp - Exit viewer in idle-loop when there is no toolbox process (anymore). M starter.lisp - Destroy toolbox process after viewer has been exited. BOTH are #+(or)'ed RIGHT NOW! ------------------------------------------------------------------------ r54 | mgr | 2006-09-08 19:05:49 +0200 (Fri, 08 Sep 2006) | 7 lines M starter.lisp - Don't start the viewer in a new process. Problem with the OpenGL context and threads. The contexts are thread specific and don't get destroyed with SDL. (Doesn't *seem* to be fixed even in newer versions..) ------------------------------------------------------------------------ r53 | mgr | 2006-09-08 19:01:04 +0200 (Fri, 08 Sep 2006) | 3 lines M LED-cube.lisp - set *default-frame-delay* from 0.09 to 0.05 ------------------------------------------------------------------------ r52 | mgr | 2006-09-08 18:59:57 +0200 (Fri, 08 Sep 2006) | 3 lines M LED-cube.lisp - new function get-LED, also exported. (Not used, yet.) ------------------------------------------------------------------------ r51 | mgr | 2006-08-31 16:29:26 +0200 (Thu, 31 Aug 2006) | 9 lines M toolbox.lisp M package.lisp M commands.lisp - The five color buttons are now a radio-box of toggle-buttons: - Wrapper for led-cube:set-current-intensity in commands.lisp that updates the radio box (if the toolbox is shown). - Shadow led-cube:set-current-intensity on import in package.lisp. - update-color-selector on starting of the toolbox window. ------------------------------------------------------------------------ r50 | mgr | 2006-08-31 16:21:12 +0200 (Thu, 31 Aug 2006) | 5 lines M toolbox.lisp - Set :double-buffering t for the cube-number-pane, to make it more responsive. Or is :incremental-redisplay t better? Both at the same time does not work.. ------------------------------------------------------------------------ r49 | mgr | 2006-08-31 16:18:50 +0200 (Thu, 31 Aug 2006) | 5 lines M toolbox.lisp - Forgotten in r47: climi::make-run-gui-defun renamed to climi::define-application-starter, he call in toolbox.lisp has to be changed as well. ------------------------------------------------------------------------ r48 | mgr | 2006-08-31 16:14:28 +0200 (Thu, 31 Aug 2006) | 5 lines M starter.lisp M viewer.lisp - start-viewer now has a :new-process keyword. - cube-modeller:start now starts the viewer as a new process as well. ------------------------------------------------------------------------ r47 | mgr | 2006-08-31 16:13:05 +0200 (Thu, 31 Aug 2006) | 3 lines M clim-utilities.lisp - Changes to the application starter.. ------------------------------------------------------------------------ r46 | mgr | 2006-08-31 15:34:35 +0200 (Thu, 31 Aug 2006) | 4 lines M LED-cube.lisp - In save-animation-file: Assume a "data"-file if type is not specified. ------------------------------------------------------------------------ r45 | mgr | 2006-01-07 15:51:30 +0100 (Sat, 07 Jan 2006) | 2 lines - Adds animation "JackMcCrack-Ebenen.data". ------------------------------------------------------------------------ r44 | mgr | 2006-01-07 15:50:13 +0100 (Sat, 07 Jan 2006) | 11 lines - core/save-cube-lisp.lisp: - parse-ld.so.conf, get-library-paths, find-foreign-library-wrapper, etc. trown away. - The code that gets prepended to sb-alien::try-reopen-shared-object now just gets rid of the directory information of the foreign objects. dlopen (man 3 dlopen) will then find the object (it also looks in the current directory). (The hack that renames the file "alien.so" in "sb-bsd-sockets" to "alien-bsd.so" is still included for that file.) - core/cube-modeller.sh: - Welcome message "Loading shared objects (libraries). . ." commented. ------------------------------------------------------------------------ r43 | mgr | 2006-01-03 19:43:06 +0100 (Tue, 03 Jan 2006) | 2 lines - Deleting data/querfuellen. ------------------------------------------------------------------------ r42 | mgr | 2006-01-03 19:41:53 +0100 (Tue, 03 Jan 2006) | 2 lines - Some animations. ------------------------------------------------------------------------ r41 | mgr | 2006-01-03 19:34:24 +0100 (Tue, 03 Jan 2006) | 9 lines - Major beautification and improvements, e.g.: - Now wrapping uffi:find-foreign-library instead of having a modified copy of it. - get-pathnames-from-file renamed to parse-ld.so.conf; it understands the include-statement now. - Much better debugging output while loading the shared objects. - In this stage SBCL's built-in debugger is used, but after that the Clim Debugger is used instead (which is much more nice for an graphical application). ------------------------------------------------------------------------ r40 | mgr | 2006-01-03 19:26:57 +0100 (Tue, 03 Jan 2006) | 2 lines - Minimal change. ------------------------------------------------------------------------ r39 | mgr | 2006-01-03 19:26:26 +0100 (Tue, 03 Jan 2006) | 2 lines - Welcome message "Loading shared objects (libraries). . .". ------------------------------------------------------------------------ r38 | mgr | 2006-01-03 15:28:28 +0100 (Tue, 03 Jan 2006) | 4 lines - find-foreign-library now takes a single name or a list of names (was list of names before). - New parameter errorp, if it is true (the default) and the desired shared object cannot be found, an error is thrown. ------------------------------------------------------------------------ r37 | mgr | 2006-01-03 15:26:32 +0100 (Tue, 03 Jan 2006) | 3 lines - clim-utilities.lisp now depends on package.lisp - Another minor change. ------------------------------------------------------------------------ r36 | mgr | 2006-01-02 18:40:42 +0100 (Mon, 02 Jan 2006) | 2 lines - Adds the animations in core/data/. ------------------------------------------------------------------------ r35 | mgr | 2006-01-02 18:31:27 +0100 (Mon, 02 Jan 2006) | 2 lines - Adds an about dialog (in about-dialog.lisp). ------------------------------------------------------------------------ r34 | mgr | 2006-01-02 18:30:38 +0100 (Mon, 02 Jan 2006) | 2 lines - Some changes in the debug output: Nicer shared-object finding info and a welcome message. ------------------------------------------------------------------------ r33 | mgr | 2006-01-02 18:29:26 +0100 (Mon, 02 Jan 2006) | 2 lines - Suppress OpenGL info also on the :resize event. ------------------------------------------------------------------------ r32 | mgr | 2006-01-02 18:28:46 +0100 (Mon, 02 Jan 2006) | 2 lines - New function scroll-clim-stream; now write-string-centered bases on it. ------------------------------------------------------------------------ r31 | mgr | 2006-01-02 16:26:16 +0100 (Mon, 02 Jan 2006) | 3 lines - Adds core/make-new-core.sh - core/make-new-core.sh: Adds --noinform to the parameters of sbcl. ------------------------------------------------------------------------ r30 | mgr | 2006-01-02 16:20:10 +0100 (Mon, 02 Jan 2006) | 3 lines - Set cube-modeller::*animation-pathname* to the current directory + "/data/" before starting the modeller. ------------------------------------------------------------------------ r29 | mgr | 2006-01-02 16:18:22 +0100 (Mon, 02 Jan 2006) | 4 lines - core/save-cube-lisp.lisp: Adds (delete-package 'gl) to avoid a conflict with the package :GL of SBCL's CLX that was introduced with the GLX extensions support of SBCL CLX version 0.6.1. ------------------------------------------------------------------------ r28 | mgr | 2006-01-02 16:12:24 +0100 (Mon, 02 Jan 2006) | 3 lines - Old version and first commit of the lisp-core generating code and shellscript. - New animation: hin-und-her.data ------------------------------------------------------------------------ r27 | mgr | 2006-01-02 14:48:31 +0100 (Mon, 02 Jan 2006) | 3 lines - +fill+ between the undo and reset-perspective as well as the goto-cube buttons. - Don't show the keystrokes for load- and save-animation for now. ------------------------------------------------------------------------ r26 | mgr | 2006-01-02 11:40:17 +0100 (Mon, 02 Jan 2006) | 10 lines - GOTO-CUBE now triggers SET-CUBE-SLIDER-VALUE, and INSERT-CUBE-COPY, DELETE-CUBE, DELETE-ANIMATION, UNDO, and performing a transformation will trigger ADJUST-CUBE-SLIDER-FOR-ANIMATION. By storing the *application-frame* in *toolbox-frame* the cube-slider (and the cube-number-pane) even will be updated while an animation is played (inside the idle-loop of the OpenGL viewer). (This has been done with caution so that it does not break when there is no toolbox frame.) - Minor modifications here and there (concerning the transformations-pane and the names of some transformations). ------------------------------------------------------------------------ r25 | mgr | 2006-01-02 09:14:00 +0100 (Mon, 02 Jan 2006) | 8 lines - clim-utilities.lisp: New tools: write-string-centered and throw-command - toolbox.lisp: - The callbacks for the load- and save-animation-buttons are now commands. - Renamed the application-pane to cube-number-pane, its :DISPLAY-FUNCTION shows the *current-cube-number* and number of the last cube. - The cube-slider works now; it also updates the cube-number-pane. Now only the wrapped LED-cube functions have to update it as well. ------------------------------------------------------------------------ r24 | mgr | 2006-01-01 15:00:42 +0100 (Sun, 01 Jan 2006) | 2 lines Minor patch: Correcting the comments. ------------------------------------------------------------------------ r23 | mgr | 2005-12-31 20:05:00 +0100 (Sat, 31 Dec 2005) | 2 lines Changed the asdf-file because auf the renaming of the cube-modeller.lisp file to viewer.lisp. ------------------------------------------------------------------------ r22 | mgr | 2005-12-31 20:01:12 +0100 (Sat, 31 Dec 2005) | 2 lines cube-modeller.lisp renamed to viewer.lisp. ------------------------------------------------------------------------ r21 | mgr | 2005-12-31 19:58:10 +0100 (Sat, 31 Dec 2005) | 2 lines Last reference to :bknr-actor removed. ------------------------------------------------------------------------ r20 | mgr | 2005-12-31 19:57:09 +0100 (Sat, 31 Dec 2005) | 2 lines Two new animations. ------------------------------------------------------------------------ r19 | mgr | 2005-12-31 19:56:33 +0100 (Sat, 31 Dec 2005) | 8 lines - New operation FILL-CUBE that sets all LEDs to the specified intensity (the default being *current-intensity*). The shortcut inside the viewer is #\f. EMPTY-CUBE bases on FILL-CUBE now. - toolbox.lisp: Added a invisible application-pane to make the COM-EXIT command (displayed in the menu-bar) work. The keystorke #\q does not work because there is no *standard-input* (interactor-pane), but that one has a positive minimal height. ------------------------------------------------------------------------ r18 | mgr | 2005-12-30 13:18:10 +0100 (Fri, 30 Dec 2005) | 4 lines - toolbox.lisp: - If you perform a transformation by the gui the cube will be written to the device directly afterwards. - COM-EXIT command with keystorke (#\q). Strangely, it does not work. ------------------------------------------------------------------------ r17 | mgr | 2005-12-30 01:39:20 +0100 (Fri, 30 Dec 2005) | 2 lines Just a typo.. ------------------------------------------------------------------------ r16 | mgr | 2005-12-30 01:32:19 +0100 (Fri, 30 Dec 2005) | 9 lines - Do not open and close the *device-file* in each call to WRITE-CUBE-TO-DEVICE, but open it in OPEN-CUBE-DEVICE and close it in CLOSE-CUBE-DEVICE instead. (WRITE-CUBE-TO-DEVICE opens it automatically if it is not yet opened.) The stream is stored in LED-cube::*device-stream*. - play-animation.lisp: New functions START-ANIMATION-PROCESS and STOP-ANIMATION-PROCESS to play animations independent of the OpenGL viewer. - cube-transformations.lisp: - New transformation invert-animation. - mirror-animation renamed to append-mirror-animation, and a real mirror-animation has been added. ------------------------------------------------------------------------ r15 | mgr | 2005-12-29 23:53:02 +0100 (Thu, 29 Dec 2005) | 2 lines Correct the loading of animation files in RAW format. ------------------------------------------------------------------------ r14 | mgr | 2005-12-29 23:28:21 +0100 (Thu, 29 Dec 2005) | 6 lines - New file cube-transformations.lisp; these transformation functions are pushed on the list *transformations*. - (Some nice transformations from hacks.lisp to cube-transformations.lisp moved.) - cube-modeller.lisp: - Adds option-pane to select a transformation and a button to actually perform it. - The buttons' labels now include the shortcut of the OpenGL viewer. ------------------------------------------------------------------------ r13 | mgr | 2005-12-29 21:27:36 +0100 (Thu, 29 Dec 2005) | 6 lines load-animation-file and save-animation-file changed: Gotten rid of the :TYPE argument; the file-type is now determined by the pathname-type of the pathname. Saving or loading a animation file of type RAW seems to have a bug: A saved and reloaded animation will have changed coordinates. Is this actually a bug in LED-number-to-coord? ------------------------------------------------------------------------ r12 | mgr | 2005-12-29 20:59:50 +0100 (Thu, 29 Dec 2005) | 2 lines Adds the ClIM-SYS lock *device-lock* for writing to the *device-file*. ------------------------------------------------------------------------ r11 | mgr | 2005-12-29 20:49:44 +0100 (Thu, 29 Dec 2005) | 2 lines File commands.lisp added. SHOULD HAVE BEEN ADDED EARLIER! ------------------------------------------------------------------------ r10 | mgr | 2005-12-29 20:48:06 +0100 (Thu, 29 Dec 2005) | 10 lines - clim-utilities.lisp added, macro that creates a gui starter function. - cube-modeller.lisp: - Behaviour for keypress changed back: Only known keys (but #\p) stop the animation. - START renamed to START-VIEWER. - toolbox.lisp: - state-slieder added (but not used yet) - START-TOOLBOX added. - start.lisp: New START call START-TOOLBOX and START-VIEWER. ------------------------------------------------------------------------ r9 | mgr | 2005-12-29 16:25:11 +0100 (Thu, 29 Dec 2005) | 4 lines - package.lisp and asdf-file updated. - cube-modeller.lisp: Calls to move-cube replaced by the move-{direction} variants. - Adds a "toolbox"-window (using McCLIM). ------------------------------------------------------------------------ r7 | mgr | 2005-12-28 22:39:52 +0100 (Wed, 28 Dec 2005) | 4 lines - Move-, goto-, and delete-commands from cube-modeller.lisp to commands.lisp. - Macro wrap-defun-with-cube-write, used for move-cube, goto-cube, empty-cube, delete-cube, delete-animation, and undo. ------------------------------------------------------------------------ r6 | mgr | 2005-12-28 20:18:15 +0100 (Wed, 28 Dec 2005) | 2 lines Removed wrong tags directoy. ------------------------------------------------------------------------ r3 | mgr | 2005-12-28 20:04:44 +0100 (Wed, 28 Dec 2005) | 2 lines Adding the tags directory. ------------------------------------------------------------------------ r2 | mgr | 2005-12-28 19:53:58 +0100 (Wed, 28 Dec 2005) | 3 lines - Files package.lisp and play-animation.lisp added. - The animation running code ist now in play-animation.lisp. ------------------------------------------------------------------------ r1 | mgr | 2005-12-28 17:37:27 +0100 (Wed, 28 Dec 2005) | 2 lines initial import ------------------------------------------------------------------------