public
Description: cmus fork for collecting patches from mailing list
Home | Edit | New

Home

Welcome to the cmus-unofficial wiki! Feel free to add anything here that you think is relevant.

If you’re looking for a way to contribute, look over Timo’s old TODO list Some of the things have been done already, but most are waiting for you to do them.

Here are some important ones:

} Reduce locking mess
} - make most of the code look like single threaded program by locking
}   editable_mutex in main thread and worker when needed
} - rename editable_mutex to main_mutex
} - worker should buffer a few track_infos, lock the mutex and add all
}   buffered tracks at once
} [...]
} Better format strings
} - conditionals
} - deprecate altformat_*
}
} Better command line parser (lots of work, breaks compatibility)
} - shell compatible escaping
} - allows binding multiple commands to one key
} [...]
} Much simplified player core
} - producer/consumer split was stupid idea
} - single threaded code would work better with simple buffer instead of
}   array of smaller buffers
} - communicate with main thread using pipe or unnamed socket (insane?)
} * no shared data => no mutexes
} * single select() in player thread instead of pthread conditional
}   with timeout _and_ select() => no wake-ups!
} * setting player options (especially plugin options) would be hard
Last edited by JasonWoof, Fri May 29 02:37:44 -0700 2009
Home | Edit | New
Versions: