rbrisita / codio-sui Goto Github PK
View Code? Open in Web Editor NEWThis project forked from wix-incubator/codio
A media format for VS Code to record and playback the process of programming.
License: GNU Affero General Public License v3.0
This project forked from wix-incubator/codio
A media format for VS Code to record and playback the process of programming.
License: GNU Affero General Public License v3.0
Check for FFMPEG
Install FFMPEG Dependency depending on OS.
VS Code closes and opens documents on Language Id changes; plaintext
to javascript
. Incorporate into DocumentEvent type.
A pop-up dialog appears at the end of a recording when there are unsaved Untitled files.
Make Codio Stop command to be consistent with other commands.
This allows for better interfaces and automated tests.
Happens when the same tree item codio or another is clicked while one is already playing. It should start the one clicked. Seems to be when view item is in progress.
Review recorder loadCodio and extract isRecording conditional check to command.
One can record a file with the same name.
Let's not overwrite a file that already exists without a prompt.
If a user rewinds or forwards while paused, the codio shouldn't play.
Look at Player playFrom
Should only play if codio isPlaying
before.
Initial review shows that maybe each media either has a goto
method or their play
methods have a pause option.
#74
#v1
Temporary files are created when the view/item/context
icon is clicked.
Newly created files are not saved with content.
Files open too quickly regardless when the presenter opened them. The Editor doesn't take into account when the file was opened.
Optimize Change, Selection, and Visible Range events. They can be compressed.
Look at:
src/editor/frame
ShadowDocument
create_frame
apply_frame
src/utils.ts
overrideEditorText
The 'playFrom' command only works while a codio is playing. This should worked when paused too.
This might have to do with startCodio
method and process member. Compare with playCodio
command.
After selecting a codio to play, playFrom
seems to brake. Does not function correctly.
Error: abort from undefined.
During the playing of a codio, created Untitled files are left over in the workspace when they are saved to another file name.
Review if exec should be used or spawn for audio recording and playing back; especially on a low-end machine.
Currently cannot find audio recording device on Linux/ARM architecture.
Focusing on this to support all VSCode OSes before putting any more effort to dependencies.
Add the ability to pause and resume a recording.
"commandPalette": [
{
"command": "myExtension.sayHello",
"when": "editorLangId == markdown"
}
A user wants to do exploratory programming and clicks on a file to pause the codio playing.
Different formats have different compressions and uses.
Cancelling change events (typing) is broken. There are times that the setTimeout still fires after stopping play back.
Handle a codio recording and opening the file after recording starts.
When a file is created the open event isn't saved because there isn't any content. The created file event should be processed as an open event to resolve similar issues found with opening files.
Better handling of events processing and stopping. The combination of timer and asynchronous functions do not cleanly stop the processing of events.
I get the following error on Visual Studio Code on MacOS Monterey 12.1, MacBook Air M1 2020 - "Codio could not find an audio recording device".
There's an ffmpeg in PATH, version 4.4.1, built with clang version 11.1.0
Do you support arm64 macs? If not, could you hint at what I need to do to add support?
Review changes to a modified file.
Open file, and change events are happening. What happens when the cursor changes before the change event?
Should change events have previous content stored?
If paused and modified, maybe search events for last save or open and consolidate up to change event on resume?
The recorder will break if a codio is recorded without opening a file.
finish recording failed TypeError: Cannot read property 'dispose' of undefined
at CodeEditorRecorder.stopRecording (c:\Users\rb\projects\codecanon\test_no-codio_canon\.vscode\extensions\wix.codio-0.1.13\out\recorder\Editor.js:99:50)
at Recorder.<anonymous> (c:\Users\rb\projects\codecanon\test_no-codio_canon\.vscode\extensions\wix.codio-0.1.13\out\recorder\Recorder.js:70:37)
The command 'executeFile' is broken. Is it even needed?
(node:29296) Warning: To load an ES module, set "type": "module" in the package.json or use the .mjs extension.
(Use `node --trace-warnings ...` to show where the warning was created)
c:\Users\rb\projects\codecanon\test_html_canon\src\extension.ts:1
import { commands, ExtensionContext, Uri } from "vscode";
^^^^^^
SyntaxError: Cannot use import statement outside a module
Not all files are being saved.
Update UI to be more consistent:
If a codio can’t access a file it won’t start.
startCodio failed Error: cannot open file:///c%3A/Users/rb/projects/codecanon/test_no-codio_canon/dummy.html. Detail: Unable to read file 'c:\Users\rb\projects\codecanon\test_no-codio_canon\dummy.html' (Error: Unable to resolve non-existing file 'c:\Users\rb\projects\codecanon\test_no-codio_canon\dummy.html')
Processing the open event of an untitled file could be cleaner.
When a file is not open td
variable will be undefined and an error occurs.
Unsaved unfocused (untitled ?) files conflicts with a codio that creates another (untitled?) file to modify.
Review workspace.textDocuments as there are files that appear during play when files were open and closed prior to recording.
Seems like scheme should be checked:
Maybe switch out for 7zip; better compression overall.
Review utils promisify
usage that only FSManager uses. There are synchronous versions already available for most if not all.
Need better indicator and controls that a recording/playing is happening and what file is being recorded/playing.
https://code.visualstudio.com/api/references/icons-in-labels
Play
*play
*debug-start
Fast Foward
Rewind
debug-pause
debug-stop
close
save
record
megaphone
pulse
QuickPickItem Buttons
https://code.visualstudio.com/updates/v1_63#_quick-pick-api-improvements
Modal Messages
https://code.visualstudio.com/updates/v1_58#_details-for-modal-messages
Status Bar Hover
https://code.visualstudio.com/updates/v1_58#_rich-status-bar-hover
https://code.visualstudio.com/updates/v1_59#_rich-status-bar-hover
#v1
Forwarding past the end produces error:
TypeError: Cannot read property 'startTime' of undefined
at Subtitles.play (c:\Users\rb\projects\codecanon\test_html_canon\.vscode\extensions\wix.codio-0.1.13\out\player\Subtitles.js:87:31)
at Player.play (c:\Users\rb\projects\codecanon\test_html_canon\.vscode\extensions\wix.codio-0.1.13\out\player\Player.js:94:30)
codio-intellij/
docs/intellij-docs.md
docs/vscode-docs.md
LICENSE.md
README.md
vscode/eslint.diff
vscode/.codio
Delete unused images in vscode/media/.
Merge:
src\commands\index.ts
src\consts\command_names.ts
Not Needed:
src\sdk.ts
hi there!
Codio looks like an amazing tool, I look forward to using it, right now I am having trouble: codio I get the following error message,
Codio Could not find an audio recording device
thank you very much
laurent
additional info:
I have ffmpeg installed. When in the terminal I type "ffmpeg -version" and get the following:
ffmpeg -version
ffmpeg version 4.2.4-1ubuntu0.1 Copyright (c) 2000-2020 the FFmpeg developers
built with gcc 9 (Ubuntu 9.3.0-10ubuntu2)
configuration: --prefix=/usr --extra-version=1ubuntu0.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-nvenc --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
libavutil 56. 31.100 / 56. 31.100
libavcodec 58. 54.100 / 58. 54.100
libavformat 58. 29.100 / 58. 29.100
libavdevice 58. 8.100 / 58. 8.100
libavfilter 7. 57.100 / 7. 57.100
libavresample 4. 0. 0 / 4. 0. 0
libswscale 5. 5.100 / 5. 5.100
libswresample 3. 5.100 / 3. 5.100
libpostproc 55. 5.100 / 55. 5.100
At the end of a recording it doesn't seem that all files are being saved.
The call workspace.saveAll(true);
is all or nothing.
On jump forward or backward sections get selected. This should not happen.
Currently a user cannot cancel a recording. It will always create a file.
To allow recording of terminal placement and commands. Is this possible?
https://code.visualstudio.com/updates/v1_58#_integrated-terminal
https://code.visualstudio.com/docs/editor/integrated-terminal
https://www.growingwiththeweb.com/2017/03/mastering-vscodes-terminal.html
https://code.visualstudio.com/api/references/vscode-api#Terminal
https://code.visualstudio.com/api/references/vscode-api#Pseudoterminal
Terminal Examples
https://github.com/Microsoft/vscode-extension-samples/tree/main/terminal-sample
https://github.com/Microsoft/vscode-extension-samples/tree/main/extension-terminal-sample
#v1
Add closing an Untitled file before deleting, otherwise it stays in the editor after delete on playback.
startCodio failed TypeError: Cannot destructure property 'document' of 'getInitialFileFromInitialFrame(...)' as it is undefined.
at Object.getInitialFilePathAndContentFromFrame (c:\Users\rb\projects\codecanon\test_no-codio_canon\.vscode\extensions\rbrisita.codio-sui-0.5.4\out\editor\frame\create_frame.js:22:13)
at CodeEditorPlayer.<anonymous> (c:\Users\rb\projects\codecanon\test_no-codio_canon\.vscode\extensions\rbrisita.codio-sui-0.5.4\out\player\Editor.js:33:57)
This will remove OS type checks in the code and centralize logic per OS type on boot of the extension.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.