diff options
| author | s-ol <s-ol@users.noreply.github.com> | 2020-05-13 14:54:47 +0000 |
|---|---|---|
| committer | s-ol <s+removethis@s-ol.nu> | 2025-03-02 14:24:47 +0000 |
| commit | 1009e82b4dc2d262bce74f160a49eeb27ee66997 (patch) | |
| tree | df64d2a3aa19fb3484c15901c623d1848b83a159 | |
| parent | add fltk4lua copilot UI (diff) | |
| download | alive-1009e82b4dc2d262bce74f160a49eeb27ee66997.tar.gz alive-1009e82b4dc2d262bce74f160a49eeb27ee66997.zip | |
add website to version.moon, update rockspec
| -rw-r--r-- | README.md | 6 | ||||
| -rw-r--r-- | alv/version.moon | 5 | ||||
| -rwxr-xr-x | bin/alv-fltk | 4 | ||||
| -rwxr-xr-x | dist/pack-win.sh | 6 | ||||
| -rwxr-xr-x | dist/release.sh | 15 | ||||
| -rw-r--r-- | dist/rocks/alive-scm-4.rockspec | 87 | ||||
| -rw-r--r-- | docs/gen/layout.moon | 1 | ||||
| -rw-r--r-- | docs/guide.md | 2 | ||||
| -rw-r--r-- | docs/index.md | 2 | ||||
| -rw-r--r-- | docs/internals/extensions.md | 10 |
10 files changed, 115 insertions, 23 deletions
@@ -31,7 +31,7 @@ manually. ## docs With `make` the HTML documentation is generated in `docs/`. -The latest documentation is publicly available online at [alive.s-ol.nu][docs]. +The latest documentation is publicly available online at [alv.s-ol.nu][docs]. ## starting the copilot @@ -62,5 +62,5 @@ development, simply pass the files as arguments: [discount]: https://luarocks.org/modules/craigb/discount [ldoc]: https://github.com/s-ol/LDoc -[docs]: https://alive.s-ol.nu -[guide]: https://alive.s-ol.nu/guide.html +[docs]: https://alv.s-ol.nu +[guide]: https://alv.s-ol.nu/guide.html diff --git a/alv/version.moon b/alv/version.moon index e2754a2..ef370c3 100644 --- a/alv/version.moon +++ b/alv/version.moon @@ -6,8 +6,9 @@ --- exports -- @table exports -- @tfield string tag the last versions git tag --- @tfield string web the repo web URL --- @tfield string repo the git repo URL +-- @tfield string repo the repo web URL +-- @tfield string git the git repo URL +-- @tfield string web the project web URL -- @tfield string release the web URL of this release { tag: "v0.1" diff --git a/bin/alv-fltk b/bin/alv-fltk index 526724c..8075540 100755 --- a/bin/alv-fltk +++ b/bin/alv-fltk @@ -28,7 +28,7 @@ class GUICopilot extends Copilot \add "&File/&Open script", '^o', -> @open! \add "&File/&Quit", '^q', -> @window\hide! @pause = \add "Run (^P)", '^p', @\pause, nil, fl.MENU_TOGGLE - \add "Help", nil, -> fl.open_uri 'https://alv.s-ol.nu' + \add "Help", nil, -> fl.open_uri version.web tile = fl.Tile 5, 40, 390, 160 @window.resizable = tile @@ -75,7 +75,7 @@ class GUICopilot extends Copilot about: => fl.alert "alive #{version.tag} fltkCopilot. -visit alv.s-ol.nu for more information." +visit #{version.web} for more information." open: (file) => file or= fl.file_chooser "Open Script", '*.alv', 'script.alv' diff --git a/dist/pack-win.sh b/dist/pack-win.sh index 06595f6..c2dee87 100755 --- a/dist/pack-win.sh +++ b/dist/pack-win.sh @@ -36,17 +36,17 @@ EOF mkdir "dist/$BUNDLE/alv-lib" cat <<EOF >"dist/$BUNDLE/alv-lib/README.txt" -You can use this directory to add extensions to alive. +You can use this directory to add extensions to alv. See the extension documentation here for more information: -https://alive.s-ol.nu/internals/topics/extensions.md.html +https://alv.s-ol.nu/stable/internals/topics/extensions.md.html EOF cat <<EOF >"dist/$BUNDLE/README.md" alive $TAG ========== -https://alive.s-ol.nu +https://alv.s-ol.nu https://github.com/s-ol/alive License diff --git a/dist/release.sh b/dist/release.sh index d6522a8..f2b1e57 100755 --- a/dist/release.sh +++ b/dist/release.sh @@ -26,13 +26,15 @@ else --- exports -- @table exports -- @tfield string tag the last versions git tag --- @tfield string web the repo web URL --- @tfield string repo the git repo URL +-- @tfield string repo the repo web URL +-- @tfield string git the git repo URL +-- @tfield string web the project web URL -- @tfield string release the web URL of this release { tag: "${TAG}" - web: "https://github.com/s-ol/alive" - repo: "https://github.com/s-ol/alive.git" + repo: "https://github.com/s-ol/alive" + git: "https://github.com/s-ol/alive.git" + web: "https://alv.s-ol.nu" release: "https://github.com/s-ol/alive/releases/tag/${TAG}" } EOF @@ -64,7 +66,7 @@ expressions persist and update until they are removed from the source code, and the interpreter keeps no state that you cannot manipulate directly in the source. This yields a direct-manipulation like experience with a purely text-based language and works without special editor support.]], - homepage = "https://alive.s-ol.nu", + homepage = "https://alv.s-ol.nu", license = "GPL-3", } @@ -90,7 +92,8 @@ $(list_modules alv-lib) }, bin = { "bin/alv", - "bin/alv-wx" + "bin/alv-wx", + "bin/alv-fltk", }, }, } diff --git a/dist/rocks/alive-scm-4.rockspec b/dist/rocks/alive-scm-4.rockspec new file mode 100644 index 0000000..bffdac5 --- /dev/null +++ b/dist/rocks/alive-scm-4.rockspec @@ -0,0 +1,87 @@ +package = "alive" +version = "scm-4" + +source = { + url = "git://github.com/s-ol/alive.git", +} + +description = { + summary = "Experimental livecoding environment with persistent expressions", + detailed = [[ +This is an experimental livecoding language and environment, in which +expressions persist and update until they are removed from the source code, and +the interpreter keeps no state that you cannot manipulate directly in the +source. This yields a direct-manipulation like experience with a purely +text-based language and works without special editor support.]], + homepage = "https://alv.s-ol.nu", + license = "GPL-3", +} + +dependencies = { + "lua", + "moonscript >= 0.5.0", + "lpeg ~> 0.10", + "luafilesystem", + "luasystem", + "luasocket", + "osc", +} + +build = { + type = "builtin", + modules = {}, + copy_directories = { "docs" }, + install = { + lua = { + ["alv.ast"] = "alv/ast.moon", + ["alv.base.builtin"] = "alv/base/builtin.moon", + ["alv.base.fndef"] = "alv/base/fndef.moon", + ["alv.base.init"] = "alv/base/init.moon", + ["alv.base.input"] = "alv/base/input.moon", + ["alv.base.match"] = "alv/base/match.moon", + ["alv.base.op"] = "alv/base/op.moon", + ["alv.base.pureop"] = "alv/base/pureop.moon", + ["alv.builtin"] = "alv/builtin.moon", + ["alv.cell"] = "alv/cell.moon", + ["alv.copilot"] = "alv/copilot.moon", + ["alv.cycle"] = "alv/cycle.moon", + ["alv.error"] = "alv/error.moon", + ["alv.init"] = "alv/init.moon", + ["alv.invoke"] = "alv/invoke.moon", + ["alv.logger"] = "alv/logger.moon", + ["alv.module"] = "alv/module.moon", + ["alv.parsing"] = "alv/parsing.moon", + ["alv.registry"] = "alv/registry.moon", + ["alv.result.base"] = "alv/result/base.moon", + ["alv.result.const"] = "alv/result/const.moon", + ["alv.result.evt"] = "alv/result/evt.moon", + ["alv.result.init"] = "alv/result/init.moon", + ["alv.result.io"] = "alv/result/io.moon", + ["alv.result.sig"] = "alv/result/sig.moon", + ["alv.rtnode"] = "alv/rtnode.moon", + ["alv.scope"] = "alv/scope.moon", + ["alv.tag"] = "alv/tag.moon", + ["alv.type"] = "alv/type.moon", + ["alv.util"] = "alv/util.moon", + ["alv.version"] = "alv/version.moon", + + ["alv-lib.logic"] = "alv-lib/logic.moon", + ["alv-lib.math"] = "alv-lib/math.moon", + ["alv-lib.midi"] = "alv-lib/midi.moon", + ["alv-lib.midi.core"] = "alv-lib/midi/core.moon", + ["alv-lib.midi.launchctl"] = "alv-lib/midi/launchctl.moon", + ["alv-lib.osc"] = "alv-lib/osc.moon", + ["alv-lib.pilot"] = "alv-lib/pilot.moon", + ["alv-lib.random"] = "alv-lib/random.moon", + ["alv-lib.sc"] = "alv-lib/sc.moon", + ["alv-lib.string"] = "alv-lib/string.moon", + ["alv-lib.time"] = "alv-lib/time.moon", + ["alv-lib.util"] = "alv-lib/util.moon", + }, + bin = { + "bin/alv", + "bin/alv-wx", + "bin/alv-fltk", + }, + }, +} diff --git a/docs/gen/layout.moon b/docs/gen/layout.moon index f695963..4d43737 100644 --- a/docs/gen/layout.moon +++ b/docs/gen/layout.moon @@ -62,6 +62,7 @@ abs = (page) -> -- builtin-name; mod.name/name; mod.name link = (ref) -> return version.web if ref == '*web*' + return version.git if ref == '*git*' return version.repo if ref == '*repo*' return version.release if ref == '*release*' diff --git a/docs/guide.md b/docs/guide.md index 483f60a..94f3e27 100644 --- a/docs/guide.md +++ b/docs/guide.md @@ -59,7 +59,7 @@ be a note marking the parts of the guide where specific dependencies are required. After installing the dependencies, you can download the `alv` source code -from the [releases page][:*release*:], or clone the [git repository][:*web*:]: +from the [releases page][:*release*:], or clone the [git repository][:*repo*:]: $ git clone https://github.com/s-ol/alive.git diff --git a/docs/index.md b/docs/index.md index 7979876..1ed709a 100644 --- a/docs/index.md +++ b/docs/index.md @@ -16,7 +16,7 @@ system seamlessly, without resetting any part of your program (unless you want it to). `alv` is free and open source software. The code is currently being hosted -[on github][:*web*:], and is licensed under [GPLv3][license]. +[on github][:*repo*:], and is licensed under [GPLv3][license]. If you want to learn more or try out `alv` yourself, the [getting started][guide] page is a good place to start. On the other hand, if diff --git a/docs/internals/extensions.md b/docs/internals/extensions.md index bc07e58..e541d9a 100644 --- a/docs/internals/extensions.md +++ b/docs/internals/extensions.md @@ -155,7 +155,7 @@ There are four types of `Result`s that can be created: to the same value it already had. They are updated using `SigStream:set`. - `EvtStream`s transmit *momentary events*. They can transmit multiple events in a single tick. `EvtStream`s do not keep a value set on the last tick on - the next tick. They are updated using `EvtStream:add`. + the next tick. They are updated using `EvtStream:set`. - `IOStream`s are like `EvtStream`s, but their `IOStream:poll` method is polled by the event loop at the start of every tick. This gives them a chance to effectively create changes 'out of thin air' and kickstart the execution @@ -190,19 +190,19 @@ will be necessary. To implement a custom IOStream, create it as a class that inherits from the `IOStream` base and implement the constructor and `IOStream:poll`: - import IOStream from require 'alv.base' + import T, IOStream from require 'alv.base' class UnreliableStream extends IOStream - new: => super 'bang' + new: => super T.bang poll: => if math.random! < 0.1 - @add true + @set true In the constructor, you should call the super-constructor `EvtStream.new` to set the event type. Often this will be a custom event that is only used inside your extension (such as e.g. the `midi/port` type in the [midi][modules-midi] -module), but it can also be a primitive type like `'num'` in this example. In +module), but it can also be a primitive type like `T.bang` in this example. In `:poll`, your IOStream is given a chance to communicate with the external world and create any resulting events. The example stream above randomly sends bang events out, with a 10% chance each 'tick' of the system. Note that there is no |
