@burnsauce
Latest commit ad358cd Oct 12, 2017 History
* Fixes #35 by guarding SCENE from initial I script

Added an initialization flag to the scene state to denote when a scene
is first loading.  SCENE operator aborts if the flag is present.

* Fixes #63 by overhauling data entry in tracker

Buffered input
Clear-on-new-entry
Apply-on-Enter
Abort-on-navigation
Incrementers wrap around 16-bit limits
Number entry blocks if it would exceed limits

* New Op: MSPB (milliseconds per beat)

* Fixes #14 by allowing code commenting with alt-/

* New Op: LAST - delta between script run times

Now tracking script number in the execution state and script last run
times in the script state.

One line tap tempo (hit F1 twice):
1: M LAST
M: TR.P 1

* Fixes #38 by making AVG round UP

AVG -32767 -32768 == -32767
AVG 32767 32766 == 32767

* Fixes #38 by making Q.AVG round UP

* New Op: BREAK (alias BRK): Terminates a script

* New Op: W (while loop)

Maximum depth set by WHILE_DEPTH (default 10000)

* Bugfix for W op: while counter for each exec_depth

SCRIPT was breaking W.  Now it doesn't.

* Added documentation for W op

* Added docs for BREAK op

* Added docs for LAST op

* Updated keystroke documentation

* Updated keystroke documentation

* Updated SCENE documentation to reflect I behaviour

* Fixes #94 by tracking execution states by depth

If conditions and for loop iterators do not transcend their execution
depth.

Live mode now behaves like this:

> L 1 4: A I
> A => 4
> I => 0

I is 0 because it exists in a different context than the first command.

* Bugfix: fixes recursion crash

As a result, the code is cleaner and easier to read.

Short story: only SCRIPT should call es_push and es_pop

* Formatting mistake

* Renamed MSPB to BPM

* Fixes #2 by correcting fencepost error in P.RM

* Teletype 2.1 beta 1 build

* Poor merging discipline problems fixed

PEBCAK / ID 10 T error

* Added built zip.

* Fixes M in beta1

* Changed LAST, added THIS, fixed behaviour

* Added beta2 build

* Code cleanup, commenting

* Half-fixes operator table in documentation

* Beta2 tag in Makefile

* Forced L to respect BREAK's authority

* Fixes #93 by clearing TRs in tele_kill

* Added turtle structures and function prototypes

* Added turtle function bodies, updated prototypes.

* Added Turtle operators to turtle.c

* Finished up operators, needs testing.

* Fixed WRAP and BUMP turtle behaviour

and various other things that needed fixing.

* Preparing for beta3 release

* Released beta3

* A turtle that works and is partially tested

Fixed WRAP behaviour
Changed UP to N, etc.
Added FX1, FY1, FX2, FY2 individual get/set for fence
Added HX, HY for home get/set
Added tests for fence and WRAP behaviour (more to come)

* Test revealed bug with new operator

* Fixed test framework and some bugs with turtle

* Test naming fix

* Fixed bugs with WRAP mode

* Prevent a crash with bounds checking

* Fixed confusion between Q15 and Q12 in sin call

* Updated makefile for beta4 release

* Added beta4 build

* Added some tests, fixed others

* Fixed divide by zero in Q.AVG

* Modified operators to match approved set

* Fixed a test

* Added es_push() after es_init()

* Cleaned up test file.

* Implemented @script

* Updated to approved syntax and began testing

* Moved turtle stuff out of state.h/c into new files

* Committed to sin() logic for all calculations

* Added release files for beta5

* Fixed various turtle bugs

* Added final beta5 build

* Trigger Travis build

* Added turtle object files

* Ninja patch to beta5

CTRL-F numbers now enable disable scripts
CTRL-F9 toggles the metro
KILL updated

* Adjusted travis build to detect test errors

* Updated changelog

* Updated broken tests to reflect bounce behaviour

Also to test travis-ci

* Fixed travis-test Makefile deps

* Added a few tests and squashed the sin() bug

Should really have tested it this way sooner.

* Removed hex file from repo.

* Beta 6 prep

* Removed hex file.

* Implemented @show

@show 1 now produces an @ sign beside the current turtle cell in pattern
(tracker) mode.

* Temp script no longer accessible via [ and ]

* Changed THIS -> SCRIPT getter

Now instead of SCRIPT THIS for recursion, SCRIPT SCRIPT.
Per @tehn.

* Fixes fix of [ and ] accessing temp script.

A shameful commit.

* Changed Turtle @show symbol to <

* Changed COMMAND_MAX_LENGTH to 16

* Changed STACK_OP_SIZE to 16

* Changed Q_LENGTH to 64

* Updated CHANGELOG

* Fixed [ still showing temp script

The second such shameful commit.

* SCRIPT now returns 0 in live mode

* Added more 2.1 documentation

- Turtle operator
- Minor other fixes

* Changed @Bounce and @bump behaviour at fence

@bump won't actually change behaviour, but its internal fraction will
remain at a 0.5 offset.

* Fixed @Bounce where x2 = x1 + 1

* Fixed test case

* Added Shift-2 = Toggle @show in TRACKER

Plus a little refactor of access to turtle.shown

* Reverted to git dirty flag for release

* Initial implementation of EVERY

* Fixed simulator Makefile for EVERY

* Added SKIP, OTHER, and SYNC

* Changed OTHER to reflect any last EVERY or SKIP

OTHER now makes sense at the top of the script.

* Cleared the every_last flag on SYNC

* Tracker entry mode changes

Enter no longer moves down a cell
Increment and decrement no longer exceed int16 limits

* Unified in/decrement between edit and nav modes

Now wraps around limits instead of bumping

* Updated CHANGELOG for 2.1.0-rc1

* Removed references to @accel and @frict

* Fixed formatting for 2.1 release

* Included EVERY in changelog

* Removed old, commented-out code.

* Updated help mode for 2.1

* Fixed line overflow in @f doc line

* Fixed formatting

One more pass at make format

* Changed sin() to _sin() to avoid warning

Not like we were linking against libmath but GCC won't shut up.

* Changed documentation header for Turtle

removed word 'operator'.

* Added some missing documentation

@step, BRK were missing
TR.P alias was broken

* Fixed ss_clear_script()

I must have been out of it when I wrote that code!
1 contributor

Users who have contributed to this file