diff options
| author | Roy <Roy.mail.net@gmail.com> | 2023-04-02 17:25:06 +0300 |
|---|---|---|
| committer | Roy <Roy.mail.net@gmail.com> | 2023-04-02 17:25:06 +0300 |
| commit | ad40f1bfc803e3a0a048b9c46e581ec5a8718493 (patch) | |
| tree | a34fbb6e3b188577b29d9ed32e55420ef884d24c /Software/Visual_Studio | |
| parent | ee27897f2d0fbc3a4468b0d8944e532bb9d4275e (diff) | |
| parent | 9bf9b783cd75af8a7835231beb549a0440b1d7e1 (diff) | |
| download | Tango-ad40f1bfc803e3a0a048b9c46e581ec5a8718493.tar.gz Tango-ad40f1bfc803e3a0a048b9c46e581ec5a8718493.zip | |
Merge branch 'software' of https://twinetfs.visualstudio.com/Tango/_git/Tango into software
Diffstat (limited to 'Software/Visual_Studio')
12 files changed, 99 insertions, 34 deletions
diff --git a/Software/Visual_Studio/Advanced Installer Projects/Machine Studio Installer.aip b/Software/Visual_Studio/Advanced Installer Projects/Machine Studio Installer.aip index 722ef8b87..a6b29635e 100644 --- a/Software/Visual_Studio/Advanced Installer Projects/Machine Studio Installer.aip +++ b/Software/Visual_Studio/Advanced Installer Projects/Machine Studio Installer.aip @@ -16,10 +16,10 @@ <ROW Property="ARPCOMMENTS" Value="This installer database contains the logic and data required to install [|ProductName]." ValueLocId="*"/> <ROW Property="ARPNOREPAIR" MultiBuildValue="DefaultBuild:1"/> <ROW Property="Manufacturer" Value="Twine"/> - <ROW Property="ProductCode" Value="1033:{41412C24-199A-4A24-91B6-919FB953D4AD} " Type="16"/> + <ROW Property="ProductCode" Value="1033:{1318D455-94A9-4989-8B7C-1CE84C640B62} " Type="16"/> <ROW Property="ProductLanguage" Value="1033"/> <ROW Property="ProductName" Value="Machine Studio"/> - <ROW Property="ProductVersion" Value="4.9.7.0" Type="32"/> + <ROW Property="ProductVersion" Value="4.9.8.0" Type="32"/> <ROW Property="SecureCustomProperties" Value="OLDPRODUCTS;AI_NEWERPRODUCTFOUND;AI_SETUPEXEPATH;SETUPEXEDIR"/> <ROW Property="UpgradeCode" Value="{CBEE5CAE-7C5A-4280-98DE-AA98113764E4}"/> <ROW Property="WindowsType9X" MultiBuildValue="DefaultBuild:Windows 9x/ME" ValueLocId="-"/> @@ -845,7 +845,7 @@ <ROW Action="AI_DetectSoftware" Sequence="101"/> </COMPONENT> <COMPONENT cid="caphyon.advinst.msicomp.BuildComponent"> - <ROW BuildKey="DefaultBuild" BuildName="DefaultBuild" BuildOrder="1" BuildType="0" PackageFolder="..\Build\Installers\Machine Studio\Release" PackageFileName="Machine Studio Installer_v4.9.7" Languages="en" InstallationType="4" CabsLocation="1" PackageType="1" FilesInsideExe="true" ExtractionFolder="[AppDataFolder][|Manufacturer]\[|ProductName] [|ProductVersion]\install" ExtUI="true" UseLargeSchema="true" ExeName="Machine Studio Installer_v4.9.7"/> + <ROW BuildKey="DefaultBuild" BuildName="DefaultBuild" BuildOrder="1" BuildType="0" PackageFolder="..\Build\Installers\Machine Studio\Release" PackageFileName="Machine Studio Installer_v4.9.8" Languages="en" InstallationType="4" CabsLocation="1" PackageType="1" FilesInsideExe="true" ExtractionFolder="[AppDataFolder][|Manufacturer]\[|ProductName] [|ProductVersion]\install" ExtUI="true" UseLargeSchema="true" ExeName="Machine Studio Installer_v4.9.8"/> </COMPONENT> <COMPONENT cid="caphyon.advinst.msicomp.DictionaryComponent"> <ROW Path="<AI_DICTS>ui.ail"/> diff --git a/Software/Visual_Studio/Advanced Installer Projects/PPC Installer-cache/cacheIndex.txt b/Software/Visual_Studio/Advanced Installer Projects/PPC Installer-cache/cacheIndex.txt Binary files differindex 5fe5afe5a..9453b5c13 100644 --- a/Software/Visual_Studio/Advanced Installer Projects/PPC Installer-cache/cacheIndex.txt +++ b/Software/Visual_Studio/Advanced Installer Projects/PPC Installer-cache/cacheIndex.txt diff --git a/Software/Visual_Studio/Advanced Installer Projects/PPC Installer.aip b/Software/Visual_Studio/Advanced Installer Projects/PPC Installer.aip index 86e707b05..f0e168846 100644 --- a/Software/Visual_Studio/Advanced Installer Projects/PPC Installer.aip +++ b/Software/Visual_Studio/Advanced Installer Projects/PPC Installer.aip @@ -18,10 +18,10 @@ <ROW Property="ARPNOREPAIR" Value="1" MultiBuildValue="DefaultBuild:1"/> <ROW Property="ARPSYSTEMCOMPONENT" Value="1"/> <ROW Property="Manufacturer" Value="Twine"/> - <ROW Property="ProductCode" Value="1033:{D7A53078-7444-4188-B9D8-C68F3A34D554} " Type="16"/> + <ROW Property="ProductCode" Value="1033:{78A13C1D-C7DF-428A-9F6C-C9C1FFFE0A5E} " Type="16"/> <ROW Property="ProductLanguage" Value="1033"/> <ROW Property="ProductName" Value="Tango"/> - <ROW Property="ProductVersion" Value="1.8.10.0" Type="32"/> + <ROW Property="ProductVersion" Value="1.8.11.0" Type="32"/> <ROW Property="SecureCustomProperties" Value="OLDPRODUCTS;AI_NEWERPRODUCTFOUND;AI_SETUPEXEPATH;SETUPEXEDIR"/> <ROW Property="UpgradeCode" Value="{F8EAB8B4-FD57-45B7-8307-D52DF760273D}"/> <ROW Property="WindowsType9X" MultiBuildValue="DefaultBuild:Windows 9x/ME" ValueLocId="-"/> @@ -514,7 +514,7 @@ <ROW Action="AI_DetectSoftware" Sequence="101"/> </COMPONENT> <COMPONENT cid="caphyon.advinst.msicomp.BuildComponent"> - <ROW BuildKey="DefaultBuild" BuildName="DefaultBuild" BuildOrder="1" BuildType="0" PackageFolder="..\Build\Installers\PPC" PackageFileName="PPC Installer_v1.8.10" Languages="en" InstallationType="4" CabsLocation="1" PackageType="1" FilesInsideExe="true" ExtractionFolder="[AppDataFolder][|Manufacturer]\[|ProductName] [|ProductVersion]\install" ExtUI="true" UseLargeSchema="true" ExeName="PPC Installer_v1.8.10"/> + <ROW BuildKey="DefaultBuild" BuildName="DefaultBuild" BuildOrder="1" BuildType="0" PackageFolder="..\Build\Installers\PPC" PackageFileName="PPC Installer_v1.8.11" Languages="en" InstallationType="4" CabsLocation="1" PackageType="1" FilesInsideExe="true" ExtractionFolder="[AppDataFolder][|Manufacturer]\[|ProductName] [|ProductVersion]\install" ExtUI="true" UseLargeSchema="true" ExeName="PPC Installer_v1.8.11"/> </COMPONENT> <COMPONENT cid="caphyon.advinst.msicomp.DictionaryComponent"> <ROW Path="<AI_DICTS>ui.ail"/> diff --git a/Software/Visual_Studio/ColorLib/Tango.ColorLib_v4/PMR/ColorLab/RecommendedProcessTableInput.pb-c.c b/Software/Visual_Studio/ColorLib/Tango.ColorLib_v4/PMR/ColorLab/RecommendedProcessTableInput.pb-c.c index 39c139cda..90164c8b7 100644 --- a/Software/Visual_Studio/ColorLib/Tango.ColorLib_v4/PMR/ColorLab/RecommendedProcessTableInput.pb-c.c +++ b/Software/Visual_Studio/ColorLib/Tango.ColorLib_v4/PMR/ColorLab/RecommendedProcessTableInput.pb-c.c @@ -52,7 +52,7 @@ void recommended_process_table_input__free_unpacked assert(message->base.descriptor == &recommended_process_table_input__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -static const ProtobufCFieldDescriptor recommended_process_table_input__field_descriptors[11] = +static const ProtobufCFieldDescriptor recommended_process_table_input__field_descriptors[12] = { { "ThreadL", @@ -186,6 +186,18 @@ static const ProtobufCFieldDescriptor recommended_process_table_input__field_des 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, + { + "VMax", + 12, + PROTOBUF_C_LABEL_OPTIONAL, + PROTOBUF_C_TYPE_DOUBLE, + offsetof(RecommendedProcessTableInput, has_vmax), + offsetof(RecommendedProcessTableInput, vmax), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, }; static const unsigned recommended_process_table_input__field_indices_by_name[] = { 3, /* field[3] = ForwardData */ @@ -199,11 +211,12 @@ static const unsigned recommended_process_table_input__field_indices_by_name[] = 0, /* field[0] = ThreadL */ 7, /* field[7] = UseLightInks */ 10, /* field[10] = UseLubricantTransform */ + 11, /* field[11] = VMax */ }; static const ProtobufCIntRange recommended_process_table_input__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 11 } + { 0, 12 } }; const ProtobufCMessageDescriptor recommended_process_table_input__descriptor = { @@ -213,7 +226,7 @@ const ProtobufCMessageDescriptor recommended_process_table_input__descriptor = "RecommendedProcessTableInput", "", sizeof(RecommendedProcessTableInput), - 11, + 12, recommended_process_table_input__field_descriptors, recommended_process_table_input__field_indices_by_name, 1, recommended_process_table_input__number_ranges, diff --git a/Software/Visual_Studio/ColorLib/Tango.ColorLib_v4/PMR/ColorLab/RecommendedProcessTableInput.pb-c.h b/Software/Visual_Studio/ColorLib/Tango.ColorLib_v4/PMR/ColorLab/RecommendedProcessTableInput.pb-c.h index e75ddd39e..df4a26da3 100644 --- a/Software/Visual_Studio/ColorLib/Tango.ColorLib_v4/PMR/ColorLab/RecommendedProcessTableInput.pb-c.h +++ b/Software/Visual_Studio/ColorLib/Tango.ColorLib_v4/PMR/ColorLab/RecommendedProcessTableInput.pb-c.h @@ -51,10 +51,12 @@ struct _RecommendedProcessTableInput ProtobufCBinaryData lubdata; protobuf_c_boolean has_uselubricanttransform; protobuf_c_boolean uselubricanttransform; + protobuf_c_boolean has_vmax; + double vmax; }; #define RECOMMENDED_PROCESS_TABLE_INPUT__INIT \ { PROTOBUF_C_MESSAGE_INIT (&recommended_process_table_input__descriptor) \ - , 0, 0, 0, 0, 0, 0, 0, {0,NULL}, 0,NULL, 0,NULL, 0,NULL, 0, 0, 0, {0,NULL}, 0, {0,NULL}, 0, 0 } + , 0, 0, 0, 0, 0, 0, 0, {0,NULL}, 0,NULL, 0,NULL, 0,NULL, 0, 0, 0, {0,NULL}, 0, {0,NULL}, 0, 0, 0, 0 } /* RecommendedProcessTableInput methods */ diff --git a/Software/Visual_Studio/ColorLib/Tango.ColorLib_v5/ColorConverter.cpp b/Software/Visual_Studio/ColorLib/Tango.ColorLib_v5/ColorConverter.cpp index 58e0237aa..e10f7c5f4 100644 --- a/Software/Visual_Studio/ColorLib/Tango.ColorLib_v5/ColorConverter.cpp +++ b/Software/Visual_Studio/ColorLib/Tango.ColorLib_v5/ColorConverter.cpp @@ -4687,6 +4687,7 @@ void Tango::ColorLib::ColorConverter::SplitVolume(VectorXd Volume, VectorXd &Vol double PrevLow = low; while (resplit == true) { + TotalVolume = 0.0; for (int i = 0; i < m_TotalNumberofInks; ++i) TotalVolume += VolumeLI(i); if (TotalVolume > UpperLimit) @@ -4827,6 +4828,11 @@ size_t Tango::ColorLib::ColorConverter::GetRecommendedProcessParameters(uint8_t m_UseLightInks = Input->uselightinks; if ((numLightInks <= 0) & (m_UseLightInks == true)) throw std::exception("Light Inks not defined"); + if (!Input->has_vmax) + throw std::exception("Light Inks Threshold not defined"); + m_LightInksThr = Input->vmax; + m_LowVolumeThreshold = m_LightInksThr / DilutionFactor; + m_LowVolHalf = m_LowVolumeThreshold / 2.0; int expected_liquids = numofInks; m_TotalNumberofInks = numofInks; diff --git a/Software/Visual_Studio/ColorLib/Tango.ColorLib_v5/PMR/ColorLab/RecommendedProcessTableInput.pb-c.c b/Software/Visual_Studio/ColorLib/Tango.ColorLib_v5/PMR/ColorLab/RecommendedProcessTableInput.pb-c.c index 39c139cda..90164c8b7 100644 --- a/Software/Visual_Studio/ColorLib/Tango.ColorLib_v5/PMR/ColorLab/RecommendedProcessTableInput.pb-c.c +++ b/Software/Visual_Studio/ColorLib/Tango.ColorLib_v5/PMR/ColorLab/RecommendedProcessTableInput.pb-c.c @@ -52,7 +52,7 @@ void recommended_process_table_input__free_unpacked assert(message->base.descriptor == &recommended_process_table_input__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -static const ProtobufCFieldDescriptor recommended_process_table_input__field_descriptors[11] = +static const ProtobufCFieldDescriptor recommended_process_table_input__field_descriptors[12] = { { "ThreadL", @@ -186,6 +186,18 @@ static const ProtobufCFieldDescriptor recommended_process_table_input__field_des 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, + { + "VMax", + 12, + PROTOBUF_C_LABEL_OPTIONAL, + PROTOBUF_C_TYPE_DOUBLE, + offsetof(RecommendedProcessTableInput, has_vmax), + offsetof(RecommendedProcessTableInput, vmax), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, }; static const unsigned recommended_process_table_input__field_indices_by_name[] = { 3, /* field[3] = ForwardData */ @@ -199,11 +211,12 @@ static const unsigned recommended_process_table_input__field_indices_by_name[] = 0, /* field[0] = ThreadL */ 7, /* field[7] = UseLightInks */ 10, /* field[10] = UseLubricantTransform */ + 11, /* field[11] = VMax */ }; static const ProtobufCIntRange recommended_process_table_input__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 11 } + { 0, 12 } }; const ProtobufCMessageDescriptor recommended_process_table_input__descriptor = { @@ -213,7 +226,7 @@ const ProtobufCMessageDescriptor recommended_process_table_input__descriptor = "RecommendedProcessTableInput", "", sizeof(RecommendedProcessTableInput), - 11, + 12, recommended_process_table_input__field_descriptors, recommended_process_table_input__field_indices_by_name, 1, recommended_process_table_input__number_ranges, diff --git a/Software/Visual_Studio/ColorLib/Tango.ColorLib_v5/PMR/ColorLab/RecommendedProcessTableInput.pb-c.h b/Software/Visual_Studio/ColorLib/Tango.ColorLib_v5/PMR/ColorLab/RecommendedProcessTableInput.pb-c.h index e75ddd39e..df4a26da3 100644 --- a/Software/Visual_Studio/ColorLib/Tango.ColorLib_v5/PMR/ColorLab/RecommendedProcessTableInput.pb-c.h +++ b/Software/Visual_Studio/ColorLib/Tango.ColorLib_v5/PMR/ColorLab/RecommendedProcessTableInput.pb-c.h @@ -51,10 +51,12 @@ struct _RecommendedProcessTableInput ProtobufCBinaryData lubdata; protobuf_c_boolean has_uselubricanttransform; protobuf_c_boolean uselubricanttransform; + protobuf_c_boolean has_vmax; + double vmax; }; #define RECOMMENDED_PROCESS_TABLE_INPUT__INIT \ { PROTOBUF_C_MESSAGE_INIT (&recommended_process_table_input__descriptor) \ - , 0, 0, 0, 0, 0, 0, 0, {0,NULL}, 0,NULL, 0,NULL, 0,NULL, 0, 0, 0, {0,NULL}, 0, {0,NULL}, 0, 0 } + , 0, 0, 0, 0, 0, 0, 0, {0,NULL}, 0,NULL, 0,NULL, 0,NULL, 0, 0, 0, {0,NULL}, 0, {0,NULL}, 0, 0, 0, 0 } /* RecommendedProcessTableInput methods */ diff --git a/Software/Visual_Studio/ColorLib/Tango.ColorLib_v6/ColorConverter.cpp b/Software/Visual_Studio/ColorLib/Tango.ColorLib_v6/ColorConverter.cpp index 70db11e2e..0ecf4df6d 100644 --- a/Software/Visual_Studio/ColorLib/Tango.ColorLib_v6/ColorConverter.cpp +++ b/Software/Visual_Studio/ColorLib/Tango.ColorLib_v6/ColorConverter.cpp @@ -395,7 +395,7 @@ void Tango::ColorLib::ColorConverter::ProcessHiveNeighbors(ConversionInput *conv VectorXd VolumeLI(m_TotalNumberofInks); if (m_UseLightInks) { - SplitVolume(Vol, VolumeLI, GamutRegion[iHive]); + SplitVolume(Vol, VolumeLI, GamutRegion[iHive], COLOR_SPACE__LAB); } else { @@ -416,7 +416,7 @@ void Tango::ColorLib::ColorConverter::ProcessHiveNeighbors(ConversionInput *conv VectorXd VolumeLI_s(m_TotalNumberofInks); if (m_UseLightInks) { - SplitVolume(Volume, VolumeLI_s, InGamutRegion); + SplitVolume(Volume, VolumeLI_s, InGamutRegion, COLOR_SPACE__LAB); } else { @@ -2034,7 +2034,7 @@ size_t Tango::ColorLib::ColorConverter::Convert(uint8_t * input_buffer, size_t i //Split Volume into inks and Light Inks if (m_UseLightInks) { - SplitVolume(Volume, VolumeLI, GamutRegion); + SplitVolume(Volume, VolumeLI, GamutRegion, colorspace); } else { @@ -2068,7 +2068,7 @@ size_t Tango::ColorLib::ColorConverter::Convert(uint8_t * input_buffer, size_t i MatrixXd RGBHive(MatHive, 3); VectorXd RGBHive1(3); VectorXd LabHive1(3); - VectorXd VolumeHive1(m_TotalNumberofInks); + VectorXd VolumeHive1(m_TotalNumberofInks); MatrixXd VolumeHive(MatHive, m_TotalNumberofInks); MatrixXd LabHive(MatHive, 3); @@ -4656,7 +4656,7 @@ void Tango::ColorLib::ColorConverter::GetClosestInk(VectorXd Volume, int &GamutR double TotalVolume = 0.0; for (int i = 0; i < m_nInks; ++i) TotalVolume += Volume(i); - DefineSplitLimits(low, high, TotalVolume); + DefineSplitLimits(low, high, TotalVolume, COLOR_SPACE__LAB); for (int i = 0; i < m_nInks-1; ++i) { if (Volume(i) > 1.e-04) @@ -4850,7 +4850,7 @@ void Tango::ColorLib::ColorConverter::ConvertVolumeToLabRel(VectorXd &Volume, Ve } -void Tango::ColorLib::ColorConverter::SplitVolume(VectorXd Volume, VectorXd &VolumeLI, int &GamutRegion) +void Tango::ColorLib::ColorConverter::SplitVolume(VectorXd Volume, VectorXd &VolumeLI, int &GamutRegion, ColorSpace colorSpace) { //mark split candidates int ind = 0; @@ -4872,7 +4872,7 @@ void Tango::ColorLib::ColorConverter::SplitVolume(VectorXd Volume, VectorXd &Vol indGR = i; } //Set Limits - DefineSplitLimits(low, high, InitTotalVolume); + DefineSplitLimits(low, high, InitTotalVolume, colorSpace); //Verify there are no inks below the split limits //This might happen because of a previous rounding step that changes the low limit by a small amount for (int i = 0; i < m_nInks; ++i) @@ -4899,6 +4899,21 @@ void Tango::ColorLib::ColorConverter::SplitVolume(VectorXd Volume, VectorXd &Vol double UpperLimit = m_CurrentProcessRangesMax[m_nProcessRanges - 1]; double TotalVolume = 0.0; + // Oren 09/03 + // split this based on color space. in Volume\Catalog i.e. explicit CMYK we don't round for uniformity based on TotalVol. + bool dummy = true; + if (colorSpace == COLOR_SPACE__Volume || colorSpace == COLOR_SPACE__Catalog) { + for (int i = 0; i < m_TotalNumberofInks; ++i) + TotalVolume += VolumeLI(i); + if (TotalVolume > UpperLimit) + { + //Check if only some of the inks can be brought back to non-light inks + GetBackLightInks(VolumeLI, GamutRegion, VolumeLI, dummy, GamutRegion); + } + NLcmtoPercentage(VolumeLI, VolumeLI); + return; + } + bool resplit = true; VectorXd PrevVolume(m_TotalNumberofInks); VectorXd VolumeNoLI(m_nInks); @@ -4921,7 +4936,7 @@ void Tango::ColorLib::ColorConverter::SplitVolume(VectorXd Volume, VectorXd &Vol } else if (TotalVolume > InitTotalVolume) { - DefineSplitLimits(low, high, TotalVolume); + DefineSplitLimits(low, high, TotalVolume, colorSpace); //recalculate Gamut Region indGR = 0; findGamutRegion(GamutRegion, TotalVolume); @@ -4998,7 +5013,7 @@ void Tango::ColorLib::ColorConverter::GetBackLightInks(VectorXd &VolumeLI, int & numLgtInks++; } } - if (numLgtInks > 1) + if (numLgtInks > 0) { sortPairs(LgtInksIndex, LightVol, numLgtInks); //Light inks are sorted in ascending order //revert and check @@ -5062,8 +5077,15 @@ void Tango::ColorLib::ColorConverter::sortPairs(int *LgtInksIndex, double*LightV } -void Tango::ColorLib::ColorConverter::DefineSplitLimits(double &low, double &high, double InitTotalVolume) +void Tango::ColorLib::ColorConverter::DefineSplitLimits(double &low, double &high, double InitTotalVolume, ColorSpace colorSpace) { + // in case of explicit CMYK volume input, low and high are derived of min ink uptake + // essentially we don't round for uniformity between (LowVolThr * minInkUptake) and (LowVolThr * TotalVol) + if (colorSpace == COLOR_SPACE__Volume || colorSpace == COLOR_SPACE__Catalog) { + low = m_LowVolumeThreshold * m_CurrentProcessRangesMin[0] / 100.0; + high = m_LightInksThr * m_CurrentProcessRangesMin[0] / 100.0; + return; + } //Set Limits //1st Region double lim1 = 0; @@ -5134,7 +5156,12 @@ size_t Tango::ColorLib::ColorConverter::GetRecommendedProcessParameters(uint8_t m_UseLightInks = Input->uselightinks; if ((numLightInks <= 0) & (m_UseLightInks == true)) throw std::exception("Light Inks not defined"); - + if (!Input->has_vmax) + throw std::exception("Light Inks Threshold not defined"); + m_LightInksThr = Input->vmax; + m_LowVolumeThreshold = m_LightInksThr / DilutionFactor; + m_LowVolHalf = m_LowVolumeThreshold / 2.0; + int expected_liquids = numofInks; m_TotalNumberofInks = numofInks; int original_input_liquids_count = Input->n_inputliquids; @@ -5363,7 +5390,7 @@ size_t Tango::ColorLib::ColorConverter::GetRecommendedProcessParameters(uint8_t if (Input->uselightinks) { //Convert to light inks GamutRegion[istops] = GetGamutRegion(Volume_nlcm, m_CurrentProcessRangesMax);//Volume is in [nl/cm] - SplitVolume(Volume, VolumeLi, GamutRegion[istops]); //VolumeLi is in [%] + SplitVolume(Volume, VolumeLi, GamutRegion[istops], colorspace); //VolumeLi is in [%] } else { @@ -5409,7 +5436,7 @@ size_t Tango::ColorLib::ColorConverter::GetRecommendedProcessParameters(uint8_t if (Input->uselightinks) { //Convert to light inks GamutRegion[istops] = GetGamutRegion(Volume_nlcm, m_CurrentProcessRangesMax);//Volume_nlcm is in [nl/cm] - SplitVolume(Volume, VolumeLi, GamutRegion[istops]); //VolumeLi is in [%] + SplitVolume(Volume, VolumeLi, GamutRegion[istops], colorspace); //VolumeLi is in [%] } else { @@ -5460,7 +5487,7 @@ size_t Tango::ColorLib::ColorConverter::GetRecommendedProcessParameters(uint8_t } if (Input->uselightinks) { //Convert to light inks - SplitVolume(Volume, VolumeLi, GamutRegion[istops]); + SplitVolume(Volume, VolumeLi, GamutRegion[istops], colorspace); } } if (istops == 0 || processparameterstableindex < GamutRegion[istops]) @@ -5603,8 +5630,10 @@ size_t Tango::ColorLib::ColorConverter::CheckOutOfGamut(uint8_t * input_buffer, readColorTransformations(Input); m_Has_GBD = Input->has_gbddata; - if (m_Has_GBD) + if (m_Has_GBD) { readThreadGamut(Input); + m_colortable->SetGBD(m_ThreadGBD->m_GBD); + } // OrenLub m_has_lubdata = Input->has_lubdata; @@ -5903,7 +5932,7 @@ void Tango::ColorLib::ColorConverter::DirectInversionCalc(double *LabIn, VectorX Vol_nlcm[k][i] = Vol[k][i] * m_currentMaxNLPerCM(i) / 100.0; TotalVolume[k] += Vol_nlcm[k][i]; } - DefineSplitLimits(low[k], high[k], TotalVolume[k]); + DefineSplitLimits(low[k], high[k], TotalVolume[k], COLOR_SPACE__LAB); for (i = 0; i < npars - 1; ++i) FSInd = FSInd & ((Vol_nlcm[k][i] < 0.01) | (Vol_nlcm[k][i] > low[k])); FSInd = FSInd & (Vol_nlcm[k][npars - 1] < 0.01) | (Vol_nlcm[k][npars - 1] > high[k]); diff --git a/Software/Visual_Studio/ColorLib/Tango.ColorLib_v6/ColorConverter.h b/Software/Visual_Studio/ColorLib/Tango.ColorLib_v6/ColorConverter.h index 337513677..f1f3d052a 100644 --- a/Software/Visual_Studio/ColorLib/Tango.ColorLib_v6/ColorConverter.h +++ b/Software/Visual_Studio/ColorLib/Tango.ColorLib_v6/ColorConverter.h @@ -229,8 +229,8 @@ namespace Tango void GetClosestInk(VectorXd Volume, int &GamutRegion, VectorXd &BestVolume, int CTUnits); bool CheckMonotonicity(CalibrationData *calibdata); void ConfineVolumes(VectorXd &Volume); - void SplitVolume(VectorXd Volume, VectorXd &VolumeLI, int &GamutRegion); - void DefineSplitLimits(double &low, double &high, double InitTotalVolume); + void SplitVolume(VectorXd Volume, VectorXd &VolumeLI, int &GamutRegion, ColorSpace); + void DefineSplitLimits(double &low, double &high, double InitTotalVolume, ColorSpace); void findGamutRegion(int &GamutRegion, double TotalVolume); void SetCalibMode(); void SetCalibFactorization(); diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Properties/AssemblyInfo.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Properties/AssemblyInfo.cs index 2ac73959f..9dc435c9c 100644 --- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Properties/AssemblyInfo.cs +++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Properties/AssemblyInfo.cs @@ -4,5 +4,5 @@ using System.Runtime.InteropServices; [assembly: System.Windows.ThemeInfo(System.Windows.ResourceDictionaryLocation.None, System.Windows.ResourceDictionaryLocation.SourceAssembly)] [assembly: AssemblyTitle("Tango - Machine Studio")] -[assembly: AssemblyVersion("4.9.7.0")] +[assembly: AssemblyVersion("4.9.8.0")] [assembly: ComVisible(false)]
\ No newline at end of file diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/Properties/AssemblyInfo.cs b/Software/Visual_Studio/PPC/Tango.PPC.UI/Properties/AssemblyInfo.cs index a6e3465b2..f5aecf2fd 100644 --- a/Software/Visual_Studio/PPC/Tango.PPC.UI/Properties/AssemblyInfo.cs +++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/Properties/AssemblyInfo.cs @@ -8,4 +8,4 @@ using System.Windows; // set of attributes. Change these attribute values to modify the information // associated with an assembly. [assembly: AssemblyTitle("Tango PPC Application")] -[assembly: AssemblyVersion("1.8.10.0")] +[assembly: AssemblyVersion("1.8.11.0")] |
