• Github Blog: Show your projects in motion with animated GIFs
    24 replies, posted
how to record a 7mb gif of code
I automatically block any media bigger than 5mb, it's quite ridiculous Should be pushing video formats. It's 800kb. Fuck you github https://files.facepunch.com/forum/upload/1755/77ff5467-39e6-4de5-9325-5c47c598df01/41991411-2e6aee38-79fa-11e8-8a65-61288ffdb8bf.webm
http://blog.bahraniapps.com/gifcam/ I have been using gifcam whenever I need to record a gif, which then can be hosted on imgur. It has preview tools (including filesize), some editing tools post recording, and is generally fast and lightweight. webms and other video formats just feel a lot more bulky for a few seconds of footage.
I've been using ShareX (and it's predecessor) for seven years The video recording tool remains as simple as ever in comparison to every other feature on the tool https://files.facepunch.com/forum/upload/1755/1c5df32d-5f0a-4350-9602-841796ce5ef0/image.png Imgur, as behind as they are in anything competant finally allowed users to upload video files recently, even after converting big gifs to webm/mp4s already (gifv are html with video files) I host my files on an azure blob storage in my own state, about three cents a month. Unless you're working with pretty small graphics, which are perfect for gif, video files offer better quality (interlaced video vs lossy palletes), download faster, and can appear to process faster. Webm's aren't supported by apple for whatever fucked up reason (Do they just hate VP8/9?), While they have invested a bit in hardware decoding support for H.264 Regardless, a 10x decrease in filesize is a noticeable difference, which might explain why image hosting platforms have been adopting video formats.
I use ShareX too. The whole of Facepunch do. We have it upload to amazon s3 automatically. ShareX makes me want to make a Garry's Mod of Windows..
Garry's Mod of Windows I'm intrigued but unclear
Gmod 11 confirmed? Not Running off Source or Source 2 engine, but Windows NT?
No the idea is kind of like a ShareX, but more modular. ShareX has a concept of destinations, which is cool, but they're all bundled. What I would propose, would be something like ShareX but you install modules from an app store type thing. These modules use the systems provided by the ShareX type thing to make things easier, and to talk to each other. For example, I make a file writing module, it writes files to Amazon S3, it implements some interface. Then someone else makes a module that captures a rectangle on the screen to raw bytes. Someone else makes a module to write those bytes to a png. So then you can make an event.. which is triggered and does all this so it uploads a rect of the screen. The event could be a key press, or running a shortcut, or some timer.
Will it support DarkRP
If you do this, is there any chance it would be open source and/or multiplatform?
if in c#, make your core application in .net core, to target most operating systems. From there, then you can probably define the os compatibility for modules separately Like the a UI could be made completely optional. Something like if you've played nier:automata, where UIs can be disabled by removing them from your inventory
I also thought before about making plugin system for destinations but there were many factors which could make it inconvenient for users, at least for non power users. Also security was big concern too. Because if I implemented plugin system it would use C# as language of choice which would not let me restrict access to dangerous codes like Lua. And most definitely I wouldn't like using Lua as scripting language choice too. Also if plugins were a thing then most people wouldn't pull request any uploaders and instead host it their self as plugin which would force users to trust other users libraries, especially for most used uploaders which would be bigger problem. Even if source of plugin is checked and verified it is safe still because of auto updating, after every update codes must be re checked. Not to mention if that plugin is not open source then checking would be even more difficult. And because ShareX is used in commercial environments frequently, this would be big concern for them and forcing them to only using built in uploaders and avoiding plugin destinations. And then there was concern of ease of creating uploaders. This is different than game addons because every user can have their own hosted uploader and we can't expect everyone to have knowledge of used language for plugin system. User must be able to create uploader for his own hosted uploader with ease. Without inner knowledge of how http request stuffs works and how to program plugin. So because of security and making it easy as possible, I needed to think another way. So after some thinking I decided about making custom uploader system which would be secure solution and everyone would be able integrate their uploaders to ShareX and easily share it with their users and friends. Of course this decision come with big disadvantage like supporting more complicated uploaders which requires more than one request is not possible anymore but it was compromise I decided to take. But at least because ShareX is open source users can pull request those uploaders like YouTube and Google Cloud Storage added in latest version. There is also possibility of making everything modular like Garry mentioned. Like tasks, tools, after capture tasks, after upload tasks. For example for task I can give region capture as example. There is currently 3 different region capture type: Default (which have on screen annotation support), transparent (which using layered window to make background transparent so you can see videos etc. behind) and light (for people who have performance issues or want simple region capture experience). These tasks could be plugin and user could install region capture type he wants to use from plugin store. That way if someone not likes how region capture works could modify current one and make his own one and share it in plugin store. But probably Garry were thinking about system which would act similar to Unreal Engine blueprint system. So you can write modules with C# which can have input and outputs. Then you can drag that modules to node graph UI. From there you can connect input and outputs to other modules. That way there would be no need for after capture tasks, after upload tasks or destinations and give unlimited extendability. For example you can drag hotkey module first then add task module for custom region capture implementation and connect hotkey to that module. Then region capture task module can output image. Then add image to bytes module which would output it as MemoryStream. Most modules will require Stream as input so it could be MemoryStream, FileStream etc. Such as save to file or uploading to destination. So full blueprint would look like this: On hotkey trigger (Option: PrintScreen) ⬇ Start custom region capture (Output: Image) ⬇ Convert to bytes (Input: Image, Output: Stream(MemoryStream)) ⬇---------------------------------------------------------------------------------------⬇ (branching to two modules) Save as PNG (Input: Stream, Output: String file path) Upload to Imgur (Input: Stream, Output: String URL) ⬇------------------------------------------------------------------------⬇ (branching to two modules) Share string to Twitter (Input: String) Copy string to clipboard (Input: String) So like this you can have full control on behavior of whole task process and insert/delete/download more modules. Of course amount of complexity for such full modular system would be too much work for me and I wouldn't be able to handle it as sole developer working on this project. Not to mention normal users won't be able to use such complicated system anyway. Which means current way how ShareX works would be easier and better for most users. But there is one thing I want to make modular about destination. Currently in destination settings window it lists all available uploaders as tabs which not lets user to have multiple configurations per uploader. If it had for example combo box and add button near it, then user could press that add button and then select uploader they want to create configuration for. That way user could add for example 3 different Amazon S3 configurations and be able to connect any of these configurations depending on situations such as destination type (image, text, file) or file extension (.png, .gif, .mp4) or even file size. Which would give more flexibility to user. By the way I'm also using Amazon S3. 👍
So you're basically recreating linux?
I wouldn't really want it to be that granular and hard to use. I think ideally a user would download a "screen snipping" mod, which would default to taking a png and saving on the clipboard. But of course a user could go in there and change the file type and destination. It feels like there's more opportunities, I think ShareX explores some of them, here: https://files.facepunch.com/garry/2df434f3-5f3f-4bb0-bdff-121ffdb5819c.png I think the challenge would be making these things more available. Like, I know these things exist but never use them - because I have to right click and menu and select a submenu. It feels like for them to be really useful they;'d need to integrate better with the os, ie - be able to press windows key and type color picker to select it from the start menu, or pin to the taskbar. But these are the kind of tools I'd imagine people would make with the SDK. Every day useful stuff.
The only one out of these I ever use is the colour picker Which I bound to middle clicking on the tray icon. Directory indexer a close second, use it three times a year. It sounds like a good idea and the least microsoft thing I could hear of
If you're on linux, that kind of stuff is possible by chaining commands in bash like slop, maim, and an image uploading script. I use it to upload images to my server through sshfs with a button press.
Yeah, that's cool - but you have to use linux and chain commands in bash.
You can use the linux subsystem for windows! Hooray! Also why is chaining commands bad in your opinion? It certainly is much more elegant than writing a framework around running simple programs.
Because I'm talking about doing something that normal people can use, not just hyper nerds.
Also if you can bind such chains to a few keystrokes it would be quicker to use than opening up a terminal. If I wanted to implement uploading to an arbitrary service, the hackish way I'd do it would be to have some event hook wait for a new file to be copied to a directory and then upload whatever file is in that directory to whatever service you've chosen and then pop up some kind of notification with the link
lol https://tenryuu.blob.core.windows.net/astrid/2018/07/18-07-03_03-40-04.webm crashed the whole thing
slop relies on an X server unfortunately. Someone would have to create an alternative for windows. Doesn't change that only hyper nerds would know how to use it though lmao.
https://files.facepunch.com/forum/upload/1755/241fd363-7ec3-492c-ad7a-c60c2536071c/image.png installed this years ago
Oh jeez, well then I guess it isn't my fault then. Seems weird that it can't find the x server environment variables if it's running, can you try running slop with the `--nokeyboard` and/or `--noopengl`?
Sorry, you need to Log In to post a reply to this thread.