Audio Dependency NAudioCore 2.0.0 missing on Preview

Preview 6.7-0228

More missing dependencies on 6.7-0228 preview

Maybe is it related to this issue?

Still thinking that VL.Audio needs a review. These missing packages force the user to install them manually, and this can create some problems due having wrong NAudioCore packages in nugets folder.

I had to install NAudioCore 2.2.1 manually

For me it’s not working correctly even after installing the packages manually.
Opening the Audioplayer reference patch for example doesn’t throw an error but it doesn’t play (Oscillator and Noise also don’t give any audible output).

When opening the Audioconfiguration (Alt + C) I am greeted by a black, empty window. Log says this:

Failed to run handler of VL.Audio Configuration
System.NullReferenceException: Object reference not set to an instance of an object.
   at VL.Audio.AudioEngine.GetSupportedChannels(Int32& inputChannels, Int32& outputChannels)
   at _VL_Audio_.Audio.DriverStatus_KO34XCKo2v1OzrwCrrrcJn.Update(Boolean& Is_Playing_Out, String& Selected_Driver_Out, Boolean& Driver_Is_Defau
lt_Selection_Out, Boolean& Is_ASIO_Out, Int32& Sample_Rate_Out, Int32& Buffer_Size_Out, String& Selected_WASAPI_Input_Device_Out, Boolean& WASAP
I_Input_Is_Default_Selection_Out, Int32& Available_Input_Channels_Out, Int32& Open_Input_Channels_Out, Int32& Available_Output_Channels_Out, Int
32& Open_Output_Channels_Out, Int32& ASIO_Input_Channel_Offset_Out, Int32& ASIO_Output_Channel_Offset_Out, String& Last_Error_Out)
   at _VL_Audio_UI_.Audio.SettingsUI.Controller_S3CWhfU8QqfLJ3sXU76kav.Update(IObservable`1 UI_State_In, AudioSettings_R& Output_Out)
   at _VL_Audio_HDE_.__auto.VL_Audio_HDEApplication_VyP04T5McEJP0VF85XlHM4.<>c__DisplayClass3_0.<Update>b__8(Object stateInput_64, IReadOnlyList
`1 inputs_65, IReadOnlyList`1 incomingLinks_66, Object& stateOutput_68, Spread`1& outputs_69)
   at _VL_ImGui_.ReGui.ImmediateModeNode_C.<>c__DisplayClass3_0.<Update>b__0(Context Obj_In_51)
   at VL.ImGui.Widget.Update(Context context)
   at VL.ImGui.ToSkiaLayer.Update(Widget widget, Boolean dockingEnabled, Spread`1 fonts, IStyle Style)
   at _VL_Audio_HDE_.__auto.VL_Audio_HDEApplication_VyP04T5McEJP0VF85XlHM4.<>c__DisplayClass3_0.<Update>b__0(Object stateInput_22, Object& state
Output_24, IWindow& window_25)
   at VL.HDE.WindowFactory.Update(String name, CreateHandler create, UpdateHandler update, Int32& activeWindowCount)

Driversettings stops with NullReferenceExecption

I have to set the driver to Asio to get it to work. So I guess WASAPI is somehow broken.

Definetly, VL.Audio needs some urgent atention.

1 Like

This is the Process that has issues with NAudio.Core and Gamma versions >= 6.7-228

Copy and paste it in a empty project

<?xml version="1.0" encoding="utf-16"?>
<Canvas xmlns:p="property" xmlns:r="reflection" Id="JmYbdSCA5DQPbLKVopTnmX" MergeId="231751" DefaultCategory="Editor" CanvasType="FullCategory">
  <!--

    ************************ AudioFileLength ************************

-->
  <Node Name="AudioFileLength" Bounds="475,771" Id="I0jTAO6VbEsPY01xq5wBco">
    <p:NodeReference>
      <Choice Kind="ContainerDefinition" />
    </p:NodeReference>
    <Patch Id="IGpitkca2sWP6SZdqY56K6">
      <Canvas Id="PPBef1WcVFbOegxevUHNK6" CanvasType="Group">
        <ControlPoint Id="VJp30FYjN06MLJKeFgn1ry" Bounds="410,219" />
        <ControlPoint Id="FNvvGBC3YbSOJJhICvDfMl" Bounds="260,870" />
        <Node Bounds="255,329,216,404" Id="BjsovVLia2TNPIt6ZpNiqf">
          <p:NodeReference LastCategoryFullName="Reactive" LastDependency="VL.CoreLib.vl">
            <Choice Kind="StatefulRegion" Name="Region (Stateful)" Fixed="true" />
            <Choice Kind="ProcessAppFlag" Name="AsyncTask" />
          </p:NodeReference>
          <Pin Id="EF7s1CXZH8COe0tkOuWm5p" Name="Node Context" Kind="InputPin" IsHidden="true" />
          <Pin Id="UMBOM6yEUd5MiXj9eGcdVP" Name="Trigger" Kind="InputPin" />
          <Pin Id="Pba1MqN5Uf1MSw1fQpoDQt" Name="Abort" Kind="InputPin" />
          <Pin Id="ChxpGvMP257MubXLTcMdrK" Name="Result" Kind="OutputPin" />
          <Pin Id="FvziyS8N1w1Nh1A1ge7hFh" Name="In Progress" Kind="OutputPin" />
          <Patch Id="Vb0Mmkbe7GrN8EivtiJjd2" ManuallySortedPins="true">
            <Patch Id="JaoGn1ZKXjUMGA8H1MRCno" Name="Create" ManuallySortedPins="true" />
            <Patch Id="TJF63B2ILFtQAesELD7hf1" Name="Update" ManuallySortedPins="true">
              <Pin Id="ODCa7tlNHt4NRf9n3Hru6J" Name="Input 1" Kind="InputPin" />
              <Pin Id="AZdvwf9juybNwdlHPNet58" Name="Output" Kind="OutputPin" />
            </Patch>
            <ControlPoint Id="VoTS1ICV8ChMdRN7dVekRL" Bounds="297,337" />
            <ControlPoint Id="IJ9xqF4mpckQDNMu0vlWhs" Bounds="372,726" />
            <Node Bounds="299,358,84,19" Id="NQ90b9Mo29RN10scK8y9Mz">
              <p:NodeReference LastCategoryFullName="Audio" LastDependency="VL.Audio.vl">
                <Choice Kind="NodeFlag" Name="Node" Fixed="true" />
                <Choice Kind="ProcessAppFlag" Name="EngineProvider" />
              </p:NodeReference>
              <Pin Id="GYGrXnMIMmJMbuAgnPp5Vk" Name="Node Context" Kind="InputPin" IsHidden="true" />
              <Pin Id="KtX16MgKIUmNnrqCvgukYS" Name="Global Engine" Kind="OutputPin" />
              <Pin Id="TSS9IkIqKQKNN6JZzcKNQx" Name="Engine" Kind="OutputPin" />
            </Node>
            <Node Bounds="284,407,99,82" Id="EQFAwi2ymZOOxR4oNVmVmH">
              <p:NodeReference LastCategoryFullName="Control" LastDependency="VL.CoreLib.vl">
                <Choice Kind="StatefulRegion" Name="Region (Stateful)" Fixed="true" />
                <Choice Kind="ProcessAppFlag" Name="Do" />
                <CategoryReference Kind="Category" Name="Control" NeedsToBeDirectParent="true" />
              </p:NodeReference>
              <ControlPoint Id="D3SqQK15EtKQcEvlT6RXpV" Bounds="302,413" Alignment="Top" />
              <ControlPoint Id="Kv4YjP6Usb1M0rqktj6daq" Bounds="299,483" Alignment="Bottom" />
              <Pin Id="Q1KRw8iLn9eNzQWe9eUXss" Name="Node Context" Kind="InputPin" IsHidden="true" />
              <Patch Id="TVM5hIQah01M3cerz4TULG" ManuallySortedPins="true">
                <Node Bounds="296,430,75,26" Id="Kol0c9I2PgVMQPH8noiYet">
                  <p:NodeReference LastCategoryFullName="VL.Audio.FileStreamSignal" LastDependency="VL.Audio.dll">
                    <Choice Kind="NodeFlag" Name="Node" Fixed="true" />
                    <CategoryReference Kind="AssemblyCategory" Name="FileStreamSignal" />
                    <Choice Kind="OperationCallFlag" Name="Create" />
                  </p:NodeReference>
                  <Pin Id="JkiHQZSYzTdP3pmgHgLbAc" Name="Output" Kind="StateOutputPin" />
                </Node>
                <Patch Id="S5HDWZKheWCOm61HtdQ6Kz" Name="Create" ManuallySortedPins="true" />
                <Patch Id="EwfQ6WLoXbtMagdJgHis9q" Name="Update" ManuallySortedPins="true" />
                <Patch Id="IBT6RbMSekMLgYVA7MzDgJ" Name="Dispose" />
              </Patch>
            </Node>
            <Node Bounds="298,538,75,26" Id="RWmKt5WwINAOBf5Z9Oflr4">
              <p:NodeReference LastCategoryFullName="VL.Audio.FileStreamSignal" LastDependency="VL.Audio.dll">
                <Choice Kind="NodeFlag" Name="Node" Fixed="true" />
                <Choice Kind="OperationCallFlag" Name="OpenFile" />
                <CategoryReference Kind="AssemblyCategory" Name="FileStreamSignal" NeedsToBeDirectParent="true" />
              </p:NodeReference>
              <Pin Id="IgswCMYulbYNBldev1Zyy2" Name="Input" Kind="StateInputPin" />
              <Pin Id="NNwYR0IxkxcPHKEhJpeIvm" Name="Filename" Kind="InputPin" />
              <Pin Id="HjMVefn25nQPITzyDcBuwu" Name="Output" Kind="StateOutputPin" />
            </Node>
            <Node Bounds="297,581,75,26" Id="Nl1YcwAY2huMJrfMudnzAq">
              <p:NodeReference LastCategoryFullName="VL.Audio.FileStreamSignal" LastDependency="VL.Audio.dll">
                <Choice Kind="NodeFlag" Name="Node" Fixed="true" />
                <Choice Kind="OperationCallFlag" Name="FAudioFile" />
                <CategoryReference Kind="AssemblyCategory" Name="FileStreamSignal" NeedsToBeDirectParent="true" />
              </p:NodeReference>
              <Pin Id="U5VfUgWRAUWOUPrmtsXdrF" Name="Input" Kind="StateInputPin" />
              <Pin Id="Bm3RCO4iCGZQOWzKbrPqIJ" Name="Output" Kind="StateOutputPin" />
              <Pin Id="SEn2jK213yeOTsWWxnNo9s" Name="FAudio File" Kind="OutputPin" />
            </Node>
            <Node Bounds="367,615,62,19" Id="OCLtv7AfE3FLCNQVshhcjk">
              <p:NodeReference LastCategoryFullName="NAudio.Wave.WaveStream" LastDependency="NAudio.Core.dll">
                <Choice Kind="NodeFlag" Name="Node" Fixed="true" />
                <Choice Kind="OperationCallFlag" Name="TotalTime" />
              </p:NodeReference>
              <Pin Id="UejBrNSZJRMMUhRd4BWz73" Name="Input" Kind="StateInputPin" />
              <Pin Id="SucoJ52Cup4O1gYMtYJl3m" Name="Output" Kind="StateOutputPin" />
              <Pin Id="UHuQcVASkxNPo4EoBXefoD" Name="Total Time" Kind="OutputPin" />
            </Node>
            <Node Bounds="369,651,77,26" Id="UQthZ1PxXeeNyQM29UtV0b">
              <p:NodeReference LastCategoryFullName="System.TimeSpan" LastDependency="VL.CoreLib.vl">
                <Choice Kind="NodeFlag" Name="Node" Fixed="true" />
                <Choice Kind="OperationCallFlag" Name="TotalSeconds" />
              </p:NodeReference>
              <Pin Id="NtGzHT5nKH9NishGTpbPzC" Name="Input" Kind="StateInputPin" />
              <Pin Id="Jr5xLyvGtszQE4Ud1JG1Z9" Name="Total Seconds" Kind="OutputPin" />
            </Node>
            <Node Bounds="369,692,62,19" Id="IM2Domr4mtSPK7u08Yi9Qu">
              <p:NodeReference LastCategoryFullName="System.Conversion" LastDependency="VL.CoreLib.vl">
                <Choice Kind="NodeFlag" Name="Node" Fixed="true" />
                <Choice Kind="OperationCallFlag" Name="ToFloat32" />
              </p:NodeReference>
              <Pin Id="Kl2ri2FvVgeQCvOn6Bt2Ha" Name="Input" Kind="InputPin" />
              <Pin Id="Cm15N96YCuYOhdjdm8Ph4Y" Name="Result" Kind="OutputPin" />
            </Node>
            <Node Bounds="404,375,55,19" Id="F3hA3LZfW5lL2T5xjOxY3a">
              <p:NodeReference LastCategoryFullName="IO.Path" LastDependency="VL.CoreLib.vl">
                <Choice Kind="NodeFlag" Name="Node" Fixed="true" />
                <CategoryReference Kind="RecordType" Name="Path" />
                <Choice Kind="OperationCallFlag" Name="ToString" />
              </p:NodeReference>
              <Pin Id="PB1UWSfHFBBMUc0QjwoWA2" Name="Input" Kind="StateInputPin" />
              <Pin Id="R9sP502RBVdLOCZ8s1kbjh" Name="Result" Kind="OutputPin" />
            </Node>
          </Patch>
        </Node>
        <Node Bounds="256,281,57,19" Id="QYwtH2ZjecMM0AhBrar3zE">
          <p:NodeReference LastCategoryFullName="Control" LastDependency="VL.CoreLib.vl">
            <Choice Kind="NodeFlag" Name="Node" Fixed="true" />
            <CategoryReference Kind="Category" Name="Control" NeedsToBeDirectParent="true">
              <p:OuterCategoryReference Kind="Category" NeedsToBeDirectParent="true" />
            </CategoryReference>
            <Choice Kind="ProcessAppFlag" Name="Changed" />
          </p:NodeReference>
          <Pin Id="SMu6MvJe80COMxdKJDVz9S" Name="Node Context" Kind="InputPin" IsHidden="true" />
          <Pin Id="TraOYBadX25LbVkErNAvuN" Name="Changed On Create" Kind="InputPin" IsHidden="true" />
          <Pin Id="P4I7U3ePwnHOc4HeScj17D" Name="Value" Kind="InputPin" />
          <Pin Id="TmMBiD1B0fGMvW4JjTw3HQ" Name="Result" Kind="OutputPin" />
          <Pin Id="SIXNcMuJd6qNuZzrCwXvbX" Name="Unchanged" Kind="OutputPin" />
        </Node>
        <Node Bounds="256,764,65,19" Id="R0ooEOm0p0ONJ5FtKU0UTT">
          <p:NodeReference LastCategoryFullName="Reactive" LastDependency="VL.CoreLib.vl">
            <Choice Kind="NodeFlag" Name="Node" Fixed="true" />
            <Choice Kind="ProcessAppFlag" Name="HoldLatest" />
          </p:NodeReference>
          <Pin Id="P3fTP0iwGHfQINttLOiB0S" Name="Node Context" Kind="InputPin" IsHidden="true" />
          <Pin Id="VRS5g5xuDmJMbeDimR4ctX" Name="Initial Result" Kind="InputPin" IsHidden="true" />
          <Pin Id="ScWF7SWXo1nL0uB32lyEOw" Name="Async Notifications" Kind="InputPin" />
          <Pin Id="FNiKgYwTRXNPwpdPSmqHzH" Name="Reset" Kind="InputPin" />
          <Pin Id="RPP6INdwPmoLmZR8X0JVqw" Name="Value" Kind="OutputPin" />
          <Pin Id="T2HJsnu6yomOMDj3zr6GbT" Name="On Data" Kind="OutputPin" />
        </Node>
        <ControlPoint Id="QXXlcwdEXHPPiAahhDG6RK" Bounds="391,870" />
      </Canvas>
      <Patch Id="IczOq3oh8BDOrRvo84RQsT" Name="Create" />
      <Patch Id="HNkEO8dOeaoORwdot8TK9P" Name="Update">
        <Pin Id="TVSacGS3D8MQYaSTpwgC48" Name="File" Kind="InputPin" />
        <Pin Id="N1OzUeZy8KmQKLmJTGMlg0" Name="Result" Kind="OutputPin" />
        <Pin Id="Mcf3K5VAkGTOQAcLRoYNxQ" Name="On Data" Kind="OutputPin" />
      </Patch>
      <ProcessDefinition Id="FVOaxyXgarBL4TaJCjT7Yr">
        <Fragment Id="VcC20Jf7v8RPDaRLk9BZwf" Patch="IczOq3oh8BDOrRvo84RQsT" Enabled="true" />
        <Fragment Id="IwfOrqguAdrPZqyUbBp53x" Patch="HNkEO8dOeaoORwdot8TK9P" Enabled="true" />
      </ProcessDefinition>
      <Link Id="MmS6DitbfqnP1DEg2YdnXW" Ids="R9sP502RBVdLOCZ8s1kbjh,NNwYR0IxkxcPHKEhJpeIvm" />
      <Link Id="P9pCuBZngEeOMc8KEckOy6" Ids="VJp30FYjN06MLJKeFgn1ry,PB1UWSfHFBBMUc0QjwoWA2" />
      <Link Id="GDRYDf3nNIJLPUd0pmQ5sa" Ids="TVSacGS3D8MQYaSTpwgC48,VJp30FYjN06MLJKeFgn1ry" IsHidden="true" />
      <Link Id="Lcj5mDT2wF3MMi5bJlf0NW" Ids="FNvvGBC3YbSOJJhICvDfMl,N1OzUeZy8KmQKLmJTGMlg0" IsHidden="true" />
      <Link Id="PQCLw7f1UW8OTF1piCwRVY" Ids="ODCa7tlNHt4NRf9n3Hru6J,VoTS1ICV8ChMdRN7dVekRL" IsHidden="true" />
      <Link Id="J4ZuhCrtAENP9DhTRpAb4U" Ids="IJ9xqF4mpckQDNMu0vlWhs,AZdvwf9juybNwdlHPNet58" IsHidden="true" />
      <Link Id="I6kWKDDL9NwPd9TrgZixDs" Ids="VJp30FYjN06MLJKeFgn1ry,P4I7U3ePwnHOc4HeScj17D" />
      <Link Id="NIfU9cW1a7hMOLYcg70jFi" Ids="TmMBiD1B0fGMvW4JjTw3HQ,UMBOM6yEUd5MiXj9eGcdVP" />
      <Link Id="LCKSVjXjXPYPiuA4asQKOF" Ids="TSS9IkIqKQKNN6JZzcKNQx,D3SqQK15EtKQcEvlT6RXpV" />
      <Link Id="AO47HgXlDLJOzLVw2lr5f9" Ids="JkiHQZSYzTdP3pmgHgLbAc,Kv4YjP6Usb1M0rqktj6daq" />
      <Link Id="I0TPUZK6vN2PDfRTg8tC7Z" Ids="HjMVefn25nQPITzyDcBuwu,U5VfUgWRAUWOUPrmtsXdrF" />
      <Link Id="Vmqg1PxPOpxL4mG79cl6Nz" Ids="Kv4YjP6Usb1M0rqktj6daq,IgswCMYulbYNBldev1Zyy2" />
      <Link Id="PMb9eKaNosPQFkWgnLThcx" Ids="UHuQcVASkxNPo4EoBXefoD,NtGzHT5nKH9NishGTpbPzC" />
      <Link Id="HtmFKY6PIUpOhafOgS1K7y" Ids="SEn2jK213yeOTsWWxnNo9s,UejBrNSZJRMMUhRd4BWz73" />
      <Link Id="GHaYP9WgUvZMb1LDuStzd6" Ids="Cm15N96YCuYOhdjdm8Ph4Y,IJ9xqF4mpckQDNMu0vlWhs" />
      <Link Id="I5twTAetrzDP09wYPqakh7" Ids="ChxpGvMP257MubXLTcMdrK,ScWF7SWXo1nL0uB32lyEOw" />
      <Link Id="S64StcMCwdNOwnYj8ZrZSz" Ids="RPP6INdwPmoLmZR8X0JVqw,FNvvGBC3YbSOJJhICvDfMl" />
      <Link Id="HNrJPUKQh9ZPyf2Ngp42jo" Ids="T2HJsnu6yomOMDj3zr6GbT,QXXlcwdEXHPPiAahhDG6RK" />
      <Link Id="A51KzX8kyEBPFlIUnNBAgf" Ids="QXXlcwdEXHPPiAahhDG6RK,Mcf3K5VAkGTOQAcLRoYNxQ" IsHidden="true" />
      <Link Id="G5bnWybxclANfpD0hjubfd" Ids="Jr5xLyvGtszQE4Ud1JG1Z9,Kl2ri2FvVgeQCvOn6Bt2Ha" />
    </Patch>
  </Node>
  <NugetDependency Id="SVrcDjR5005N5Zr34GrO7u" Location="VL.CoreLib" Version="2024.6.7-0231-g72d24a2a7e" />
  <NugetDependency Id="KZZIm4ZG9atQUMh6h3SvVd" Location="VL.Audio" Version="1.9.1" />
  <PlatformDependency Id="S8VP3NrOB3SLgpSuXIJ3OC" Location="VL.Audio.dll" />
  <NugetDependency Id="KryhSjM3HraLUoZM5akYWz" Location="NAudio.Core" Version="2.2.1" />
</Canvas>

Audio playback works fine on my side.

It works for me with ASIO (but not WASAPI).

AudioFileLength you posted above works for me ootb, just pasted it into a empty document and selected a file.

1 Like

bummer. but headsup: the inconvenient truth about dependencies: it’s more tricky than what meets the eyes. so let’s see:

the theory is: if you’re installing vvvv for the first time, it ships with all things it needs for itself. the nugets folder is empty. all the audio help patches should just work.

the confusing thing as we see in your second screenshot: VL.Audio.vl shows missing nugets even though it works. this is because it is shipping precompiled and has the individual .dlls it needs even though the nugets are not available as such. so yes, confusing, but let’s ignore it for now.

your first screenshot i cannot reproduce: when i install VL.Interpolator.Addons 1.1.9 and navigate to the file VL.Interpolator.Editor file, it doesn’t show a reference to NAudio.Core at all. can you be more specific about this?

you also seem to suggest that you get different behavior before preview 228 and after? can you demonstrate this in more detail please? what works before 228 that doesn’t work after?

true, it is not the idea that a “normal” user would have to install those. any nuget (like yours) that depends on them would have to install them. your VL.Interpolator.Addons e.g. doesn’t have such a dependency. is that maybe not correct? but here again it gets tricky: if you publish a vl pack with dependencies to e.g. NAudio (whose .dlls, not the package!) is shipping already with vvvv, you need to reference the exact version that the version of vvvv ships, which you want your pack to be compatible with. otherwise it might, or might not work. i know.

so as a pack developer it is best to release stable nugets against the latest stable of vvvv and if your pack requires other packs that also ship with vvvv, make sure to reference those exact versions also in your pack. and release preview nugets of your pack against vvvv previews, following the same idea. and then add info about your packs here: NuGet Compatibility Chart | vvvv gamma documentation

this shows that this definition requires NAudio.Core and if you don’t have it installed, you need to install it. remember: even though vvvv ships the NAudio .dlls for its own use, any pack not shipping with vvvv that needs it, needs to also install it.

hope this helps a bit.

@bjoern please try again making sure you have an empty nuget folder and no source packages active. if the problem persists, please start a new thread, it doesn’t seem related.

This issue is not related to VLInterpolator.Addons but in a comercial project contex.
I don’t know why you assume that.

right, so if your project needs this library, you need to install it.

The difference before and after 228 is that i have to install NAudio.Core 2.2.1 in order to have the provided patch running.
You say that i have to install NAudio.Core 2.2.1 manually, but this package is provided in the 228 release, isn’t it?
Why has it need to be installed manually?

Try to run the provided patch with a version previous than 228 and the 228 to se the difference.

I did it and it works, but just to clarify this.

@lasal we finally got to understand what most likely happened given your initial screenshot:

  • you’ve been creating a .vl doc with 6.7 preview <226 (which was using NAudio 2.0.1)
  • since you needed a reference to Naudio, you installed it and had it in your user nuget folder
  • you then opened that .vl with 6.7 preview >= 226 (which is using NAudio 2.2.1) and even though you had 2.0.1 installed, vvvv on startup would skip loading it (and log this as a warning) because vvvv internally already needs 2.2.1.

so now the editor was correctly showing you a missing reference. the simple solution (if we had understood this already) would have been: install the correct version of the NAudio pack (ie, the one that also ships with vvvv).

hope this helps understand the issue.

Thank you so much for clearing up a bit this topic.
From my understanding the whole package management should be more transparent and intuitive to use, and version depending.

Right now there is only a preview folder that has to be maintained by the user, creating the perfect scenario for problems and incompatible packages versions.

I believe you have already a solution for that, and i hope you will find the time to solve it soon.