annotate foosdk/sdk/foobar2000/SDK/chapterizer.cpp @ 1:20d02a178406 default tip

*: check in everything else yay
author Paper <paper@tflc.us>
date Mon, 05 Jan 2026 02:15:46 -0500
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
1 #include "foobar2000-sdk-pch.h"
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
2 #include "chapterizer.h"
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
3
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
4 void chapter_list::copy(const chapter_list & p_source)
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
5 {
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
6 t_size n, count = p_source.get_chapter_count();
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
7 set_chapter_count(count);
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
8 for(n=0;n<count;n++) set_info(n,p_source.get_info(n));
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
9 set_pregap(p_source.get_pregap());
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
10 }
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
11
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
12 #ifdef FOOBAR2000_HAVE_CHAPTERIZER
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
13
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
14 // {3F489088-6179-434e-A9DB-3A14A1B081AC}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
15 FOOGUIDDECL const GUID chapterizer::class_guid=
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
16 { 0x3f489088, 0x6179, 0x434e, { 0xa9, 0xdb, 0x3a, 0x14, 0xa1, 0xb0, 0x81, 0xac } };
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
17
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
18 bool chapterizer::g_find(service_ptr_t<chapterizer> & p_out,const char * p_path)
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
19 {
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
20 for (auto ptr : enumerate()) {
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
21 if (ptr->is_our_path(p_path)) {
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
22 p_out = ptr;
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
23 return true;
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
24 }
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
25 }
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
26 return false;
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
27 }
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
28
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
29 bool chapterizer::g_is_pregap_capable(const char * p_path) {
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
30 for (auto ptr : enumerate()) {
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
31 if (ptr->supports_pregaps() && ptr->is_our_path(p_path)) {
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
32 return true;
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
33 }
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
34 }
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
35 return false;
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
36 }
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
37
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
38 #endif
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
39