Commit Graph

27 Commits

Author SHA1 Message Date
lane.wei
23c551cac6 ENH: refine log level for cli
Change-Id: I781319ae85bff77f58931689f589b53e0e778389
2023-02-22 20:09:17 +08:00
Joshua Wise
6f8341695e Add support for Bambu Lab X1 series live video stream on Linux.
wxWidgets on Linux uses GStreamer as its back-end for wxMediaCtrl, which
doesn't have a bambu: URI handler.  On Windows, this is handled by a Windows
Media subsystem plugin, and on Mac, this is handled with a BambuPlayer
class.  Luckily, the libBambuSource.so binary that is distributed with the
network plugin package already contains support for receiving h.264 data
from the network, and the API is the same as is used by the tiny
bambusource.exe binary on Windows; we glue this into a GStreamer source
plugin that registers a URI handler for bambu:.

To make this work, we make a few additional changes elsewhere.  GStreamer
seems to have trouble rendering an Xv overlay onto a 32bpp X visual, but
Bambu Slicer seems to request a 32bpp visual for some background
transparency in the Notebook; it doesn't seem to use it in an interesting
way on Linux, though, so we remove that request for transparency to allow
Bambu Studio to render to a 24bpp visual.  The media controller
infrastructure also makes a few assumptions about when sizing information
can be queried from a wxMediaCtrl backend that do not hold true on Linux; we
either fix those assumptions, or fake them out, as needed.  We also make a
few changes needed to successfully compile C.

This has only been tested with the GStreamer backend for wxWidgets --
notably, not the GStreamer-play backend (these are, astonishingly, two
different things!).  If you find that this seems not to work, consider
*un*installing the libgstreamer-plugins-bad1.0-dev package and then
rebuilding wxWidgets.
2023-01-12 14:56:04 +08:00
lane.wei
d46e6d5690 FIX: bed_type: fix the bed_type issue when already set in plate
Change-Id: Ieb9c432051aeaf1dbb94c75f95974ff41c0713a0
(cherry picked from commit 73de2ea2cfcfa6b09373f4faa2d84f0b6e2f4ffc)
2023-01-10 19:08:26 +08:00
lane.wei
b01f4679bd ENH: debug: when not release to public, use vectored exception handler
Change-Id: I2f80f07e035d6a6652574470ac13631baba7cf7d
2023-01-10 19:08:26 +08:00
lane.wei
5e51ae3845 ENH: CLI: some refines on compatible logic
1. export compatible related values to 3mf
2. process compatible related values when loading

Change-Id: Ib7ed3d165cda5d62e0074652d474567494141631
(cherry picked from commit 989fe6439d573457fa78afc5376d04d3120dbbfd)
2022-12-15 04:38:15 -05:00
lane.wei
37eeaa8847 ENH: slicing: add cache data load/export for slicing
Change-Id: I88b7c79b6f79ec6bed0f829316b67310cac99b44
(cherry picked from commit 67c1d2e8dd459cc4450ce580632f01e25db038ac)
2022-12-15 04:38:15 -05:00
lane.wei
824fa6c4bd ENH: CLI: support filament mapping
support null filament when mapping

Change-Id: I9384fc5a8e78aa8467eef1610d49b92d87512720
2022-12-15 04:38:15 -05:00
lane.wei
d6500234e7 ENH: 3mf_importer: optimize the load speed of 3mf
1. parallel load object files
2. only load object used by some plate(cli)
3. improve the loading speed when generate objects by using reference

Change-Id: I2719651e715f2e35326e760c4b7cdb3114f54992
2022-12-15 04:33:48 -05:00
lane.wei
9a88f122b5 ENH: CLI: some refines of slicing
1. add support_used flag in sliced_info
2. use the old thumbnail if no need

Change-Id: I8ad166978fe6f76f86b1ef014945dd70b26a6285
2022-12-15 04:33:48 -05:00
lane.wei
74576ab4ea ENH: refine multiple plate and CLI logic
1. support bed_type for each plate in CLI
2. don't render the calibration thumbnail under CLI
3. fix the plate box not generated issue
4. refine the slice_all button's status logic: from all slicable to one slicable
5. fix serveral issues in multiple plate's switch and slicing

Change-Id: I6193a799da0367068169ce315d1fcc9098357fd1
2022-12-15 04:33:48 -05:00
lane.wei
200c2b7443 ENH: CLI: add warning message
send the warning message back to caller

Change-Id: Id36edc9537721fb890f2bd4eb8db4fc0670eb97d
2022-12-15 04:33:48 -05:00
lane.wei
f52f570d3a FIX: fix the total progress not correct issue
Change-Id: I18b9d5034726b45c7331f1dae5e2b24c5e5bd170
(cherry picked from commit ba8c691a2c94f7a2f2ff0ce7f195de20a6c22573)
2022-12-15 04:33:48 -05:00
lane.wei
39b2750ae0 FIX: fix the auxiliaries files not included issue in cli
Change-Id: Iecc18d6013ddc3397b4405a80b24e0630b293fc7
2022-12-15 04:33:48 -05:00
lane.wei
ca1f7a0d05 ENH: CLI: add total progress of slicing
Change-Id: I05e471aa4cd76642cdd63275620a4b656c8e3327
2022-12-15 04:33:48 -05:00
lane.wei
0ab26a0bc2 ENH: CLI: use json insteadof string for progress pipe
Change-Id: I1fdecfa6198d06d0c9745f3cbeb02dece9d8e20f
2022-12-15 04:33:48 -05:00
lane.wei
165a7167e7 ENH: CLI: refine logic
1. return error when there is object partly inside the plate;
2. add the status callback for progress indicating
3. add the version in help
4. fix the return state of validation from 1 to -51

Change-Id: I716057bd5b28a4beb2871614b94708a0860af1a2
2022-12-15 04:33:48 -05:00
lane.wei
b39c99244b ENH: CLI: add error code logic in cli
Change-Id: I4c1aace95218ff3a7a3a37f47b7d0880c9b64451
2022-12-15 04:33:48 -05:00
lane.wei
1f2307cc51 FIX: cli: fix the thumbnail rendering issue
1. fix the color not correct issue
2. fix the warning when loading thumbnail under cli
3. remove the invalid error log

Change-Id: I4dd553b218e264bb811606053d920b5861ad6bd4
2022-12-15 04:33:48 -05:00
lane.wei
dd8fa45f4f FIX: export 3mf using SplitModel under CLI
Change-Id: Ie6b81de47ebd04b462522d72d30e030e91bda313
(cherry picked from commit 2c284ab5681fd50699a1fd152dd6e4f18a0d4cb4)
2022-12-15 04:33:48 -05:00
lane.wei
1573dd2fd2 ENH: some small refines
1. don't sync_tooltip for it is not used
2. enable the dll black list
3. add some log

Change-Id: I4f7ea008121cf7252ef32680b68f063d146661e5
2022-12-15 04:33:48 -05:00
Tao Wang
c5a16709b8 FIX:fixed the blocking module of linux
Change-Id: I06b357f9592631a729208514a3239f944a98cc96
2022-09-29 11:16:43 +08:00
lane.wei
f77e4190c0 change the main thread name to bambustu_main
the max length of linux's thread name could only be 16 bytes
bambustudio_main can not be set by pthread_setname_np

Change-Id: Idab83896c81787b32f6a4dde869b101da1d69e5c
2022-09-14 17:39:11 +08:00
chunmao.guo
9e962c5bc0 FIX: wxWidgets asserts
Change-Id: I583edbde501c2bfe8adfa8fdb525479a379a4cb8
2022-08-26 09:25:59 +08:00
lane.wei
3c84c5ce05 Macos: add the support of file association
Change-Id: Iacd3b35423dac6f63416628d28b0502ba175f7b4
2022-08-05 16:11:42 +08:00
lane.wei
af0b3ddb28 Update the codes to 01.01.00.10 for the formal release
1. first formal version of macos
2. add the bambu networking plugin install logic
3. auto compute the wipe volume when filament change
4. add the logic of wiping into support
5. refine the GUI layout and icons, improve the gui apperance in lots of
   small places
6. serveral improve to support
7. support AMS auto-mapping
8. disable lots of unstable features: such as params table, media file download, HMS
9. fix serveral kinds of bugs
10. update the document of building
11. ...
2022-07-22 20:35:34 +08:00
lane.wei
3d3f31a8f1 adjust the log level for released version
Change-Id: Id874cc5b84a1c236dc00d9430867a913b0417beb
2022-07-16 15:25:36 +08:00
lane.wei
f8756e6c89 Add the full source of BambuStudio
using version 1.0.10
2022-07-15 23:42:08 +08:00