Brugerdefinerede klip i udklipsholder og manuel redigering af klip

Jeg har ledt efter en guide til brugerdefinerede klip, men har ikke fundet en, og jeg støder på et spørgsmål om, hvordan det fungerer. Jeg bruger comskip manuelt før mine konverteringer og redigerer normalt den resulterende edl-fil, så jeg var interesseret, da jeg så brugerdefinerede klip, men det ser ikke ud til at gøre, hvad jeg vil.

Jeg åbner videoen, og EDL-filen indlæses samtidig. Så lad os sige, at jeg vælger række 2, jeg venstreklikker for at flytte skyderen, og justerer den efter behov. Jeg klikker på Start Cut og forventer, at det ændrer værdien i den række, jeg er i, men det gør det ikke. Det bedste, jeg kan finde ud af, er at fjerne rækken og tilføje en helt ny, men ved at gøre det mister jeg slutklipplaceringen, så det er ikke det værd.

Er der en måde at redigere værdierne via GUI’en, som jeg ikke ser? Hvis jeg kunne lave disse små justeringer og bare gemme den resulterende fil, ville det være perfekt.

Dette er blevet implementeret i dagens 2.5.3 BETA-build, du kan redigere cut-udvalgene manuelt.

Er ikke sikker på, det virker – i hvert fald ikke som forventet. Første punkt er lidt mindre, men når jeg åbner videoen, starter første klip ofte fint ved 0,00, så jeg klikker blot på Cut End, venter på at skyderen flytter sig, og justerer derefter – men jeg kan ikke trykke på cut end, fordi det lader til, at man først skal vælge start. Det kan jeg vel gøre.

Større problem: jeg flytter skyderen tilbage til 0, trykker start cut, klikker derefter på cut end, venter på at skyderen hopper til den aktuelle edl-værdi, justerer, men når jeg trykker End Cut-knappen, får jeg en popup: »Invalid End Cut – End of cut has to be after start cut«, hvilket det jo er, så jeg ved ikke, hvad problemet er. Tabellen viser Cut Start som 0,00 og Cut End som 00:01:23,980. Jeg står nu med End Cut-knappen aktiveret, og skyderen er flyttet til 00:03:12,988, men tryk på End Cut giver stadig popup’en. Fejlbeskeden er altså forkert, da start er 0.

For at ændre klippet skal du manuelt redigere klip-klokkeslættet ved at dobbeltklikke på den post, du ønsker at klippe.

Start og slut fungerer kun parvis for at tilføje nye klip; du skal have en start efterfulgt af en slut. Alle efterfølgende redigeringer skal foretages ved at redigere tabellen over klip manuelt.

Et forslag til fremtidige versioner – jeg er dog ikke sikker på, om det er muligt – men kunne man få det til, at hvis man klikker på starttiden (lige under videoen, ikke i tabellen), så kopieres den til udklipsholderen? Jeg har redigeret manuelt, men jeg arbejder ofte på en lille skærm og laver derfor mange slåfejl, og min hukommelse er elendig, så problemet er, at jeg glemmer tiderne; men så snart jeg begynder at redigere, ændres starttiden. På den måde kunne jeg kopiere værdien og blot indsætte den over den start- eller sluttid, jeg vil erstatte.

Tilføjet i dagens 2.5.3 BETA-build

Jeg har lige installeret det, men for mig crasher Custom Cuts, når jeg klikker på skyderen og derefter vil flytte med venstre/højre piletaster. Jeg klikker på skyderen for at give den fokus, prøver så at flytte med piletasten – intet sker, tidstælleren rører sig ikke, og efter 3-5 sekunder lukker vinduet bare uden besked.

Fra Hændelsesviser:
Application: MCEBuddy.CustomCutsGUI.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.Runtime.InteropServices.COMException
at System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32, IntPtr)
at System.Windows.Clipboard.Flush()
at System.Windows.Clipboard.CriticalSetDataObject(System.Object, Boolean)
at System.Windows.Clipboard.SetDataInternal(System.String, System.Object)
at MCEBuddy.CustomCutsGUI.MainWindow.timeSlider_KeyDown(System.Object, System.Windows.Input.KeyEventArgs)
at System.Windows.RoutedEventArgs.InvokeHandler(System.Delegate, System.Object)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(System.Object, System.Windows.RoutedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(System.Object, System.Windows.RoutedEventArgs, Boolean)
at System.Windows.UIElement.RaiseEventImpl(System.Windows.DependencyObject, System.Windows.RoutedEventArgs)
at System.Windows.UIElement.RaiseTrustedEvent(System.Windows.RoutedEventArgs)
at System.Windows.Input.InputManager.ProcessStagingArea()
at System.Windows.Input.InputManager.ProcessInput(System.Windows.Input.InputEventArgs)
at System.Windows.Input.InputProviderSite.ReportInput(System.Windows.Input.InputReport)
at System.Windows.Interop.HwndKeyboardInputProvider.ReportInput(IntPtr, System.Windows.Input.InputMode, Int32, System.Windows.Input.RawKeyboardActions, Int32, Boolean, Boolean, Int32)
at System.Windows.Interop.HwndKeyboardInputProvider.ProcessKeyAction(System.Windows.Interop.MSG ByRef, Boolean ByRef)
at System.Windows.Interop.HwndSource.CriticalTranslateAccelerator(System.Windows.Interop.MSG ByRef, System.Windows.Input.ModifierKeys)
at System.Windows.Interop.HwndSource.OnPreprocessMessage(System.Object)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32)
at System.Windows.Threading.Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority, System.Delegate, System.Object)
at System.Windows.Interop.HwndSource.OnPreprocessMessageThunk(System.Windows.Interop.MSG ByRef, Boolean ByRef)
at System.Windows.Interop.ThreadMessageEventHandler.Invoke(System.Windows.Interop.MSG ByRef, Boolean ByRef)
at System.Windows.Interop.ComponentDispatcherThread.RaiseThreadMessage(System.Windows.Interop.MSG ByRef)
at System.Windows.Threading.Dispatcher.PushFrameImpl(System.Windows.Threading.DispatcherFrame)
at System.Windows.Application.RunDispatcher(System.Object)
at System.Windows.Application.RunInternal(System.Windows.Window)
at MCEBuddy.CommercialCutsGenerator.App.Main()

Den fejl opstår, fordi din udklipsholder er låst af et andet program. Det burde ikke crashe alligevel, så tak for at du rapporterede det. Jeg har lavet en rettelse, der håndterer undtagelsen pænt og fortsætter.

Prøv den nye version.

Jeg måtte vente på, at en konvertering blev færdig. Nedbruddet opstår ikke længere, men jeg vil sige, at resultaterne ellers er blandede. Den pc, jeg brugte, er ikke den, jeg normalt bruger til brugerdefinerede klip; den var optaget med en optagelse, så jeg installerede på en anden. Efter installation og en genstart sker nedbruddet ikke, men jeg synes, udklipsholderen stadig vises som låst af en eller anden grund. Der er dog ikke andet åbent end MCEBuddy selv.
Jeg prøvede det også på den pc, jeg normalt bruger (efter min optagelse var færdig), og på denne maskine ser det ud til at fungere fint. Jeg åbner filen, justerer skyderen og klikker på tiden, og derefter kan jeg indsætte den. Så jeg er ikke sikker på, hvorfor den anden pc ikke vil samarbejde, men det kan påvirke andre. Jeg laver typisk klippene på min optagelses-pc, da brugerdefinerede klip ser ud til at køre bedre performancemæssigt end på min konverteringsboks. Samme OS, men forskellig grafik. Den, der virker, bruger onboard Intel-grafik, den der ikke virker, bruger et AMD Radeon R9 200-serien. Jeg er ikke sikker på, om det burde have nogen betydning, men hopning fra sted til sted i en ts-video indlæses hurtigere på Intel-onboard.

Bemærkede en lille fejl med kopiering af tiden. Hvis du ruller skyderen helt til højre, kopieres tiden ikke, når du klikker på den – du ender bare med det, der sidst var på udklipsholderen. Det kopierer dog, når skyderen er helt til venstre, f.eks. får du 00:00:00.000. I begge tilfælde klikker jeg på tidsfeltet til venstre, så vidt jeg kan se, kopierer klik på højre side aldrig.