Post

Replies

Boosts

Views

Activity

Reply to Finding out what code is creating some hidden files
These .fnnnnn files appear to be created in the same directory as the input and any temp files that I create. I create temporary files with names like DSSxxxxx.tmp and a few others. I also create output tiff or fits files. Show MOST code where I create files: FrameList& FrameList::saveListToFile(fs::path file) { if (std::FILE* hFile = #if defined(Q_OS_WIN) _wfopen(file.c_str(), L"wt") #else std::fopen(file.c_str(), "wt") #endif ) { // Save the bitmap to the temporary file bool CMultiBitmap::AddBitmap(CMemoryBitmap* pBitmap, DSS::OldProgressBase* pProgress) { static std::mutex initMutex{}; ZFUNCTRACE_RUNTIME(); if (m_bInitDone.load() == false) { auto lock = std::scoped_lock{ initMutex }; if (m_bInitDone.load() == false) { m_lWidth = pBitmap->RealWidth(); m_lHeight = pBitmap->RealHeight(); InitParts(); // Will set m_bInitDone to true m_lNrAddedBitmaps = 0; } } // Save the bitmap to the file const size_t lScanLineSize = static_cast<size_t>(pBitmap->BitPerSample()) * (pBitmap->IsMonochrome() ? 1 : 3) * m_lWidth / 8; std::vector<std::uint8_t> scanLineBuffer(lScanLineSize); if (pProgress) pProgress->Start2(m_lHeight); for (const auto& partFile : m_vFiles) { auto dtor = [](FILE* fp) { if (fp != nullptr) fclose(fp); }; std::unique_ptr<FILE, decltype(dtor)> pFile{ #if defined(Q_OS_WIN) _wfopen(partFile.file.c_str(), L"a+b"), #else std::fopen(partFile.file.c_str(), "a+b"), #endif dtor }; if (pFile.get() == nullptr) return false; fseek(pFile.get(), 0, SEEK_END); for (int j = partFile.m_lStartRow; j <= partFile.m_lEndRow; j++) { pBitmap->GetScanLine(j, scanLineBuffer.data()); if (fwrite(scanLineBuffer.data(), lScanLineSize, 1, pFile.get()) != 1) return false; if (pProgress) pProgress->Progress2(j + 1); } } if (pProgress) pProgress->End2(); m_lNrAddedBitmaps++; return true; } bool CTIFFWriter::Open() { ZFUNCTRACE_RUNTIME(); bool bResult = false; constexpr unsigned char exifVersion[4] {'0', '2', '3', '1' }; // EXIF 2.31 version is 4 characters of a string! toff_t dir_offset_EXIF{ 0 }; #ifdef Q_OS_WIN m_tiff = TIFFOpenW(file.wstring().c_str(), "w"); #else m_tiff = TIFFOpen(reinterpret_cast<const char*>(file.u8string().c_str()), "w"); #endif bool CFITSWriter::Open() { ZFUNCTRACE_RUNTIME(); bool bResult = false; Workspace workspace; char error_text[31] = ""; // Error text for FITS errors. bool compressFITSFile{ workspace.value("Stacking/CompressFITS", false).toBool() }; // Create a new fits file int status = 0; fs::remove(file); fits_create_diskfile(&m_fits, reinterpret_cast<const char*>(file.generic_u8string().c_str()), &status); There's a few others that create temporary .txt files but I don't think they are relevant.
Dec ’25
Reply to Unexpected error building on Ventura 13.4
Unfortunately I still get: In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk/usr/include/c++/v1/unordered_map:523: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk/usr/include/c++/v1/__hash_table:844:5: error: static assertion failed due to requirement 'integral_constant<bool, false>::value': the specified hash does not meet the Hash requirements static_assert(__check_hash_requirements<_Key, _Hash>::value, ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk/usr/include/c++/v1/__hash_table:859:1: note: in instantiation of template class 'std::__enforce_unordered_container_requirements<std::filesystem::path, std::hash<std::filesystem::path>, std::equal_to<std::filesystem::path>>' requested here typename __enforce_unordered_container_requirements<_Key, _Hash, _Equal>::type ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk/usr/include/c++/v1/unordered_map:1152:30: note: while substituting explicitly-specified template arguments into function template '__diagnose_unordered_container_requirements' static_assert(sizeof(std::__diagnose_unordered_container_requirements<_Key, _Hash, _Pred>(0)), ""); ^ /Users/amonra/.vs/DSS/build/DeepSkyStackerKernel/DeepSkyStackerKernel_autogen/EWIEGA46WW/../../../../DeepSkyStackerKernel/imageloader.h:60:26: note: in instantiation of member function 'std::unordered_map<std::filesystem::path, std::tuple<LoadedImage, int, bool>>::~unordered_map' requested here static inline CacheType imageCache{}; ^ 2 errors generated. So I can't actually build my code there which is a bit of nuisance. Ho-hum: So ist das Leben!
Jun ’25
Reply to Associating file extension with my application
I changed one thing in my Info.plist and now it works as I expected. I changed this: <key>UTTypeConformsTo</key> <array> <string>public.plain-text</string> to <key>UTTypeConformsTo</key> <array> <string>public.data</string> Now the Icon view in Finder shows the Icon I want instead of an icon it builds itself from the content of the text file. Thanks again for your assistance David
May ’25
Reply to Associating file extension with my application
I just noticed something interesting which might suggest my Info.plist isn't incorrect! If I set finder into "View as list" mode, then the .dssfilelist files DO show the correct icon: However if Finder is set to "View as Icons" then they just show a an Icon that looks like it might be the file contents: :( Is that what I should expect to see? I had rather assumed I'd be shown the Icon when using "View as Icons". David
May ’25
Reply to Associating file extension with my application
Hmmm.... amonra@Saturn Debug % plutil -p DeepSkyStacker.app/Contents/Info.plist { "CFBundleDevelopmentRegion" => "English" "CFBundleDocumentTypes" => [ 0 => { "CFBundleTypeRole" => "Editor" "LSHandlerRank" => "Owner" "LSItemContentTypes" => [ 0 => "com.github.deepskystacker.dssfilelist" ] } ] "CFBundleExecutable" => "DeepSkyStacker" "CFBundleGetInfoString" => "" "CFBundleIconFile" => "DeepSkyStacker.icns" "CFBundleIdentifier" => "com.github.deepskystacker" "CFBundleInfoDictionaryVersion" => "6.0" "CFBundleLocalizations" => [ 0 => "ca" 1 => "cs" 2 => "de" 3 => "es" 4 => "fr" 5 => "it" 6 => "ja_JP" 7 => "nl" 8 => "pt_BR" 9 => "ro" 10 => "ru" 11 => "tr" 12 => "zh_CN" 13 => "zh_TW" ] "CFBundleLongVersionString" => "" "CFBundleName" => "DeepSkyStacker" "CFBundlePackageType" => "APPL" "CFBundleShortVersionString" => "6.1" "CFBundleSignature" => "????" "CFBundleVersion" => "6.1.0" "CSResourcesFileMapped" => 1 "NSHumanReadableCopyright" => "Copyright © 2018-2025, David C. Partridge; Copyright © 2006-2019, Luc Coiffier" "UTExportedTypeDeclarations" => [ 0 => { "UTTypeConformsTo" => [ 0 => "public.plain-text" ] "UTTypeDescription" => "DeepSkyStacker file-list file" "UTTypeIconFile" => "DSS_filelist" "UTTypeIdentifier" => "com.github.deepskystacker.dssfilelist" "UTTypeTagSpecification" => { "public.filename-extension" => [ 0 => "dssfilelist" ] "public.mime-type" => [ 0 => "text/dssfilelist" ] } } ] } amonra@Saturn Debug % ls DeepSkyStacker.app/Contents/Resources DeepSkyStacker.icns DSS_filelist.icns qt.conf amonra@Saturn Debug % looks correct to me but still the Icon refuses to display for .dssfilelist files. As you can see, DSS_filelist.icns is in the Resources directory? Totally baffled David
May ’25
Reply to Associating file extension with my application
I stall can't get the icon to display :( I change the plist to read: <key>UTTypeIconFile</key> <string>DSS_filelist.icns</string> <key>UTTypeIdentifier</key> <string>com.github.deepskystacker.dssfilelist</string> But that didn't help. Surely someone here must know the magic incantation. WHYOHWHY doesn't the registration process flag up errors in the Info.plist file (if that's what's wrong here). David
May ’25