23 std::deque<pair<time_t, const char *>>
history;
37 impl->history_pos = 0;
50 if(
impl->history.size() != (
unsigned)
impl->history_pos) {
51 impl->history.resize(
impl->history_pos);
55 char *
data =
new char[len];
56 time_t now = time(
NULL);
60 impl->history.push_back(make_pair(now,
data));
62 if(
impl->history.size() >
impl->max_history_size)
64 delete[]
impl->history[0].second;
65 impl->history.pop_front();
75 for(
auto s :
impl->history)
76 printf(
"#%d type: %s dest: %s arguments: %s\n",
i++,
83 memset(
tmp, 0,
sizeof(
tmp));
137 delete [] elm.second;
151 long dest =
impl->history_pos + distance;
154 if(dest > (
long)
impl->history.size())
155 distance =
impl->history.size() -
impl->history_pos;
162 impl->rewind(
impl->history[--
impl->history_pos].second);
165 impl->replay(
impl->history[
impl->history_pos++].second);
170 return impl->history_pos;
175 return impl->history[
i].second;
180 return impl->history.size();
float arg(const fft_t *freqs, off_t x)
Definition OscilGen.cpp:58
void recordEvent(const char *msg)
Definition undo-history.cpp:45
unsigned getPos(void) const
Definition undo-history.cpp:168
const char * getHistory(int i) const
Definition undo-history.cpp:173
void showHistory(void) const
Definition undo-history.cpp:72
size_t size(void) const
Definition undo-history.cpp:178
void seekHistory(int distance)
Definition undo-history.cpp:144
class UndoHistoryImpl * impl
Definition undo-history.h:34
~UndoHistory(void)
Definition undo-history.cpp:40
UndoHistory(void)
Definition undo-history.cpp:34
void setCallback(std::function< void(const char *)> cb)
Definition undo-history.cpp:183
Definition undo-history.cpp:14
std::function< void(const char *)> cb
Definition undo-history.cpp:26
bool mergeEvent(time_t t, const char *msg, char *buf, size_t N)
Definition undo-history.cpp:107
long history_pos
Definition undo-history.cpp:24
UndoHistoryImpl(void)
Definition undo-history.cpp:16
std::deque< pair< time_t, const char * > > history
Definition undo-history.cpp:23
void clear(void)
Definition undo-history.cpp:134
void replay(const char *msg)
Definition undo-history.cpp:91
unsigned max_history_size
Definition undo-history.cpp:25
~UndoHistoryImpl(void)
Definition undo-history.cpp:19
void rewind(const char *msg)
Definition undo-history.cpp:81
struct huft * t
Definition inflate.c:943
register unsigned i
Definition inflate.c:1575
unsigned s
Definition inflate.c:1555
JSAMPIMAGE data
Definition jpeglib.h:945
const char * msg
Definition missing_descriptor.c:20
static char tmp[256]
Definition undo-history.cpp:80
osc_element< 1, rtMsg< Types... > >::type second(rtMsg< Types... > &Tuple)
Definition typed-message.h:159
osc_element< 0, rtMsg< Types... > >::type first(rtMsg< Types... > &Tuple)
Definition typed-message.h:152
const char * getUndoAddress(const char *msg)
Definition undo-history.cpp:102
#define N
Definition nseel-cfunc.c:36
size_t rtosc_message_length(const char *msg, size_t len)
Definition rtosc.c:848
size_t rtosc_amessage(char *buffer, size_t len, const char *address, const char *arguments, const rtosc_arg_t *args)
Definition rtosc.c:515
const char * rtosc_argument_string(const char *msg)
Definition rtosc.c:11
rtosc_arg_t rtosc_argument(const char *msg, unsigned idx)
Definition rtosc.c:732
const char * s
Definition rtosc.h:54
memcpy(hh, h, RAND_HEAD_LEN)
#define void
Definition unzip.h:396