cassella / grip Goto Github PK
View Code? Open in Web Editor NEWThis project forked from dwest/grip
Coming to grips with git by gitting grip
License: GNU General Public License v2.0
This project forked from dwest/grip
Coming to grips with git by gitting grip
License: GNU General Public License v2.0
e.g. "Garbage - Version 2.0" and "Water - Rainmaker"
The default ripcmdline is
-d %c %t:[.%s]-%t:[.%e] %w
As it stands, %t gets replaced with the vtracknum, so the ripper is asked to rip something nonsensical.
Unfortunately, when vtracks are involved, the two %t may need to get different values.
The grip-internal libcdda_paranoia ripper works.
use adjustment for length or start relative to the current track, or the beginning of the disc, or?
In CDStat(), at "This loop finds the first track",
With this vtrackinfofile, after track 12 has finished, but before we've
started track 13, curr_frame can be 229230, almost 500 frames after it
should have stopped. The drive has stopped playing, so
CDAUDIO_NOSTATUS, but this loop leaves curr_track 13, and
UpdateDisplay() will think we've finished track 13, so it will skip to
the next track.
(b30c1b0d.vtrackinfo)
VTITLE12=Spaceman
VFRAMES12=PTRACK12-228763
VTITLE13=Bye
VFRAMES13=229214-PTRACK12
*/
current version and "first version that can read this"
If the UpdateGTK() in UpdateMultiArtist is removed, this stops happening. However, then the window does not shrink properly when the multi-artist edit button is clicked to remove the multi-artist box.
especially about spaces around the "-" and "=" in VFRAMES lines and deal with # other than as first character.
http://freeengineer.org/xmcd2make.html
Can just not show any edit box on rip, help, config, etc. pages.
Or could hide()/show() when trackset pages are selected.
Or set up the ripper to cope. And queue up multiple valbums.
Don't even want to think about trackset editing during ripping.
grip:ERROR:cdplay.c:2158:UpdateTracks: assertion failed: (uinfo->v_instance == NULL)
Program terminated with signal 6, Aborted.
#0 0xb6808537 in raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
64 ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
in ../nptl/sysdeps/unix/sysv/linux/raise.c
(gdb) i s
#0 0xb6808537 in raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1 0xb680b922 in abort () at abort.c:92
#2 0xb6a0c32f in g_assertion_message () from /lib/libglib-2.0.so.0
#3 0xb6a0c98d in g_assertion_message_expr () from /lib/libglib-2.0.so.0
#4 0x08055bd5 in UpdateTracks (ginfo=0xb5fc1008) at cdplay.c:2158
#5 0x0805a09d in UpdateDisplay (ginfo=0xb5fc1008) at cdplay.c:2038
#6 0x08050291 in GripUpdate (app=0x9e93040) at grip.c:762
#7 0x0804ed63 in TimeOut (data=0x0) at main.c:228
#8 0xb69e6a7c in ?? () from /lib/libglib-2.0.so.0
#9 0xb69e6305 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#10 0xb69e9fe8 in ?? () from /lib/libglib-2.0.so.0
#11 0xb69ea527 in g_main_loop_run () from /lib/libglib-2.0.so.0
#12 0xb6f29e19 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#13 0x0804ed45 in Cmain (argc=1, argv=0xbfaf48c4) at main.c:192
#14 0x0804eafb in main (ac=1, av=0xbfaf48c4) at cppmain.cc:16
I suspect it was this code in UpdateDisplay:
if(!ginfo->update_required) {
if(ginfo->have_disc) {
/* Allow disc time to spin down after ripping before checking for a new
disc. Some drives report no disc when spinning down. */
if(ginfo->rip_finished) {
if((time(NULL)-ginfo->rip_finished)>5) {
ginfo->rip_finished=0;
}}
if(!ginfo->rip_finished) {
CDStat(&ginfo->Disc,FALSE);
if(!disc->disc_present) {
ginfo->have_disc=FALSE;
ginfo->update_required=TRUE;
}}}}
Hypothesis: we set rip_finished in RipIsFinished(), but then it took long enough before we could actually tell the drive to stop that we didn't get the whole 5 seconds of waiting. (Or it took my drive more than 5 seconds to respond and spin down, and reported itself not present as per the comment.)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.