mirror of
https://github.com/spacedeck/spacedeck-open.git
synced 2026-01-29 22:45:25 +01:00
Compare commits
1 Commits
a5914ab600
...
prep-for-u
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8da39e6271 |
21
Dockerfile
21
Dockerfile
@@ -1,7 +1,26 @@
|
|||||||
FROM node:18-alpine
|
FROM node:10-alpine3.11
|
||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
|
# build audiowaveform from source
|
||||||
|
|
||||||
|
RUN apk add git make cmake gcc g++ libmad-dev libid3tag-dev libsndfile-dev gd-dev boost-dev libgd libpng-dev zlib-dev opus-dev
|
||||||
|
RUN apk add zlib-static libpng-static boost-static
|
||||||
|
|
||||||
|
RUN apk add autoconf automake libtool gettext
|
||||||
|
RUN wget https://github.com/xiph/flac/archive/1.3.3.tar.gz
|
||||||
|
RUN tar xzf 1.3.3.tar.gz
|
||||||
|
RUN cd flac-1.3.3/ && ./autogen.sh
|
||||||
|
RUN cd flac-1.3.3/ && ./configure --enable-shared=no
|
||||||
|
RUN cd flac-1.3.3/ && make
|
||||||
|
RUN cd flac-1.3.3/ && make install
|
||||||
|
|
||||||
|
RUN git clone https://github.com/bbc/audiowaveform.git
|
||||||
|
RUN mkdir audiowaveform/build/
|
||||||
|
RUN cd audiowaveform/build/ && cmake -D ENABLE_TESTS=0 -D BUILD_STATIC=1 ..
|
||||||
|
RUN cd audiowaveform/build/ && make
|
||||||
|
RUN cd audiowaveform/build/ && make install
|
||||||
|
|
||||||
# install chromium
|
# install chromium
|
||||||
RUN apk add --no-cache \
|
RUN apk add --no-cache \
|
||||||
chromium \
|
chromium \
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ We appreciate filed issues, pull requests and general discussion.
|
|||||||
|
|
||||||
Spacedeck requires:
|
Spacedeck requires:
|
||||||
|
|
||||||
- Node.js 18.x: Web Server / API. Download: https://nodejs.org
|
- Node.js 10.x: Web Server / API. Download: https://nodejs.org
|
||||||
- Graphicsmagick. On non-Linux, Download: http://www.graphicsmagick.org/ On Linux, install via package manager.
|
- Graphicsmagick. On non-Linux, Download: http://www.graphicsmagick.org/ On Linux, install via package manager.
|
||||||
- Optionally ffmpeg, audiowaveform and ghostscript. See "Optional Dependencies" below.
|
- Optionally ffmpeg, audiowaveform and ghostscript. See "Optional Dependencies" below.
|
||||||
|
|
||||||
|
|||||||
@@ -8,8 +8,7 @@ const path = require('path')
|
|||||||
const db = require('../models/db')
|
const db = require('../models/db')
|
||||||
const Sequelize = require('sequelize')
|
const Sequelize = require('sequelize')
|
||||||
const Op = Sequelize.Op
|
const Op = Sequelize.Op
|
||||||
const { v4: uuidv4 } = require('uuid');
|
const uuidv4 = require('uuid/v4')
|
||||||
|
|
||||||
|
|
||||||
require('../models/db')
|
require('../models/db')
|
||||||
|
|
||||||
|
|||||||
@@ -199,7 +199,6 @@
|
|||||||
"tool_scribble": "Scribble",
|
"tool_scribble": "Scribble",
|
||||||
"tool_line": "Line",
|
"tool_line": "Line",
|
||||||
"tool_arrow": "Arrow",
|
"tool_arrow": "Arrow",
|
||||||
"tool_pan": "Pan",
|
|
||||||
"search_media_placeholder": "Search web media…",
|
"search_media_placeholder": "Search web media…",
|
||||||
"add_zone": "New Zone",
|
"add_zone": "New Zone",
|
||||||
"palette": "Palette",
|
"palette": "Palette",
|
||||||
@@ -330,4 +329,4 @@
|
|||||||
"tool_space_help_part_one": "Use the toolbar to add content.",
|
"tool_space_help_part_one": "Use the toolbar to add content.",
|
||||||
"tool_space_help_part_two": "You can also drop images or sound and video files.",
|
"tool_space_help_part_two": "You can also drop images or sound and video files.",
|
||||||
"tool_delete_space": "Really delete \"%s\"?"
|
"tool_delete_space": "Really delete \"%s\"?"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2562,17 +2562,6 @@ var SpacedeckSections = {
|
|||||||
this.opened_dialog = "none";
|
this.opened_dialog = "none";
|
||||||
},
|
},
|
||||||
|
|
||||||
start_pan: function(evt) {
|
|
||||||
this.deselect();
|
|
||||||
if (this.active_tool == "pan") {
|
|
||||||
this.active_tool = "pointer";
|
|
||||||
} else {
|
|
||||||
this.active_tool = "pan";
|
|
||||||
}
|
|
||||||
this.opened_dialog = "none";
|
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
start_drawing_scribble: function(evt) {
|
start_drawing_scribble: function(evt) {
|
||||||
this.deselect();
|
this.deselect();
|
||||||
if (this.active_tool == "scribble") {
|
if (this.active_tool == "scribble") {
|
||||||
|
|||||||
@@ -733,7 +733,7 @@ function setup_whiteboard_directives() {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_.include(["zoom", "scribble", "pan"], $scope.active_tool)) {
|
if (_.include(["zoom", "scribble"], $scope.active_tool)) {
|
||||||
// tools that stay active after use
|
// tools that stay active after use
|
||||||
this.mouse_state = "idle";
|
this.mouse_state = "idle";
|
||||||
$scope.mouse_state = this.mouse_state;
|
$scope.mouse_state = this.mouse_state;
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ var router = express.Router();
|
|||||||
const db = require('../../models/db');
|
const db = require('../../models/db');
|
||||||
const Sequelize = require('sequelize');
|
const Sequelize = require('sequelize');
|
||||||
const Op = Sequelize.Op;
|
const Op = Sequelize.Op;
|
||||||
const { v4: uuidv4 } = require('uuid');
|
const uuidv4 = require('uuid/v4');
|
||||||
|
|
||||||
router.get('/:membership_id/accept', function(req, res, next) {
|
router.get('/:membership_id/accept', function(req, res, next) {
|
||||||
if (req.user) {
|
if (req.user) {
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ const os = require('os');
|
|||||||
const db = require('../../models/db');
|
const db = require('../../models/db');
|
||||||
const Sequelize = require('sequelize');
|
const Sequelize = require('sequelize');
|
||||||
const Op = Sequelize.Op;
|
const Op = Sequelize.Op;
|
||||||
const { v4: uuidv4 } = require('uuid');
|
const uuidv4 = require('uuid/v4');
|
||||||
|
|
||||||
var payloadConverter = require('../../helpers/artifact_converter');
|
var payloadConverter = require('../../helpers/artifact_converter');
|
||||||
var redis = require('../../helpers/redis');
|
var redis = require('../../helpers/redis');
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ var config = require('config');
|
|||||||
const db = require('../../models/db');
|
const db = require('../../models/db');
|
||||||
const Sequelize = require('sequelize');
|
const Sequelize = require('sequelize');
|
||||||
const Op = Sequelize.Op;
|
const Op = Sequelize.Op;
|
||||||
const { v4: uuidv4 } = require('uuid');
|
const uuidv4 = require('uuid/v4');
|
||||||
|
|
||||||
var redis = require('../../helpers/redis');
|
var redis = require('../../helpers/redis');
|
||||||
var mailer = require('../../helpers/mailer');
|
var mailer = require('../../helpers/mailer');
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ var config = require('config');
|
|||||||
const db = require('../../models/db');
|
const db = require('../../models/db');
|
||||||
const Sequelize = require('sequelize');
|
const Sequelize = require('sequelize');
|
||||||
const Op = Sequelize.Op;
|
const Op = Sequelize.Op;
|
||||||
const { v4: uuidv4 } = require('uuid');
|
const uuidv4 = require('uuid/v4');
|
||||||
|
|
||||||
var redis = require('../../helpers/redis');
|
var redis = require('../../helpers/redis');
|
||||||
var mailer = require('../../helpers/mailer');
|
var mailer = require('../../helpers/mailer');
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ const _ = require('underscore');
|
|||||||
const db = require('../models/db');
|
const db = require('../models/db');
|
||||||
const Sequelize = require('sequelize');
|
const Sequelize = require('sequelize');
|
||||||
const Op = Sequelize.Op;
|
const Op = Sequelize.Op;
|
||||||
const { v4: uuidv4 } = require('uuid');
|
const uuidv4 = require('uuid/v4');
|
||||||
|
|
||||||
router.get('/', (req, res) => {
|
router.get('/', (req, res) => {
|
||||||
res.render('index', { config:config, user:req.user });
|
res.render('index', { config:config, user:req.user });
|
||||||
|
|||||||
@@ -18,11 +18,6 @@
|
|||||||
|
|
||||||
<button class="btn btn-divider"></button>
|
<button class="btn btn-divider"></button>
|
||||||
|
|
||||||
<button class="btn btn-icon-labeled btn-transparent" v-on:click="start_pan()" v-bind:class="{active:active_tool=='pan'}" title="<%=__("tool_pan")%>">
|
|
||||||
<span class="icon icon-move"></span>
|
|
||||||
<span class="icon-label"><%=__("tool_pan")%></span>
|
|
||||||
</button>
|
|
||||||
|
|
||||||
<div class="dropdown top left light" v-bind:class="{open:opened_dialog=='shapes'}">
|
<div class="dropdown top left light" v-bind:class="{open:opened_dialog=='shapes'}">
|
||||||
<div class="btn-collapse in" title="<%=__("tool_shape")%>">
|
<div class="btn-collapse in" title="<%=__("tool_shape")%>">
|
||||||
<button class="btn btn-transparent btn-icon-labeled" v-bind:class="{open:opened_dialog=='shapes'}" v-on:click="open_dialog('shapes')">
|
<button class="btn btn-transparent btn-icon-labeled" v-bind:class="{open:opened_dialog=='shapes'}" v-on:click="open_dialog('shapes')">
|
||||||
|
|||||||
Reference in New Issue
Block a user