Celestia 1.7.0 Development Thread
- cartrite
- Posts: 1978
- Joined: 15.09.2005
- With us: 19 years 2 months
- Location: Pocono Mountains, Pennsylvania, USA Greate Grandfother from Irshava, Zakarpattia Oblast Ukraine
You just made my point. I'm showing the development team there is a bug that resulted from a software change. The version I'm using was from a few days ago. I built it , then uploaded an installer. A few posts up from here.https://celestia.space/forum/memberlist.php?mode=viewprofile&u=3934. Try installing that version. You'll see what I see. Probably.???
VivoBook_ASUSLaptop X712JA_S712JA Intel(R) UHD Graphics 8gb ram. Intel(R) Core(TM) i5-1035G1 CPU @ 1.00GHz, 1190 Mhz, 4 Core(s), 8 Logical Processor(s) 8 GB ram. Running on Windows 11 and OpenSuse 15.4
-
Topic authoronetwothree
- Site Admin
- Posts: 706
- Joined: 22.09.2018
- With us: 6 years 1 month
[quote:onetwothree] 1.7 supports only opengl 2.1 (or opengl es 2.0) based render path[/quote]
Thank you onetwothree, now it's clear.
A doubt: in the images folder info.txt file I read that
No way.
So I suppose that this will be for a future use, TBA?, correct?
And, BTW, thanks a lot to all the people that gave their time, skill and brain to issue the very welcome 1.7 Celestia release!
Bye
Goofy
Thank you onetwothree, now it's clear.
A doubt: in the images folder info.txt file I read that
I put a sounds folder there, with a .wav file, and tried the command "play" in a cel file to listen to it."you can create subfolders to organize and classify audio files for various needs"
No way.
So I suppose that this will be for a future use, TBA?, correct?
And, BTW, thanks a lot to all the people that gave their time, skill and brain to issue the very welcome 1.7 Celestia release!
Bye
Goofy
"Something is always better than nothing!"
HP Omen 15-DC1040nl- Intel® Core i7 9750H, 2.6/4.5 GHz- 1TB PCIe NVMe M.2 SSD+ 1TB SATA 6 SSD- 32GB SDRAM DDR4 2666 MHz- Nvidia GeForce GTX 1660 Ti 6 GB-WIN 11 PRO
HP Omen 15-DC1040nl- Intel® Core i7 9750H, 2.6/4.5 GHz- 1TB PCIe NVMe M.2 SSD+ 1TB SATA 6 SSD- 32GB SDRAM DDR4 2666 MHz- Nvidia GeForce GTX 1660 Ti 6 GB-WIN 11 PRO
-
Topic authoronetwothree
- Site Admin
- Posts: 706
- Joined: 22.09.2018
- With us: 6 years 1 month
Thank you onetwothree, as I supposed.
Don't know if you are aware that many years ago Vincent Giangiulio prepared a special Celestia 1.6.1 edition, that was including the capability to use sounds in cel/celx scripts.
It works very well, its only drawback is that it can use .wav files only, no .mp3 or .flac or whatelse.
If you have not it, and think it could be usefull, I can share it.
Bye
Goofy
Don't know if you are aware that many years ago Vincent Giangiulio prepared a special Celestia 1.6.1 edition, that was including the capability to use sounds in cel/celx scripts.
It works very well, its only drawback is that it can use .wav files only, no .mp3 or .flac or whatelse.
If you have not it, and think it could be usefull, I can share it.
Bye
Goofy
"Something is always better than nothing!"
HP Omen 15-DC1040nl- Intel® Core i7 9750H, 2.6/4.5 GHz- 1TB PCIe NVMe M.2 SSD+ 1TB SATA 6 SSD- 32GB SDRAM DDR4 2666 MHz- Nvidia GeForce GTX 1660 Ti 6 GB-WIN 11 PRO
HP Omen 15-DC1040nl- Intel® Core i7 9750H, 2.6/4.5 GHz- 1TB PCIe NVMe M.2 SSD+ 1TB SATA 6 SSD- 32GB SDRAM DDR4 2666 MHz- Nvidia GeForce GTX 1660 Ti 6 GB-WIN 11 PRO
-
- Developer
- Posts: 274
- Joined: 29.01.2009
- Age: 29
- With us: 15 years 9 months
- Location: Suzhou, China
I wonder how audio should it be implemented, does there exist a cross platform library for playing audio? having a binary is not very useful since we cannot extract code from the binary, but thanks for suggesting that.
Added after 13 minutes 30 seconds:
looks like there is, found this https://github.com/mackron/miniaudio which supports almost all platforms even UWP, which OpenAL seems not to support.
Added after 13 minutes 30 seconds:
looks like there is, found this https://github.com/mackron/miniaudio which supports almost all platforms even UWP, which OpenAL seems not to support.
-
Topic authoronetwothree
- Site Admin
- Posts: 706
- Joined: 22.09.2018
- With us: 6 years 1 month
- cartrite
- Posts: 1978
- Joined: 15.09.2005
- With us: 19 years 2 months
- Location: Pocono Mountains, Pennsylvania, USA Greate Grandfother from Irshava, Zakarpattia Oblast Ukraine
I tried that yesterday, I know ffmpeg is off by default. I turned it on to try it. Didn't work.
Added after 9 minutes 11 seconds:
Added after 9 minutes 11 seconds:
Code: Select all
/home/cartrite/Celestia_061321/Celestia/src/celestia/moviecapture.cpp: In member function ‘bool celestia::MovieCapturePrivate::addStream(int, int, float)’:
/home/cartrite/Celestia_061321/Celestia/src/celestia/moviecapture.cpp:209:30: error: invalid conversion from ‘const AVCodec*’ to ‘AVCodec*’ [-fpermissive]
vc = avcodec_find_encoder(vc_id);
~~~~~~~~~~~~~~~~~~~~^~~~~~~
/home/cartrite/Celestia_061321/Celestia/src/celestia/moviecapture.cpp:235:48: error: assignment of member ‘AVOutputFormat::video_codec’ in read-only object
enc->codec_id = oc->oformat->video_codec = vc_id;
^~~~~
/home/cartrite/Celestia_061321/Celestia/src/celestia/moviecapture.cpp: In member function ‘bool celestia::MovieCapturePrivate::writeVideoFrame(bool)’:
/home/cartrite/Celestia_061321/Celestia/src/celestia/moviecapture.cpp:465:23: warning: ‘void av_init_packet(AVPacket*)’ is deprecated [-Wdeprecated-declarations]
av_init_packet(pkt);
^
In file included from /usr/local/include/libavcodec/bsf.h:30:0,
from /usr/local/include/libavcodec/avcodec.h:44,
from /usr/local/include/libavformat/avformat.h:312,
from /home/cartrite/Celestia_061321/Celestia/src/celestia/moviecapture.cpp:13:
/usr/local/include/libavcodec/packet.h:474:6: note: declared here
void av_init_packet(AVPacket *pkt);
^~~~~~~~~~~~~~
make[2]: *** [src/celestia/CMakeFiles/celestia.dir/build.make:223: src/celestia/CMakeFiles/celestia.dir/moviecapture.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:1463: src/celestia/CMakeFiles/celestia.dir/all] Error 2
make: *** [Makefile:147: all] Error 2
VivoBook_ASUSLaptop X712JA_S712JA Intel(R) UHD Graphics 8gb ram. Intel(R) Core(TM) i5-1035G1 CPU @ 1.00GHz, 1190 Mhz, 4 Core(s), 8 Logical Processor(s) 8 GB ram. Running on Windows 11 and OpenSuse 15.4
-
Topic authoronetwothree
- Site Admin
- Posts: 706
- Joined: 22.09.2018
- With us: 6 years 1 month
- cartrite
- Posts: 1978
- Joined: 15.09.2005
- With us: 19 years 2 months
- Location: Pocono Mountains, Pennsylvania, USA Greate Grandfother from Irshava, Zakarpattia Oblast Ukraine
Code: Select all
ffmpeg version N-102462-gf8d910e90f Copyright (c) 2000-2021 the FFmpeg developers
built with gcc 7 (SUSE Linux)
configuration: --enable-libx264 --enable-libvpx --enable-gpl
libavutil 57. 0.100 / 57. 0.100
libavcodec 59. 1.100 / 59. 1.100
libavformat 59. 0.101 / 59. 0.101
libavdevice 59. 0.100 / 59. 0.100
libavfilter 8. 0.101 / 8. 0.101
libswscale 6. 0.100 / 6. 0.100
libswresample 4. 0.100 / 4. 0.100
libpostproc 56. 0.100 / 56. 0.100
Added after 34 minutes 22 seconds:
I tried uninstalling the ffmpeg version I built. This was primarily done to build mplayer. It builds it's own version of ffmpeg unless another is installed. Anyhow, I have a version of ffmpeg installed by yast. What is strange is that it says it is built with Debian??? I do hThat version is
Code: Select all
ffmpeg version 4.3.1-static https://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2020 the FFmpeg developers
built with gcc 8 (Debian 8.3.0-6)
configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gmp --enable-libgme --enable-gray --enable-libaom --enable-libfribidi --enable-libass --enable-libvmaf --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libdav1d --enable-libxvid --enable-libzvbi --enable-libzimg
libavutil 56. 51.100 / 56. 51.100
libavcodec 58. 91.100 / 58. 91.100
libavformat 58. 45.100 / 58. 45.100
libavdevice 58. 10.100 / 58. 10.100
libavfilter 7. 85.100 / 7. 85.100
libswscale 5. 7.100 / 5. 7.100
libswresample 3. 7.100 / 3. 7.100
libpostproc 55. 7.100 / 55. 7.100
Code: Select all
-- Failed to find AVCODEC (missing: AVCODEC_INCLUDE_DIR)
CMake Warning (dev) at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:272 (message):
The package name passed to `find_package_handle_standard_args` (AVFORMAT)
does not match the name of the calling package (FFMPEG). This can lead to
problems in calling code that expects `find_package` result variables
(e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
cmake/FindFFMPEG.cmake:12 (find_package_handle_standard_args)
cmake/FindFFMPEG.cmake:51 (find_ffmpeg_lib)
CMakeLists.txt:208 (find_package)
This warning is for project developers. Use -Wno-dev to suppress it.
-- Failed to find AVFORMAT (missing: AVFORMAT_INCLUDE_DIR)
CMake Warning (dev) at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:272 (message):
The package name passed to `find_package_handle_standard_args` (AVUTIL)
does not match the name of the calling package (FFMPEG). This can lead to
problems in calling code that expects `find_package` result variables
(e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
cmake/FindFFMPEG.cmake:12 (find_package_handle_standard_args)
cmake/FindFFMPEG.cmake:54 (find_ffmpeg_lib)
CMakeLists.txt:208 (find_package)
This warning is for project developers. Use -Wno-dev to suppress it.
-- Failed to find AVUTIL (missing: AVUTIL_INCLUDE_DIR)
CMake Warning (dev) at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:272 (message):
The package name passed to `find_package_handle_standard_args` (SWSCALE)
does not match the name of the calling package (FFMPEG). This can lead to
problems in calling code that expects `find_package` result variables
(e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
cmake/FindFFMPEG.cmake:12 (find_package_handle_standard_args)
cmake/FindFFMPEG.cmake:60 (find_ffmpeg_lib)
CMakeLists.txt:208 (find_package)
Added after 34 minutes 24 seconds:
When I use the version I built from ffmpeg github I get these warning while trying to configure cmake.
Code: Select all
-- Found AVCODEC: /usr/local/include
CMake Warning (dev) at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:272 (message):
The package name passed to `find_package_handle_standard_args` (AVFORMAT)
does not match the name of the calling package (FFMPEG). This can lead to
problems in calling code that expects `find_package` result variables
(e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
cmake/FindFFMPEG.cmake:12 (find_package_handle_standard_args)
cmake/FindFFMPEG.cmake:51 (find_ffmpeg_lib)
CMakeLists.txt:208 (find_package)
This warning is for project developers. Use -Wno-dev to suppress it.
-- Found AVFORMAT: /usr/local/include
CMake Warning (dev) at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:272 (message):
The package name passed to `find_package_handle_standard_args` (AVUTIL)
does not match the name of the calling package (FFMPEG). This can lead to
problems in calling code that expects `find_package` result variables
(e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
cmake/FindFFMPEG.cmake:12 (find_package_handle_standard_args)
cmake/FindFFMPEG.cmake:54 (find_ffmpeg_lib)
CMakeLists.txt:208 (find_package)
This warning is for project developers. Use -Wno-dev to suppress it.
-- Found AVUTIL: /usr/local/include
CMake Warning (dev) at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:272 (message):
The package name passed to `find_package_handle_standard_args` (SWSCALE)
does not match the name of the calling package (FFMPEG). This can lead to
problems in calling code that expects `find_package` result variables
(e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
cmake/FindFFMPEG.cmake:12 (find_package_handle_standard_args)
cmake/FindFFMPEG.cmake:60 (find_ffmpeg_lib)
CMakeLists.txt:208 (find_package)
This warning is for project developers. Use -Wno-dev to suppress it.
VivoBook_ASUSLaptop X712JA_S712JA Intel(R) UHD Graphics 8gb ram. Intel(R) Core(TM) i5-1035G1 CPU @ 1.00GHz, 1190 Mhz, 4 Core(s), 8 Logical Processor(s) 8 GB ram. Running on Windows 11 and OpenSuse 15.4
-
Topic authoronetwothree
- Site Admin
- Posts: 706
- Joined: 22.09.2018
- With us: 6 years 1 month
cartrite wrote:After looking closer I noticed Suse does not provide the ffmpeg player only the libs and development files. But cmake doen't find them. They are in usr/include and usr/lib.
Could you provide full path for example to libavcodec/avcodec.h and libavcodec.so?
cartrite wrote:When I use the version I built from ffmpeg github I get these warning while trying to configure cmake.
That' okay.
- cartrite
- Posts: 1978
- Joined: 15.09.2005
- With us: 19 years 2 months
- Location: Pocono Mountains, Pennsylvania, USA Greate Grandfother from Irshava, Zakarpattia Oblast Ukraine
The for those file installed by yast is and
The version I built and installed are and So the one I built has static libs. Again the ones installed by yast are not found and the ones I built get the warning and the build errors when running make.
Added after 1 minute 29 seconds:
I'll try to rebuild ffmpeg with shared libs.
Code: Select all
/usr/include/ffmpeg/libavcodec/avcodec.h
Code: Select all
/usr/lib64/libavcodec.so
The version I built and installed are
Code: Select all
/usr/local/include/libavcodec/avcodec.h
Code: Select all
/usr/local/lib/libavcodec.a
Added after 1 minute 29 seconds:
I'll try to rebuild ffmpeg with shared libs.
VivoBook_ASUSLaptop X712JA_S712JA Intel(R) UHD Graphics 8gb ram. Intel(R) Core(TM) i5-1035G1 CPU @ 1.00GHz, 1190 Mhz, 4 Core(s), 8 Logical Processor(s) 8 GB ram. Running on Windows 11 and OpenSuse 15.4
-
Topic authoronetwothree
- Site Admin
- Posts: 706
- Joined: 22.09.2018
- With us: 6 years 1 month
- cartrite
- Posts: 1978
- Joined: 15.09.2005
- With us: 19 years 2 months
- Location: Pocono Mountains, Pennsylvania, USA Greate Grandfother from Irshava, Zakarpattia Oblast Ukraine
That gave me an idea. I tried editing FindFFMPEG.cmake. It did find ffmpeg, still got warnings, but it still didn't work. celestia_celx failed so whatever I did was wrong. Because the paths were not correct. This is what I tried etc for the other lines. If that is what your were planning, it won't work. Celestia_celx fails because on of the ffmpeg header files is not found. But I did mirror ffmpeg to /usr/local/lib64 and usr/local/include. After that everything works. But that's a hack. So it will work if you get cmake paths right.
As far as the window installer I did. I'm still unsure how to go about testing translations. I'm guessing that I need to set up my computer to use a different language and it would be done automatically? I don't see any options to change languages in celestia itself.
Code: Select all
if(FFMPEG_USE_AVCODEC)
find_ffmpeg_lib(AVCODEC ffmpeg/libavcodec/avcodec.h avcodec)
As far as the window installer I did. I'm still unsure how to go about testing translations. I'm guessing that I need to set up my computer to use a different language and it would be done automatically? I don't see any options to change languages in celestia itself.
VivoBook_ASUSLaptop X712JA_S712JA Intel(R) UHD Graphics 8gb ram. Intel(R) Core(TM) i5-1035G1 CPU @ 1.00GHz, 1190 Mhz, 4 Core(s), 8 Logical Processor(s) 8 GB ram. Running on Windows 11 and OpenSuse 15.4
-
Topic authoronetwothree
- Site Admin
- Posts: 706
- Joined: 22.09.2018
- With us: 6 years 1 month
In FindFFMPEG.cmake you should see find_path inside of find_ffmpeg_lib macro. Try to add HINTS /usr/include/ffmpeg or PATH_SUFFIXES ffmpeg into it.
so it should be
find_path(${__name}_INCLUDE_DIR HINTS /usr/include/ffmpeg ${__header})
or
find_path(${__name}_INCLUDE_DIR PATH_SUFFIXES ffmpeg ${__header})
so it should be
find_path(${__name}_INCLUDE_DIR HINTS /usr/include/ffmpeg ${__header})
or
find_path(${__name}_INCLUDE_DIR PATH_SUFFIXES ffmpeg ${__header})
- cartrite
- Posts: 1978
- Joined: 15.09.2005
- With us: 19 years 2 months
- Location: Pocono Mountains, Pennsylvania, USA Greate Grandfother from Irshava, Zakarpattia Oblast Ukraine
I used your first suggestion last night but didn't have the {$_headrer} at the end and it still failed. But adding that {$_headrer} doesn't work either. Still fails to build celx_celestia.cpp. I tried your second suggestion. That fails too. Same error as above.
I guess other linux distributions may have their own way of installing FFMpeg too?
Code: Select all
In file included from /home/cartrite/Celestia_061321/Celestia/src/celestia/celestiacore.h:33:0,
from /home/cartrite/Celestia_061321/Celestia/src/celscript/lua/celx_celestia.cpp:31:
/home/cartrite/Celestia_061321/Celestia/src/celestia/moviecapture.h:6:10: fatal error: libavformat/avformat.h: No such file or directory
#include <libavformat/avformat.h>
^~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [src/celscript/lua/CMakeFiles/celluascript.dir/build.make:93: src/celscript/lua/CMakeFiles/celluascript.dir/celx_celestia.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:1734: src/celscript/lua/CMakeFiles/celluascript.dir/all] Error 2
make: *** [Makefile:147: all] Error 2
I guess other linux distributions may have their own way of installing FFMpeg too?
VivoBook_ASUSLaptop X712JA_S712JA Intel(R) UHD Graphics 8gb ram. Intel(R) Core(TM) i5-1035G1 CPU @ 1.00GHz, 1190 Mhz, 4 Core(s), 8 Logical Processor(s) 8 GB ram. Running on Windows 11 and OpenSuse 15.4
-
Topic authoronetwothree
- Site Admin
- Posts: 706
- Joined: 22.09.2018
- With us: 6 years 1 month
- cartrite
- Posts: 1978
- Joined: 15.09.2005
- With us: 19 years 2 months
- Location: Pocono Mountains, Pennsylvania, USA Greate Grandfother from Irshava, Zakarpattia Oblast Ukraine
Code: Select all
########################
# EXTERNAL cache entries
########################
//Path to a file.
AVCODEC_INCLUDE_DIR:PATH=/usr/include/ffmpeg
//Path to a library.
AVCODEC_LIBRARY:FILEPATH=/usr/lib64/libavcodec.so
//Path to a file.
AVFORMAT_INCLUDE_DIR:PATH=/usr/include/ffmpeg
//Path to a library.
AVFORMAT_LIBRARY:FILEPATH=/usr/lib64/libavformat.so
//Path to a file.
AVUTIL_INCLUDE_DIR:PATH=/usr/include/ffmpeg
//Path to a library.
AVUTIL_LIBRARY:FILEPATH=/usr/lib64/libavutil.so
The path is correct except for the actual file
Added after 2 hours:
Not that it matters but I noticed a couple of other things about FFMEG.cmake. AVDEVICE is never looked for but is in the file at the bottom. And there is a duplicate entry at the bottom of the file for FFMPEG::AVUTIL. But what seems to be happening is that cmake is finding the files but not passing their location to the compiler.
Added after 6 hours 15 minutes:
About translations. I now know the windows translations are not working and need a lot of work or I need a lot of education on how to use them. Anyhow with suse linux, the translations work fine. I'm able to get German translations in Celestia.
Also, I'm in the process of building ffmpeg with vcpkg. A long process. I noticed that x264 is disabled when building the ffmpeg tree. So I may be able to get that to work on the win32 version but for now, without x264.
It works with problems. ffmpeg does open the video dialog so I'll have to look at this a while.
Added after 3 hours 52 minutes:
I think that most of the code is working but the build process still needs a lot of work. Did I see that y'all were about to abandon the cmake and go with ninga or conda builds? Maybe that would be a good thing
Added after 25 minutes 46 seconds:
If you inspect you'll see some words are being translated. This is running on linux so.......
Added after 7 minutes 7 seconds:
Point here is to say the translations that work sit alongside the celestia folder in the /share folder. In windows all these folder get installed in c: And they don't work no matter where I put them.
Added after 11 hours 37 minutes:
Did it. FFMPEG now builds. I modified CMakeLists.txt
Code: Select all
if(ENABLE_FFMPEG)
include(FindFFMPEG)
find_package(FFMPEG REQUIRED COMPONENTS avcodec avdevice avutil avformat swscale)
include_directories(${FFMPEG_INCLUDE_DIRS})
add_definitions(-DUSE_FFMPEG)
endif()
and FFMPEG.cmake
Code: Select all
find_library(${__name}_LIBRARY ${__lib})
find_path(${__name}_INCLUDE_DIR ${__header}
PATH_SUFFIXES "include" "include/ffmpeg")
Added after 3 hours 33 minutes:
Just FYI to all. The movie capture has a slight bug. After starting Celestia, My first movie capture fails. An error popup appears saying the file could not be saved. The red screen appears in pause. After keying in F11, it says it's recording but the timer stays at zero. After keying in F12, the screen disappears and no file is created. Then it works normally. I was able to create videos at will. My Linux system with the qt5 version does not have this problem. The other installer on the previous page was deleted.
VivoBook_ASUSLaptop X712JA_S712JA Intel(R) UHD Graphics 8gb ram. Intel(R) Core(TM) i5-1035G1 CPU @ 1.00GHz, 1190 Mhz, 4 Core(s), 8 Logical Processor(s) 8 GB ram. Running on Windows 11 and OpenSuse 15.4
-
Topic authoronetwothree
- Site Admin
- Posts: 706
- Joined: 22.09.2018
- With us: 6 years 1 month
-
- Posts: 24
- Joined: 19.05.2021
- With us: 3 years 6 months