Commit Graph
106 Commits
Author SHA1 Message Date
CrushedPixel ddc9ff9bcc Re-added Lossless MKV Render Preset 2015-07-16 13:50:22 +02:00
CrushedPixel 7790aee3cb Replaced lossless encoding with high quality ( -qp 1 instead of -qp 0 ) because (quote ffmpeg.org): Most non-FFmpeg based players will not be able to decode lossless (but YouTube can), so if compatibility is an issue you should not use lossless. 2015-07-15 23:59:23 +02:00
CrushedPixel 936f242b4c Added Encoding Presets to GuiRenderSettings and removed Checkbox for Custom Resolution 2015-07-15 16:50:58 +02:00
johni0702 7ee5f86b4e Prevent rendering with invalid resolution 2015-07-15 15:43:01 +02:00
johni0702 7fd429e25f Rework rendering pipeline to make better use of multithreading
Move OpenGL frame to ARGB conversion to processing threads
Move video exporting to processing threads
Skip creation of BufferedImage and instead use ByteBuffer with ARGB content directly
2015-07-15 14:23:43 +02:00
CrushedPixel 3a2c35cb22 Added Api Call checking if the Mod has the latest version and Message in Main Menu if not up-to-date
Removed unused GuiConstants Fields
2015-07-15 14:08:28 +02:00
CrushedPixel eb4f0fcc20 Added Preview for Camera's Position and look direction in Path Previews
Added getDestination() method to AdvancedPosition to calculate the destination based on a step size and the position's pitch/yaw
2015-07-14 04:25:19 +02:00
CrushedPixel 3f12019288 Created CameraPathValidator to validate Camera Paths before playing them and uses its static validateCameraPath() method whenever a Camera Path is to be started
Camera Paths can't start if negative movement through time would be required
2015-07-13 15:47:57 +02:00
CrushedPixel ff5481822a Added support for Time Keyframes in GuiEditKeyframe | https://trello.com/c/h33v5cSQ/ 2015-07-13 15:11:13 +02:00
CrushedPixel ac3474f2bc The output file can now be specified in GuiRenderSettings 2015-07-12 22:13:18 +02:00
CrushedPixel 45f64faa77 Created CustomObjectRepository which can be serialized by Gson, storing all CustomImageObjects created
CustomObjectRepository is now being saved to and loaded from the ReplayFile
The CustomObjectRenderer uses the GuiObjectManager's timeline cursor position as interpolation timestamp for the CustomImageObjects which are drawn if a GuiObjectManager is open (instant preview)
KeyframeList's add() method now removes Keyframes with the same timestamp before adding the new Keyframe
Transformations class now holds default values to prevent NullPointerExceptions in methods calling getTransformationForTimestamp()
Added Javadoc to Transformation POJO
Created NumberValueChangeListener which can be applied to GuiNumberInput objects
Made step size customizable in GuiDraggingNumberInput
Changing a ReplayImageAssets image now notifies the CustomImageObjects linked to that asset
Modified RoundUtils to provide a round() method which uses the DecimalFormat class instead of Math.round which is unstable
2015-07-12 16:21:11 +02:00
CrushedPixel ef39c7466d Renamed the commonly used Position POJO into AdvancedPosition, as it also hold pitch, yaw and roll
Made GuiDropdown only accept instances of GuiEntryListEntry to avoid unneccessary toString() methods returning the name
Added GuiEntryListValueEntry which holds a Value and a Name to be displayed
Continued work on GuiObjectManager
2015-07-10 04:27:15 +02:00
CrushedPixel 30ebfe96bd Allowed GuiTimeline instances to have any height (instead of fixed 22px height) and updated draw() method accordingly
Added HSV noise to GuiTimeline's textures to somewhat hide the repeating body texture
Implemented GuiTimeline in GuiObjectManager's GuiObjectKeyframeTimeline
Added asInt() method to TimestampValue, to avoid int casts of value field
2015-07-10 03:37:13 +02:00
CrushedPixel 2d19b17626 Finished Layout of GuiObjectManager 2015-07-08 16:54:14 +02:00
CrushedPixel e26e09a264 Made GuiDraggingNumberInput fully functional
Linked GuiObjectManager to new Keybinding
Renamed RoundUtils#round to RoundUtils#round2Decimals for easier understanding
2015-07-08 12:13:23 +02:00
CrushedPixel e22b37babe Created ReplayAsset interface and AssetRepository class which can contain such ReplayAssets. ReplayAssets allow users to add custom Files (so far only images, might be extended by .obj files) to the Replay which will later be used for CustomImageObjects.
Created GuiReplayManager to allow users to manage their assets.
Created BoundingUtils class to provide a simple method to fit an image into given bounds. This implementation fixes https://trello.com/c/WTnicWkJ/
2015-07-07 18:45:48 +02:00
johni0702 0c94bc9ce6 Set fov modifier during rendering to 1 when in camera view 2015-07-07 14:33:25 +02:00
johni0702 9f4b2d9026 Pause the recording when the integrated server is paused 2015-07-07 13:09:38 +02:00
CrushedPixel 948803571d GuiAssetAdder now allows to add/remove/edit Assets in a Replay. These Assets are not being saved yet. 2015-07-06 16:39:40 +02:00
CrushedPixel a5eadd2d01 Created GuiEntryListEntry interface for GuiEntryList contained classes to avoid toString() methods from having to be abused
Created GuiFileChooser and according Listeners
Added (non-functional) GuiAssetAdder for CustomImageObjects
2015-07-06 13:44:50 +02:00
CrushedPixel a444d49d70 Doesn't allow rendering if Optifine is installed and shows error screen 2015-07-05 18:16:18 +02:00
CrushedPixel 5883dbc9be Added Search Tab to Replay Center | https://trello.com/c/13VNghWz/ 2015-07-05 01:43:59 +02:00
CrushedPixel 0743b3e1ac Added Progress Bar and Cancel Button when downloading a Replay File from Replay Center (GuiReplayDownloading) | https://trello.com/c/1ZPhwmp8/ 2015-07-04 17:13:02 +02:00
CrushedPixel 7115805d45 Added ProgressFilter to allow for more accurate progress bar in GuiReplayEditingProcess and implemented it | https://trello.com/c/qXWxoTc1/ 2015-07-04 14:54:12 +02:00
CrushedPixel 0bb335f692 Added Callback before clearing Keyframes | https://trello.com/c/ZzOk0ju1/ 2015-07-03 12:12:33 +02:00
CrushedPixel 5960632354 Added Clean Callback Setting to GuiReplaySettings 2015-07-03 11:59:27 +02:00
CrushedPixel b1bd3de770 Added clearKeyframesCallback Replay Setting to determine whether a confirmation screen will be opened before clearing Keyframes using 'c'
Removed unused Replay Settings and removed all warnings from ReplaySettings.java
2015-07-03 11:52:39 +02:00
CrushedPixel ff9e341c9a Added a way to customize the main Command | https://trello.com/c/PAFUGf6x/ 2015-07-03 00:08:19 +02:00
CrushedPixel 8c81dd414e Added new Gui with Progress Bar when editing a Replay using the ReplayEditor | https://trello.com/c/uGFDgv6E/
Added ProgressUpdateListener interface for the use with ProgressBars
2015-07-02 23:08:09 +02:00
CrushedPixel a189868390 Added Support for custom ffmpeg Command Line Arguments when Rendering a Video | https://trello.com/c/69CNoWuA/ 2015-07-01 13:28:41 +02:00
CrushedPixel 45d69dff77 Created a Method to play Sounds directly from .wav files instead of using the buggy Minecraft Sound System and uses it in SoundHandler#playRenderSuccessSound(), fixing https://trello.com/c/d8hDHkc5/ 2015-06-30 14:49:07 +02:00
CrushedPixel 7f1d0f59bc Added Bitrate Input Field for GuiRenderSettings 2015-06-30 01:33:46 +02:00
CrushedPixel 5e8bfcbc63 If rendering crashes while initializing, an Error Screen telling the user to install ffmpeg is displayed | https://trello.com/c/EDDIqP0V/ 2015-06-30 01:33:46 +02:00
CrushedPixel 66567c3834 Requires at least two Position one Time Keyframe for Camera Paths/Rendering | https://trello.com/c/qJZSno6o/ 2015-06-29 13:44:32 +02:00
johni0702 18ec3cccc5 Realign all particles towards the camera when rendering 360° frames 2015-06-28 18:13:42 +02:00
CrushedPixel a15187b3ec Added Render Success Sound Effect 2015-06-22 13:19:41 +02:00
CrushedPixel 39dfa29d70 Added Keyframe type dependant title to GuiEditKeyframe
Added Hint to Event Marker Name Input Text Field
2015-06-18 16:02:32 +02:00
CrushedPixel 7f93a119be Adapted improved Password requirements (up to 32 instead of up to 16 characters) 2015-06-17 12:06:21 +02:00
CrushedPixel 3341b3e681 Added Keybinding to toggle Path Preview Visibility 2015-06-15 14:42:41 +02:00
CrushedPixel 3df1bdcfc8 Added PathPreviewRenderer to draw a Preview of the current Camera Path into the World
Added KeyframesModifyEvent to be dispatched whenever the ReplayHandler's Keyframe List is changed
Refactored Event package
Reworked Settings GUI
2015-06-15 14:41:20 +02:00
johni0702 be4ee42dcb Add GuiTextArea
Reorder and add description to GuiUpload
2015-06-14 14:13:03 +02:00
CrushedPixel 2f7692d863 The Position Keyframe Button now turns into a Spectator Keyframe Button when Spectator Keyframe is selected or no Position Keyframe Selected and spectating an Entity 2015-06-14 10:42:51 +02:00
CrushedPixel b2ad52d5b6 Markers are now subclasses of Keyframe
Markers can now be moved and jumped to on the Replay Timeline
2015-06-09 22:55:20 +02:00
CrushedPixel d30ef19c89 Added Event Markers to Replay, which allow players to quickly mark important events while recording (M key by default)
Added Event Marker Indicators to be displayed on GuiTimeline
2015-06-09 16:08:06 +02:00
CrushedPixel ea968ca418 Added support for Descriptions in API Client
Added hint for Replay Name in GuiUploadFile
2015-06-04 19:26:28 +02:00
CrushedPixel 466727e285 Set maximum username length to 16 2015-06-04 17:10:10 +02:00
CrushedPixel 9c01db6fe1 Localized SecondsToString method in DurationUtils
Added compact SecondsToShortString method to DurationUtils
2015-06-04 16:14:45 +02:00
johni0702 edd01b3981 Fix shader compatibility in default renderer
Disable shaders in cubic and stereoscopic rendering
2015-06-04 14:21:44 +02:00
CrushedPixel 075dfadf0d Fix typo in Stereoscopic Render Description 2015-06-04 01:19:47 +02:00
johni0702 d171ff4346 Allow custom resolution for all video rendering modes
Remove tiled rendering
Choose different rendering strategy based on video size and framebuffer support
Make size of video writer queue configurable via system properties
2015-06-03 21:20:03 +02:00