1
0
Fork 0
mirror of https://github.com/Orama-Interactive/Pixelorama.git synced 2025-01-18 17:19:50 +00:00
Commit graph

444 commits

Author SHA1 Message Date
Variable 7de7f3fab8
renamed the selection tile mode to wrap strokes, as it is a more accurate description. (#1150) 2024-12-17 01:06:58 +02:00
Emmanouil Papadeas fede8c3e49 Update Translations.pot 2024-12-16 19:11:44 +02:00
Emmanouil Papadeas 8ceeba76c0 Update Translations.pot 2024-12-15 21:14:11 +02:00
Emmanouil Papadeas 18e9e2ec56
Implement audio layers (#1149)
* Initial work on audio layers

* Load ogg audio files

* Fix playback position

* Support mp3 files

* Play audio at the appropriate position when the animation runs, and stop when the pause button is pressed

* Change audio cel textures for the cels where audio is playing

* Fix audio not playing at the appropriate position

* Don't play audio is layer is invisible

* Set the audio layer names to be the imported audio file names

* Import audio from videos

* Export videos with audio

Only works with mp3 for now

* Remove support for ogg audio files as they cannot be saved

At least until I find a way to save them. Wav files will be supported with Godot 4.4

* Fix adding/removing in-between frames breaking the visual indication of audio cels

* Minor code improvements

* Export audio in videos with custom delay

* Support frame delay

* Change the frame where the audio plays at

* Fix crashes when the audio layer has no track

* Remove unneeded cel properties for audio cels

* Pxo loading/saving

* Load audio files from the audio layer properties

* Change the audio driver to Dummy from the Preferences for performance reasons

* Clone audio layers, disable layer merge and FX buttons when an audio layer is selected

* Easily change the playback frame of an audio layer from the right click menu of cel buttons

* Update Translations.pot

* Some code improvements and documentation

* Stop audio from playing when looping, and the audio does not play at the first frame

* Update audio cel buttons when changing the audio of the layer

* Mute audio layer when hiding it mid-play

* Only plays the portion of the sound that corresponds to the specific frame so maybe we should do that as well

When the animation is not running. If it is running, play the sound properly.

* Some code changes to allow for potential negative frames placement for audio

This woud allow audio to be placed in negative frames, which essentially means that audio would start before the first frame. This is not yet supported, however, because I don't know how to make it work with FFMPEG.
2024-12-14 00:30:04 +02:00
Emmanouil Papadeas f91bb18fb2
Implement tilemap layers (#1146) 2024-12-05 03:57:44 +02:00
Emmanouil Papadeas 2d28136449
Implement indexed mode (#1136)
* Create a custom PixeloramaImage class, initial support for indexed mode

* Convert opened projects and images to indexed mode

* Use shaders for RGB to Indexed conversion and vice versa

* Add `is_indexed` variable in PixeloramaImage

* Basic undo/redo support for indexed mode when drawing

* Make image effects respect indexed mode

* Move code from image effects to ShaderImageEffect instead

* Bucket tool works with indexed mode

* Move and selection tools works with indexed mode

* Brushes respect indexed mode

* Add color_mode variable and some helper methods in Project

Replace hard-coded cases of Image.FORMAT_RGBA8 with `Project.get_image_format()` just in case we want to add more formats in the future

* Add a helper new_empty_image() method to Project

* Set new images to indexed if the project is indexed

* Change color modes from the Image menu

* Fix open image to replace cel

* Load/save indices in pxo files

* Merging layers works with indexed mode

* Layer effects respect indexed mode

* Add an `other_image` parameter to `PixeloramaImage.add_data_to_dictionary()`

* Scale image works with indexed mode

* Resizing works with indexed mode

* Fix non-shader rotation not working with indexed mode

* Minor refactor of PixeloramaImage's set_pixelv_custom()

* Make the text tool work with indexed mode

* Remove print from PixeloramaImage

* Rename "PixeloramaImage" to "ImageExtended"

* Add docstrings in ImageExtended

* Set color mode from the create new image dialog

* Update Translations.pot

* Show the color mode in the project properties dialog
2024-11-20 14:41:37 +02:00
Emmanouil Papadeas 74d95c2424
[skip ci] Update Translations.pot 2024-11-19 16:00:28 +02:00
Emmanouil Papadeas f4f7da7605 [skip ci] Update Translations.pot 2024-11-19 01:32:21 +02:00
Emmanouil Papadeas b548ad2337
New Crowdin updates (#1127) 2024-11-18 17:47:27 +02:00
Emmanouil Papadeas 763783f2f1 Improve the UI of the tile mode offsets dialog and add an Isometric button 2024-11-15 17:59:57 +02:00
Emmanouil Papadeas 94735fc08b [skip ci] Update Translations.pot 2024-11-15 02:08:30 +02:00
Emmanouil Papadeas 0d6b140dea Add border selection, fix some missing translation strings 2024-11-15 01:41:44 +02:00
Emmanouil Papadeas 36329efaf6 Add density to the square & circle brushes
00% density means that the brush gets completely drawn, anything less leaves gaps inside the brush, acting like a spray tool.
2024-11-14 01:02:51 +02:00
Emmanouil Papadeas 9338b2e6bb
New Crowdin updates (#1106) 2024-10-25 11:46:29 +03:00
Emmanouil Papadeas 120bd9a7df Use American English spelling for "Center Canvas" to make it more consistent with the rest of the application 2024-10-17 13:46:18 +03:00
Emmanouil Papadeas 263e19f17a Add a tooltip of the "Share options between the left and the right tools" preference 2024-10-17 13:06:53 +03:00
Variable 3863cbaee7
Add a preference to share options between tools (#1120)
* Add share config button

* fill parameter now saves with curve tool

* rename _fill to _fill_inside for sync consistency (fill in pencil and shape tools basically represent the same thing)

* add icon

* Move the option to the preferences

* Add string to Translations.pot

* Re-introduce `is_syncing`

---------

Co-authored-by: Emmanouil Papadeas <35376950+OverloadedOrama@users.noreply.github.com>
2024-10-16 16:00:20 +03:00
Emmanouil Papadeas 1ed52903b3 Implement the ability to change the font of a 3D text
This code will also be useful for the text tool
2024-10-12 16:30:16 +03:00
Emmanouil Papadeas 9fcb06aa72 Add a 3D text line spacing option 2024-10-12 14:31:15 +03:00
Emmanouil Papadeas bbf0ae8040 Add a 3D text depth option 2024-10-12 01:14:37 +03:00
Emmanouil Papadeas bd68f3d20b [skip ci] Add some strings to Translations.pot 2024-10-11 13:08:29 +03:00
Emmanouil Papadeas ffc98a4b7f Remove confusing text from the tooltips of the play animation buttons
Addresses #1114
2024-10-10 16:33:50 +03:00
Emmanouil Papadeas 39afb5e15b Add buttons with menus that move the symmetry guides to the center of the canvas, or the view center 2024-10-10 15:27:06 +03:00
Emmanouil Papadeas 7eeb0b0cba Add a clear recently open file list option 2024-10-10 00:42:40 +03:00
Emmanouil Papadeas 2f24508dea Add a new Reset category in the Preferences 2024-10-09 21:20:17 +03:00
Emmanouil Papadeas 21a035b269
New Crowdin updates (#1083) 2024-09-13 13:46:48 +03:00
Emmanouil Papadeas 54068895bc Rename "trim sprite" to "trim images" and add the related strings to Translations.pot
"Trim images" should be a more fitting name for this option, as it's quite common to export multiple images and the use of plural makes it more clear that this option applies to all exported images.
2024-09-11 16:45:16 +03:00
Emmanouil Papadeas 321102e8fe Add Gaussian Blur as an image effect 2024-09-08 03:13:55 +03:00
Emmanouil Papadeas 69ce932f1c Add a quality slider to the export dialog when exporting jpeg files 2024-09-01 02:49:13 +03:00
Emmanouil Papadeas 88282ec848
New Crowdin updates (#1068) 2024-08-21 14:17:17 +03:00
Emmanouil Papadeas 81889ff5d0 [skip ci] Add context to some image effect strings 2024-08-18 16:49:39 +03:00
Emmanouil Papadeas b0aabe4e8a Add a preference to change max undo steps 2024-08-16 14:28:54 +03:00
Emmanouil Papadeas 077c57c53a
Implement support for group layer blending (#1077)
* Blend group layers on `DrawingAlgos.blend_layers()`

* Support group layer blending on the canvas

* Allow editing of group layer properties

* Fix issues with group layer blending in canvas, and unite common code

* Group layers can now be used as clipping masks

* Make move tool preview work on child layers

* Change OffsetImage's `blend_layers()` to support group layer blending

* Support group layer blending in the canvas preview

* Fix layer blending mode, clipping mask opacity and cel opacity not being updated automatically if the layer/cel changed is not selected

* Add a pass through blending mode to layer groups

Fingers crossed that no bugs were introduced

* Fix issue with layers that belong to pass through groups not updating their textures on the canvas automatically on undo
2024-08-15 15:52:55 +03:00
Emmanouil Papadeas 478508be05
New Crowdin updates (#1052) 2024-08-05 13:13:40 +03:00
Emmanouil Papadeas 99982b50bb [skip ci] Update Translations.pot 2024-08-02 00:03:16 +03:00
Emmanouil Papadeas 0ea0406233 Add an adjust brightness/contrast image effect
Thanks to https://godotshaders.com/shader/color-manipulator/

The shader has more options than just brightness and contrast though, but I didn't know how else to name the effect. "Adjust Brightness/Contrast" makes it immediately obvious as to what the effect is about.
2024-08-01 21:21:45 +03:00
Emmanouil Papadeas f15e8fb8f2 [skip ci] Update translation mistake 2024-08-01 01:41:33 +03:00
Emmanouil Papadeas 6e41496ec9 [skip ci] Update translations 2024-08-01 00:24:25 +03:00
Emmanouil Papadeas da3ca662ee
New Crowdin updates (#1050) 2024-07-29 17:36:27 +03:00
nicejammer ce6a48a020
Add missing translation strings and fix broken ones (#1051)
Added missing strings to Translations.pot and fixed a few ones that were broken either because of missing periods, differences in capitalization or because of trailing newlines (the latter seems to get automatically trimmed in tooltips during runtime)
2024-07-29 02:26:51 +03:00
Emmanouil Papadeas 6feb8b6ba1
New Crowdin updates (#1040) 2024-07-26 17:00:58 +03:00
Emmanouil Papadeas 7e2fad6b38
New Crowdin updates (#1033) 2024-07-22 14:56:22 +03:00
Emmanouil Papadeas db8aa7ba8a [skip ci] Update Translations.pot 2024-07-21 00:37:26 +03:00
Emmanouil Papadeas 4537727344
New Crowdin updates (#1031)
* New translations translations.pot (Portuguese, Brazilian)

* New translations translations.pot (Portuguese, Brazilian)
2024-07-04 22:54:50 +03:00
Emmanouil Papadeas 8bc5a8847c
New translations translations.pot (Indonesian) (#1027) 2024-06-23 03:38:13 +03:00
Emmanouil Papadeas 3a57092792
New Crowdin updates (#1024)
* New translations translations.pot (Russian)

* New translations translations.pot (Russian)

* New translations translations.pot (Chinese Simplified)
2024-06-12 22:01:32 +03:00
Emmanouil Papadeas bf6fcda3dc
New Crowdin updates (#1016) 2024-05-31 02:01:09 +03:00
Emmanouil Papadeas 10d3eac253 Add a confirmation dialog to confirm whether a user wants to enable an extension
For security purposes. Extensions can be dangerous, the user must know what they are doing. Better safe than sorry.
2024-05-29 03:27:54 +03:00
Emmanouil Papadeas 7b17262c85 Show a confirmation dialog when attempting to drag and drop an image from a browser, for security purposes 2024-05-25 16:16:32 +03:00
Emmanouil Papadeas a54e37ac2a [skip ci] Fix curve tool description translation string 2024-05-21 19:42:57 +03:00